Mercurial > treepkg
annotate recipes/kde_enterprise_4/base.py @ 557:9824e409388b
Refactor git branching
If a checkout is already available and the branch is changed in
the config git command would always fail because it doesn't know
the branch to track. Therefore always check if the branch is
locally available and if not checkout the remote branch
author | Bjoern Ricks <bricks@intevation.de> |
---|---|
date | Fri, 02 Sep 2011 08:45:28 +0000 |
parents | 85eb9425c346 |
children |
rev | line source |
---|---|
216
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
1 # Copyright (C) 2007, 2008, 2009 by Intevation GmbH |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
2 # Authors: |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
3 # Bernhard Herzog <bh@intevation.de> |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
4 # |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
5 # This program is free software under the GPL (>=v2) |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
6 # Read the file COPYING coming with the software for details. |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
7 |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
8 """Base classes for all kdepim packagers""" |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
9 |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
10 import os |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
11 import time |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
12 import inspect |
265
9c0131d2e0e1
Add automatic detection and builds of svn tags for the kdepim enterprise4
Bernhard Herzog <bh@intevation.de>
parents:
216
diff
changeset
|
13 import logging |
216
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
14 |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
15 import treepkg.packager |
265
9c0131d2e0e1
Add automatic detection and builds of svn tags for the kdepim enterprise4
Bernhard Herzog <bh@intevation.de>
parents:
216
diff
changeset
|
16 import treepkg.subversion |
9c0131d2e0e1
Add automatic detection and builds of svn tags for the kdepim enterprise4
Bernhard Herzog <bh@intevation.de>
parents:
216
diff
changeset
|
17 |
278
354fc60d90a4
Reuse most of the code from recipes/kde_enterprise_3_5/base.py for enterprise4
Bernhard Herzog <bh@intevation.de>
parents:
276
diff
changeset
|
18 import recipes.kde_enterprise_3_5.base as base35 |
265
9c0131d2e0e1
Add automatic detection and builds of svn tags for the kdepim enterprise4
Bernhard Herzog <bh@intevation.de>
parents:
216
diff
changeset
|
19 |
278
354fc60d90a4
Reuse most of the code from recipes/kde_enterprise_3_5/base.py for enterprise4
Bernhard Herzog <bh@intevation.de>
parents:
276
diff
changeset
|
20 class BaseSourcePackager(base35.BaseSourcePackager): |
216
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
21 |
335
85eb9425c346
Updated recipes to reflect that Subversion revsisons are handled as strings
Andre Heinecke <aheinecke@intevation.de>
parents:
278
diff
changeset
|
22 changemsg_template = "Update to SVN enterprise4 branch rev. %(revision)s" |
274
2676abfc0e1d
Refactoring: Implement do_package in treepkg.packager.SourcePackager.
Bernhard Herzog <bh@intevation.de>
parents:
273
diff
changeset
|
23 |
216
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
24 |
278
354fc60d90a4
Reuse most of the code from recipes/kde_enterprise_3_5/base.py for enterprise4
Bernhard Herzog <bh@intevation.de>
parents:
276
diff
changeset
|
25 BasePackageTrack = base35.BasePackageTrack |
267
fdee17d71778
Refactor the enterprise4 BasePackageTrack to make it possible to
Bernhard Herzog <bh@intevation.de>
parents:
265
diff
changeset
|
26 |
216
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
27 |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
28 def define_kdepim_packager(basename=None, external_subdirs=None): |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
29 |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
30 caller_globals = inspect.currentframe().f_back.f_globals |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
31 |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
32 SourcePackager = caller_globals.get("SourcePackager") |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
33 if SourcePackager is None: |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
34 class SourcePackager(BaseSourcePackager): |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
35 pkg_basename = basename |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
36 |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
37 class RevisionPackager(treepkg.packager.RevisionPackager): |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
38 source_packager_cls = SourcePackager |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
39 |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
40 class PackageTrack(BasePackageTrack): |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
41 revision_packager_cls = RevisionPackager |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
42 |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
43 if external_subdirs is not None: |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
44 svn_external_subdirs = external_subdirs |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
45 |
89ca9ba349e5
New module with code common to almost all kdepim enterprise 4 recipes
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
46 caller_globals["PackageTrack"] = PackageTrack |