# HG changeset patch # User Bernhard Herzog # Date 1204641088 0 # Node ID 66cbfc772f84e5d62295b36c94017ce62a4e720c # Parent b4226070371fad51715fee00c802295f85bc643d Add bin/inittreepkg.py, a script to automate some of the installation and some support code for in in the packager classes. diff -r b4226070371f -r 66cbfc772f84 bin/inittreepkg.py --- /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 +# +# 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() diff -r b4226070371f -r 66cbfc772f84 enterprise/kdei18n.py --- 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,)) diff -r b4226070371f -r 66cbfc772f84 treepkg/packager.py --- 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())