# HG changeset patch # User Bernhard Herzog # Date 1220643839 0 # Node ID e868c6818f8cafe8d97db99168368059eeb88e97 # Parent b1525ac52e27af5012f51e49a124c14fe856b394 Add recipes for KDEPIM enterprise 4 packages diff -r b1525ac52e27 -r e868c6818f8c recipes/kde_enterprise_4/kdebase.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/recipes/kde_enterprise_4/kdebase.py Fri Sep 05 19:43:59 2008 +0000 @@ -0,0 +1,73 @@ +# Copyright (C) 2007, 2008 by Intevation GmbH +# Authors: +# Bernhard Herzog +# +# This program is free software under the GPL (>=v2) +# Read the file COPYING coming with the software for details. + +"""Build kdebase debian packages from the kdepim/enterprise4 branch.""" + +import os +import time +import re + +import treepkg.util +import treepkg.packager + + +class SourcePackager(treepkg.packager.SourcePackager): + + pkg_basename = "kdebase" + + def __init__(self, *args, **kw): + super(SourcePackager, self).__init__(*args, **kw) + self.enterprise_version = (time.strftime("%Y%m%d", time.localtime()) \ + + "." + str(self.revision)) + + def kdebase_version(self, directory): + """Determine the kdebase version. + + The version is taken from the kdebase.lsm file. + """ + return treepkg.util.extract_lsm_version(os.path.join(directory, + "kdebase.lsm")) + + 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() + + 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 RevisionPackager(treepkg.packager.RevisionPackager): + + source_packager_cls = SourcePackager + + +class PackageTrack(treepkg.packager.PackageTrack): + + svn_external_subdirs = ["workspace/kwin/clients/ozone/lib", + "workspace/kwin/clients/oxygen/lib"] + + extra_config_desc = ["version_template"] + + revision_packager_cls = RevisionPackager + + def __init__(self, *args, **kw): + self.version_template = kw.pop("version_template") + super(PackageTrack, self).__init__(*args, **kw) diff -r b1525ac52e27 -r e868c6818f8c recipes/kde_enterprise_4/kdelibs.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/recipes/kde_enterprise_4/kdelibs.py Fri Sep 05 19:43:59 2008 +0000 @@ -0,0 +1,62 @@ +# Copyright (C) 2007, 2008 by Intevation GmbH +# Authors: +# Bernhard Herzog +# +# This program is free software under the GPL (>=v2) +# Read the file COPYING coming with the software for details. + +"""Build kdelibs debian packages from the kdepim/enterprise4 branch.""" + +import os +import time +import re + +import treepkg.util +import treepkg.packager + + +class SourcePackager(treepkg.packager.SourcePackager): + + pkg_basename = "kde4libs" + + def __init__(self, *args, **kw): + super(SourcePackager, 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() + + 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 RevisionPackager(treepkg.packager.RevisionPackager): + + source_packager_cls = SourcePackager + + +class PackageTrack(treepkg.packager.PackageTrack): + + extra_config_desc = ["version_template"] + + revision_packager_cls = RevisionPackager + + def __init__(self, *args, **kw): + self.version_template = kw.pop("version_template") + super(PackageTrack, self).__init__(*args, **kw) diff -r b1525ac52e27 -r e868c6818f8c recipes/kde_enterprise_4/kdepim.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/recipes/kde_enterprise_4/kdepim.py Fri Sep 05 19:43:59 2008 +0000 @@ -0,0 +1,81 @@ +# Copyright (C) 2007, 2008 by Intevation GmbH +# Authors: +# Bernhard Herzog +# +# This program is free software under the GPL (>=v2) +# Read the file COPYING coming with the software for details. + +"""Packager that builds KDE-PIM debian packages from the enterprise35 branch. +""" + +import os +import time +import re + +import treepkg.util +import treepkg.packager + + +class SourcePackager(treepkg.packager.SourcePackager): + + pkg_basename = "kdepim" + + def __init__(self, *args, **kw): + super(SourcePackager, 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 update_version_numbers(self, pkgbasedir): + """Overrides the inherited method to update version numbers in the code + """ + return + versionstring = "(enterprise35 %s)" % self.enterprise_version + failed = [] + for versionfile in ["kmail/kmversion.h", "kontact/src/main.cpp", + "korganizer/version.h"]: + if not treepkg.util.replace_in_file(os.path.join(pkgbasedir, + versionfile), + "\(enterprise35 ([^)]*)\)", + versionstring): + failed.append(versionfile) + if failed: + raise RuntimeError("kdepim: failed to update version numbers in %s" + % (", ".join(failed),)) + + def do_package(self): + pkgbaseversion, pkgbasedir = self.export_sources() + self.update_version_numbers(pkgbasedir) + + pkgbasename = "kdepim_" + 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 enterprise35 branch rev. %d" + % (self.revision,)) + self.copy_debian_directory(pkgbasedir, pkgbaseversion, + changemsg) + + self.create_source_package(pkgbasedir, origtargz) + self.move_source_package(pkgbasename) + + +class RevisionPackager(treepkg.packager.RevisionPackager): + + source_packager_cls = SourcePackager + + +class PackageTrack(treepkg.packager.PackageTrack): + + extra_config_desc = ["version_template"] + + revision_packager_cls = RevisionPackager + + def __init__(self, *args, **kw): + self.version_template = kw.pop("version_template") + super(PackageTrack, self).__init__(*args, **kw) diff -r b1525ac52e27 -r e868c6818f8c recipes/kde_enterprise_4/kdepimlibs.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/recipes/kde_enterprise_4/kdepimlibs.py Fri Sep 05 19:43:59 2008 +0000 @@ -0,0 +1,62 @@ +# Copyright (C) 2007, 2008 by Intevation GmbH +# Authors: +# Bernhard Herzog +# +# This program is free software under the GPL (>=v2) +# Read the file COPYING coming with the software for details. + +"""Build kdepimlibs debian packages from the kdepim/enterprise4 branch.""" + +import os +import time +import re + +import treepkg.util +import treepkg.packager + + +class SourcePackager(treepkg.packager.SourcePackager): + + pkg_basename = "kdepimlibs" + + def __init__(self, *args, **kw): + super(SourcePackager, 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() + + 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 RevisionPackager(treepkg.packager.RevisionPackager): + + source_packager_cls = SourcePackager + + +class PackageTrack(treepkg.packager.PackageTrack): + + extra_config_desc = ["version_template"] + + revision_packager_cls = RevisionPackager + + def __init__(self, *args, **kw): + self.version_template = kw.pop("version_template") + super(PackageTrack, self).__init__(*args, **kw)