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