diff recipes/kde_enterprise_4/base.py @ 278:354fc60d90a4

Reuse most of the code from recipes/kde_enterprise_3_5/base.py for enterprise4
author Bernhard Herzog <bh@intevation.de>
date Thu, 07 May 2009 16:55:06 +0000
parents f3dee156e3e3
children 85eb9425c346
line wrap: on
line diff
--- a/recipes/kde_enterprise_4/base.py	Thu May 07 16:02:23 2009 +0000
+++ b/recipes/kde_enterprise_4/base.py	Thu May 07 16:55:06 2009 +0000
@@ -15,77 +15,14 @@
 import treepkg.packager
 import treepkg.subversion
 
+import recipes.kde_enterprise_3_5.base as base35
 
-class BaseSourcePackager(treepkg.packager.SourcePackager):
+class BaseSourcePackager(base35.BaseSourcePackager):
 
     changemsg_template = "Update to SVN enterprise4 branch rev. %(revision)d"
 
-    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 prepare_sources_for_tarball(self, pkgbasedir, pkgbaseversion):
-        self.update_version_numbers(pkgbasedir)
-
-    def update_version_numbers(self, pkgbasedir):
-        """Updates the version numbers in the code in pkgbasedir.
-        The default implementation does nothing.  Derived classes should
-        override this method if necessary.
-        """
-
-
-class BasePackageTrack(treepkg.packager.PackageTrack):
-
-    extra_config_desc = ["version_template",
-                         ("tags_url", str, ""),
-                         ("tags_pattern", str, ""),
-                         ("tags_subdir", str, "")]
 
-    def __init__(self, *args, **kw):
-        self.version_template = kw.pop("version_template")
-        tags_url = kw.pop("tags_url")
-        tags_pattern = kw.pop("tags_pattern")
-        tags_subdir = kw.pop("tags_subdir")
-        super(BasePackageTrack, self).__init__(*args, **kw)
-        self.tag_detector = treepkg.subversion.TagDetector(tags_url,
-                                                           tags_pattern,
-                                                           tags_subdir)
-
-    def packager_for_new_revision(self):
-        logging.info("Checking tags")
-        self.tag_url = None
-        tag_url, tag_revision = self.tag_detector.newest_tag_revision()
-        logging.info("Found: %s: %s", tag_url, tag_revision)
-        if tag_url is not None:
-            revision = (tag_revision,
-                        self.rules_working_copy.last_changed_revision())
-            logging.info("New revision is %s", revision)
-            if revision not in self.get_revision_numbers():
-                logging.info("Revision %s has not been packaged yet",
-                             revision)
-                self.tag_url = tag_url
-                return self.revision_packager_cls(self, tag=tag_url, *revision)
-            else:
-                logging.info("Revision %s has already been packaged.",
-                             revision)
-
-        return super(BasePackageTrack, self).packager_for_new_revision()
-
-    def export_sources(self, to_dir):
-        if self.tag_url is not None:
-            self.export_tag(self.tag_url, to_dir)
-        else:
-            super(BasePackageTrack, self).export_sources(to_dir)
-
-    def export_tag(self, tag_url, to_dir):
-        logging.info("Exporting sources from %s to %r",
-                     tag_url, to_dir)
-        treepkg.subversion.export(tag_url, to_dir)
+BasePackageTrack = base35.BasePackageTrack
 
 
 def define_kdepim_packager(basename=None, external_subdirs=None):
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)