Mercurial > treepkg
annotate bin/inittreepkg.py @ 191:94fb3f3ab58b
When building a subset of tracks, make sure new packages are added to
pbuilder even if the tracks that depend on them are not being built. To
achieve this, the information which tracks are to be built is now stored
as the do_build flag in the individual tracks and not by passing only a
subset of the tracks ot the PackagerGroup. Otherwise the PackagerGroup
would not determine the dependencies correctly.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Wed, 30 Jul 2008 19:23:10 +0000 |
parents | 66cbfc772f84 |
children | 1fcdffbeb9de |
rev | line source |
---|---|
106
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
1 #! /usr/bin/python2.4 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
2 # Copyright (C) 2007, 2008 by Intevation GmbH |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
3 # Authors: |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
4 # Bernhard Herzog <bh@intevation.de> |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
5 # |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
6 # This program is free software under the GPL (>=v2) |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
7 # Read the file COPYING coming with the software for details. |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
8 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
9 """Script to partially initialize the tree packager |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
10 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
11 The script assumes that the config file for the tree packager already |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
12 contains the settings for the individual packagers. This script will at |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
13 least create the base directory for all packagers configured in the |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
14 configuration file and perhaps do other checks and initializations |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
15 depending on the packager classes used. The output indicates what has |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
16 been done and what still needs to be done manually. |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
17 """ |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
18 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
19 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
20 import treepkgcmd |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
21 from treepkg.options import create_parser |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
22 from treepkg.packager import create_package_track, PackagerGroup |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
23 from treepkg.readconfig import read_config |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
24 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
25 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
26 def init_treepkg(config_file): |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
27 treepkg_opts, packager_opts = read_config(config_file) |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
28 group = PackagerGroup([create_package_track(**opts) |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
29 for opts in packager_opts], |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
30 **treepkg_opts) |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
31 for track in group.get_package_tracks(): |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
32 track.init_treepkg() |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
33 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
34 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
35 def parse_commandline(): |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
36 parser = create_parser() |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
37 return parser.parse_args() |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
38 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
39 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
40 def main(): |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
41 options, args = parse_commandline() |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
42 init_treepkg(options.config_file) |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
43 |
66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
44 main() |