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())
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)