bh@211: # Copyright (C) 2007, 2008 by Intevation GmbH bh@211: # Authors: bh@211: # Bernhard Herzog bh@211: # bh@211: # This program is free software under the GPL (>=v2) bh@211: # Read the file COPYING coming with the software for details. bh@211: bh@211: """Build kdebase_runtime debian packages from the kdepim/enterprise4 branch.""" bh@211: bh@211: import os bh@211: import time bh@211: import re bh@211: bh@211: import treepkg.util bh@211: import treepkg.packager bh@211: bh@211: bh@211: class SourcePackager(treepkg.packager.SourcePackager): bh@211: bh@211: pkg_basename = "kdebase-runtime" bh@211: bh@211: def __init__(self, *args, **kw): bh@211: super(SourcePackager, self).__init__(*args, **kw) bh@211: self.enterprise_version = (time.strftime("%Y%m%d", time.localtime()) \ bh@211: + "." + str(self.revision)) bh@211: bh@211: def determine_package_version(self, directory): bh@211: enterprise_version = self.enterprise_version bh@211: return self.track.version_template % locals() bh@211: bh@211: def do_package(self): bh@211: pkgbaseversion, pkgbasedir = self.export_sources() bh@211: bh@211: pkgbasename = self.pkg_basename + "_" + pkgbaseversion bh@211: origtargz = os.path.join(self.work_dir, bh@211: pkgbasename + ".orig.tar.gz") bh@211: self.create_tarball(origtargz, self.work_dir, bh@211: os.path.basename(pkgbasedir)) bh@211: bh@211: changemsg = ("Update to SVN enterprise4 branch rev. %d" bh@211: % (self.revision,)) bh@211: self.copy_debian_directory(pkgbasedir, pkgbaseversion, bh@211: changemsg) bh@211: bh@211: self.create_source_package(pkgbasedir, origtargz) bh@211: self.move_source_package(pkgbasename) bh@211: bh@211: bh@211: class RevisionPackager(treepkg.packager.RevisionPackager): bh@211: bh@211: source_packager_cls = SourcePackager bh@211: bh@211: bh@211: class PackageTrack(treepkg.packager.PackageTrack): bh@211: bh@211: extra_config_desc = ["version_template"] bh@211: bh@211: revision_packager_cls = RevisionPackager bh@211: bh@211: def __init__(self, *args, **kw): bh@211: self.version_template = kw.pop("version_template") bh@211: super(PackageTrack, self).__init__(*args, **kw)