Mercurial > treepkg
comparison README @ 49:38d66dc6a1e5
merge
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Mon, 02 Apr 2007 20:48:25 +0200 |
parents | bad59cd04f34 |
children | 225206553bba |
comparison
equal
deleted
inserted
replaced
48:aed3869ac04a | 49:38d66dc6a1e5 |
---|---|
1 README for TreePackager | |
2 ======================= | |
3 2007-03-19, Bernhard Herzog <bh@intevation.de> | |
4 | |
5 | |
6 TreePackager is a tool to automatically build debian packages from SVN. | |
7 | |
8 | |
9 Prerequisites | |
10 ------------- | |
11 | |
12 You need the following software to run TreePackager. In the list below, | |
13 parentheses contain the name of the corresponding package in Debian Etch | |
14 if its not the same as the software. The version required is usually | |
15 the one from debian etch. | |
16 | |
17 Python 2.4 (python2.4-minimal) | |
18 Debian devscripts (devscripts) | |
19 subversion | |
20 pbuilder | |
21 sudo | |
22 bzip2 | |
23 | |
24 For the web front-end you also need the following software: | |
25 | |
26 Genshi (python-genshi) | |
27 CherryPy (python-cherrypy) | |
28 | |
29 Some of the packagers require additional software. The KDEPIM | |
30 enterprise branch packagers require the following additional software: | |
31 | |
32 autoconf2.13 | |
33 automake1.9 | |
34 | |
35 | |
36 Installation | |
37 ------------ | |
38 | |
39 You can run the tree packager itself directly from the source tree. | |
40 However, you need to configure it first and setup pbuilder. | |
41 | |
42 | |
43 Configuration | |
44 ------------- | |
45 | |
46 To understand the configuration, first a few notes about the | |
47 architecture of TreePackager. The TreePackager consist of one program | |
48 that periodically updates svn working directories and if something has | |
49 changed, builds a new debian package from the working directory. The | |
50 program should run as a normal user. The sample configuration assumes | |
51 that it's the user "builder" with a home directory "/home/builder". The | |
52 default configuration manages a directory tree under | |
53 "/home/builder/enterprise". | |
54 | |
55 The binary packages are built with pbuilder. Because pbuilder uses a | |
56 chroot environment to build the packages, it must be run as root. The | |
57 tree packager therefore needs a way to run pbuilder as root even though | |
58 itself runs as a non-root user. By default the tree packager uses sudo, | |
59 so you have to setup sudo to allow the tree packager user to invoke | |
60 pbuilder without a password. This can be accomplished with the | |
61 following line in /etc/sudoers (using the default user name): | |
62 | |
63 builder ALL = NOPASSWD: /usr/sbin/pbuilder | |
64 | |
65 | |
66 Configure TreePackager | |
67 ~~~~~~~~~~~~~~~~~~~~~~ | |
68 | |
69 The file demo.cfg contains example configuration that contains most of | |
70 what is needed to package KDEPIM and kde-i18n from the KDEPIM enterprise | |
71 branch. Copy this file to treepkg.cfg and adapt it to your needs. The | |
72 comments in the file should provide enough hints to get you started. | |
73 | |
74 | |
75 Configure pbuilder | |
76 ~~~~~~~~~~~~~~~~~~ | |
77 | |
78 Currently the tree packager assumes that pbuilder has already been set up | |
79 and that the default configuration is suitable for the purposes the tree | |
80 packager instance. Normally, the default way of setting up sudo should | |
81 be OK. There is one important interaction with sudo that you need to be | |
82 aware of, though: when the user builder starts pbuilder via sudo, | |
83 pbuilder uses ~builder/.pbuilderrc as its standard configuration file. | |
84 | |
85 | |
86 Configure the web front-end | |
87 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
88 | |
89 The default configuration should be OK in most cases. If you want you | |
90 can customize it in cherrypy.cfg. Start the web front-end with | |
91 | |
92 ./starttreepkgweb.py | |
93 | |
94 starttreepkgweb has some options to specify which configuration files to use. |