# HG changeset patch # User Bernhard Herzog # Date 1241715306 0 # Node ID 354fc60d90a42ebc5f6f3558b9493399295bafcd # Parent 4441aff001ace1c94f5a81553abeb35c18c61505 Reuse most of the code from recipes/kde_enterprise_3_5/base.py for enterprise4 diff -r 4441aff001ac -r 354fc60d90a4 recipes/kde_enterprise_4/base.py --- 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):