annotate README @ 69:b52779523392

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