Mercurial > treepkg
changeset 106:66cbfc772f84
Add bin/inittreepkg.py, a script to automate some of the installation
and some support code for in in the packager classes.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Tue, 04 Mar 2008 14:31:28 +0000 |
parents | b4226070371f |
children | 38aeaa34fa8c |
files | bin/inittreepkg.py enterprise/kdei18n.py treepkg/packager.py |
diffstat | 3 files changed, 58 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/inittreepkg.py Tue Mar 04 14:31:28 2008 +0000 @@ -0,0 +1,44 @@ +#! /usr/bin/python2.4 +# Copyright (C) 2007, 2008 by Intevation GmbH +# Authors: +# Bernhard Herzog <bh@intevation.de> +# +# This program is free software under the GPL (>=v2) +# Read the file COPYING coming with the software for details. + +"""Script to partially initialize the tree packager + +The script assumes that the config file for the tree packager already +contains the settings for the individual packagers. This script will at +least create the base directory for all packagers configured in the +configuration file and perhaps do other checks and initializations +depending on the packager classes used. The output indicates what has +been done and what still needs to be done manually. +""" + + +import treepkgcmd +from treepkg.options import create_parser +from treepkg.packager import create_package_track, PackagerGroup +from treepkg.readconfig import read_config + + +def init_treepkg(config_file): + treepkg_opts, packager_opts = read_config(config_file) + group = PackagerGroup([create_package_track(**opts) + for opts in packager_opts], + **treepkg_opts) + for track in group.get_package_tracks(): + track.init_treepkg() + + +def parse_commandline(): + parser = create_parser() + return parser.parse_args() + + +def main(): + options, args = parse_commandline() + init_treepkg(options.config_file) + +main()
--- a/enterprise/kdei18n.py Tue Mar 04 14:18:56 2008 +0000 +++ b/enterprise/kdei18n.py Tue Mar 04 14:31:28 2008 +0000 @@ -137,3 +137,8 @@ self.orig_tarball = kw.pop("orig_tarball") super(PackageTrack, self).__init__(*args, **kw) + def init_treepkg(self): + super(PackageTrack, self).init_treepkg() + if not os.path.exists(self.orig_tarball): + print ("TODO: The orig_tarball %s still has to be created" + % (self.orig_tarball,))
--- a/treepkg/packager.py Tue Mar 04 14:18:56 2008 +0000 +++ b/treepkg/packager.py Tue Mar 04 14:31:28 2008 +0000 @@ -304,6 +304,15 @@ debian_dir = _filenameproperty("debian") pkg_dir = _filenameproperty("pkg") + def init_treepkg(self): + print "Initializing", self.name + if not os.path.exists(self.base_dir): + print "creating %s" % (self.base_dir,) + util.ensure_directory(self.base_dir) + if not os.path.exists(self.debian_dir): + print ("TODO: the debian directory %s still has to be created" + % (self.debian_dir,)) + def pkg_dir_for_revision(self, revision, increment): return os.path.join(self.pkg_dir, self.pkg_dir_template % locals())