annotate README @ 50:225206553bba

update README part about pbuilder config
author Bernhard Herzog <bh@intevation.de>
date Tue, 03 Apr 2007 11:24:48 +0200
parents bad59cd04f34
children b52779523392
rev   line source
42
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
1 README for TreePackager
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
2 =======================
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
3 2007-03-19, Bernhard Herzog <bh@intevation.de>
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
4
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
5
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
6 TreePackager is a tool to automatically build debian packages from SVN.
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
7
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
8
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
9 Prerequisites
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
10 -------------
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
11
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
12 You need the following software to run TreePackager. In the list below,
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
13 parentheses contain the name of the corresponding package in Debian Etch
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
14 if its not the same as the software. The version required is usually
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
15 the one from debian etch.
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
16
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
17 Python 2.4 (python2.4-minimal)
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
18 Debian devscripts (devscripts)
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
19 subversion
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
20 pbuilder
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
21 sudo
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
22 bzip2
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
23
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
24 For the web front-end you also need the following software:
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
25
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
26 Genshi (python-genshi)
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
27 CherryPy (python-cherrypy)
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
28
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
29 Some of the packagers require additional software. The KDEPIM
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
30 enterprise branch packagers require the following additional software:
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
31
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
32 autoconf2.13
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
33 automake1.9
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
34
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
35
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
36 Installation
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
37 ------------
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
38
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
39 You can run the tree packager itself directly from the source tree.
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
40 However, you need to configure it first and setup pbuilder.
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
41
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
42
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
43 Configuration
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
44 -------------
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
45
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
46 To understand the configuration, first a few notes about the
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
47 architecture of TreePackager. The TreePackager consist of one program
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
48 that periodically updates svn working directories and if something has
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
49 changed, builds a new debian package from the working directory. The
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
50 program should run as a normal user. The sample configuration assumes
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
51 that it's the user "builder" with a home directory "/home/builder". The
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
52 default configuration manages a directory tree under
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
53 "/home/builder/enterprise".
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
54
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
55 The binary packages are built with pbuilder. Because pbuilder uses a
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
56 chroot environment to build the packages, it must be run as root. The
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
57 tree packager therefore needs a way to run pbuilder as root even though
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
58 itself runs as a non-root user. By default the tree packager uses sudo,
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
59 so you have to setup sudo to allow the tree packager user to invoke
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
60 pbuilder without a password. This can be accomplished with the
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
61 following line in /etc/sudoers (using the default user name):
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
62
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
63 builder ALL = NOPASSWD: /usr/sbin/pbuilder
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
64
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
65
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
66 Configure TreePackager
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
67 ~~~~~~~~~~~~~~~~~~~~~~
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
68
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
69 The file demo.cfg contains example configuration that contains most of
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
70 what is needed to package KDEPIM and kde-i18n from the KDEPIM enterprise
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
71 branch. Copy this file to treepkg.cfg and adapt it to your needs. The
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
72 comments in the file should provide enough hints to get you started.
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
73
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
74
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
75 Configure pbuilder
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
76 ~~~~~~~~~~~~~~~~~~
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
77
50
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
78 It's best to give the tree packager its own pbuilder configuration and
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
79 directories. The default configuration uses a "pbuilder" subdirectory
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
80 in /home/builder/enterprise. If you have created the treepkg.cfg file
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
81 with at least one packager and the correct root_cmd and pbuilderrc
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
82 options (the defaults for both should be OK if you use sudo as described
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
83 above), you can create the directories, the pbuilder configuration and
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
84 the chroot environment with the script initpbuilder.py like this:
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
85
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
86 ./initpbuilder.py --mirrorsite=<URL of preferred debian mirror>
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
87
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
88 You can specify some more mirrors with the --othermirror option. For
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
89 more information run "./initpbuilder.py --help" and consult the pbuilder
225206553bba update README part about pbuilder config
Bernhard Herzog <bh@intevation.de>
parents: 42
diff changeset
90 documentation.
42
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
91
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
92
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
93 Configure the web front-end
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
94 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
95
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
96 The default configuration should be OK in most cases. If you want you
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
97 can customize it in cherrypy.cfg. Start the web front-end with
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
98
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
99 ./starttreepkgweb.py
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
100
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
101 starttreepkgweb has some options to specify which configuration files to use.
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)