[Treepkg-commits] r142 - trunk/recipes/kde_enterprise_4
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Tue Jan 6 17:01:11 CET 2009
Author: bh
Date: 2009-01-06 17:01:11 +0100 (Tue, 06 Jan 2009)
New Revision: 142
Added:
trunk/recipes/kde_enterprise_4/base.py
Log:
New module with code common to almost all kdepim enterprise 4 recipes
Added: trunk/recipes/kde_enterprise_4/base.py
===================================================================
--- trunk/recipes/kde_enterprise_4/base.py 2009-01-05 16:57:04 UTC (rev 141)
+++ trunk/recipes/kde_enterprise_4/base.py 2009-01-06 16:01:11 UTC (rev 142)
@@ -0,0 +1,74 @@
+# Copyright (C) 2007, 2008, 2009 by Intevation GmbH
+# Authors:
+# Bernhard Herzog <bh at intevation.de>
+#
+# This program is free software under the GPL (>=v2)
+# Read the file COPYING coming with the software for details.
+
+"""Base classes for all kdepim packagers"""
+
+import os
+import time
+import inspect
+
+import treepkg.packager
+
+
+class BaseSourcePackager(treepkg.packager.SourcePackager):
+
+ def __init__(self, *args, **kw):
+ super(BaseSourcePackager, self).__init__(*args, **kw)
+ self.enterprise_version = (time.strftime("%Y%m%d", time.localtime()) \
+ + "." + str(self.revision))
+
+ def determine_package_version(self, directory):
+ enterprise_version = self.enterprise_version
+ return self.track.version_template % locals()
+
+ def do_package(self):
+ pkgbaseversion, pkgbasedir = self.export_sources()
+ self.update_version_numbers(pkgbasedir)
+
+ pkgbasename = self.pkg_basename + "_" + pkgbaseversion
+ origtargz = os.path.join(self.work_dir,
+ pkgbasename + ".orig.tar.gz")
+ self.create_tarball(origtargz, self.work_dir,
+ os.path.basename(pkgbasedir))
+
+ changemsg = ("Update to SVN enterprise4 branch rev. %d"
+ % (self.revision,))
+ self.copy_debian_directory(pkgbasedir, pkgbaseversion,
+ changemsg)
+
+ self.create_source_package(pkgbasedir, origtargz)
+ self.move_source_package(pkgbasename)
+
+
+class BasePackageTrack(treepkg.packager.PackageTrack):
+
+ extra_config_desc = ["version_template"]
+
+ def __init__(self, *args, **kw):
+ self.version_template = kw.pop("version_template")
+ super(BasePackageTrack, self).__init__(*args, **kw)
+
+
+def define_kdepim_packager(basename=None, external_subdirs=None):
+
+ caller_globals = inspect.currentframe().f_back.f_globals
+
+ SourcePackager = caller_globals.get("SourcePackager")
+ if SourcePackager is None:
+ class SourcePackager(BaseSourcePackager):
+ pkg_basename = basename
+
+ class RevisionPackager(treepkg.packager.RevisionPackager):
+ source_packager_cls = SourcePackager
+
+ class PackageTrack(BasePackageTrack):
+ revision_packager_cls = RevisionPackager
+
+ if external_subdirs is not None:
+ svn_external_subdirs = external_subdirs
+
+ caller_globals["PackageTrack"] = PackageTrack
Property changes on: trunk/recipes/kde_enterprise_4/base.py
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
More information about the Treepkg-commits
mailing list