bh@216: # Copyright (C) 2007, 2008, 2009 by Intevation GmbH bh@216: # Authors: bh@216: # Bernhard Herzog bh@216: # bh@216: # This program is free software under the GPL (>=v2) bh@216: # Read the file COPYING coming with the software for details. bh@216: bh@216: """Base classes for all kdepim packagers""" bh@216: bh@216: import os bh@216: import time bh@216: import inspect bh@265: import logging bh@216: bh@216: import treepkg.packager bh@265: import treepkg.subversion bh@265: bh@278: import recipes.kde_enterprise_3_5.base as base35 bh@265: bh@278: class BaseSourcePackager(base35.BaseSourcePackager): bh@216: aheinecke@335: changemsg_template = "Update to SVN enterprise4 branch rev. %(revision)s" bh@274: bh@216: bh@278: BasePackageTrack = base35.BasePackageTrack bh@267: bh@216: bh@216: def define_kdepim_packager(basename=None, external_subdirs=None): bh@216: bh@216: caller_globals = inspect.currentframe().f_back.f_globals bh@216: bh@216: SourcePackager = caller_globals.get("SourcePackager") bh@216: if SourcePackager is None: bh@216: class SourcePackager(BaseSourcePackager): bh@216: pkg_basename = basename bh@216: bh@216: class RevisionPackager(treepkg.packager.RevisionPackager): bh@216: source_packager_cls = SourcePackager bh@216: bh@216: class PackageTrack(BasePackageTrack): bh@216: revision_packager_cls = RevisionPackager bh@216: bh@216: if external_subdirs is not None: bh@216: svn_external_subdirs = external_subdirs bh@216: bh@216: caller_globals["PackageTrack"] = PackageTrack