annotate bin/inittreepkg.py @ 131:bea9f1cc0bef

Try to determine dependencies only when treepkg is fully configured. That is, don't try to parse debian/control if the debian directory does not exist, a situation that most likely happens when running bin/inittreepkg.py to configure the tree packager instance.
author Bernhard Herzog <bh@intevation.de>
date Fri, 23 May 2008 17:44:15 +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()
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)