bh@216: # Copyright (C) 2007, 2008, 2009 by Intevation GmbH
bh@216: # Authors:
bh@216: # Bernhard Herzog <bh@intevation.de>
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: 
bh@274:     changemsg_template = "Update to SVN enterprise4 branch rev. %(revision)d"
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