annotate README @ 42:bad59cd04f34

add README
author Bernhard Herzog <bh@intevation.de>
date Mon, 19 Mar 2007 17:19:59 +0100
parents
children 225206553bba
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
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
78 Currently the tree packager assumes that pbuilder has already been set up
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
79 and that the default configuration is suitable for the purposes the tree
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
80 packager instance. Normally, the default way of setting up sudo should
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
81 be OK. There is one important interaction with sudo that you need to be
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
82 aware of, though: when the user builder starts pbuilder via sudo,
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
83 pbuilder uses ~builder/.pbuilderrc as its standard configuration file.
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
84
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
85
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
86 Configure the web front-end
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
87 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
88
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
89 The default configuration should be OK in most cases. If you want you
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
90 can customize it in cherrypy.cfg. Start the web front-end with
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
91
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
92 ./starttreepkgweb.py
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
93
bad59cd04f34 add README
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
94 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)