Mercurial > treepkg
annotate recipes/kde_enterprise_4/kdepim.py @ 274:2676abfc0e1d
Refactoring: Implement do_package in treepkg.packager.SourcePackager.
The actual implementation in the derived classes is almost identical in
all cases so it's better to have as much of the implementation in the
base class. The update_version_numbers method is not called directly by
the base class code so is removed from the base class. OTOH,
prepare_sources_for_tarball has been added as a more general variant of
update_version_numbers that is actually called by the default
implementation of do_package.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Thu, 07 May 2009 15:19:15 +0000 |
parents | 024b309c0520 |
children |
rev | line source |
---|---|
221
024b309c0520
Use the recipes.kde_enterprise_4.base module to define the kdepim packager
Bernhard Herzog <bh@intevation.de>
parents:
214
diff
changeset
|
1 # Copyright (C) 2007, 2008, 2009 by Intevation GmbH |
204
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
2 # Authors: |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
3 # Bernhard Herzog <bh@intevation.de> |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
4 # |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
5 # This program is free software under the GPL (>=v2) |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
6 # Read the file COPYING coming with the software for details. |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
7 |
221
024b309c0520
Use the recipes.kde_enterprise_4.base module to define the kdepim packager
Bernhard Herzog <bh@intevation.de>
parents:
214
diff
changeset
|
8 """Build kdepim debian packages from the kdepim/enterprise4 branch. |
204
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
9 """ |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
10 |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
11 import os |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
12 |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
13 import treepkg.util |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
14 |
221
024b309c0520
Use the recipes.kde_enterprise_4.base module to define the kdepim packager
Bernhard Herzog <bh@intevation.de>
parents:
214
diff
changeset
|
15 import base |
204
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
16 |
221
024b309c0520
Use the recipes.kde_enterprise_4.base module to define the kdepim packager
Bernhard Herzog <bh@intevation.de>
parents:
214
diff
changeset
|
17 class SourcePackager(base.BaseSourcePackager): |
204
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
18 |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
19 pkg_basename = "kdepim" |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
20 |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
21 def update_version_numbers(self, pkgbasedir): |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
22 """Overrides the inherited method to update version numbers in the code |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
23 """ |
214
4307e25d2afe
Activate version number patching for KDEPIM enterprise4 packages.
Bernhard Herzog <bh@intevation.de>
parents:
204
diff
changeset
|
24 versionstring = "(enterprise4 %s)" % self.enterprise_version |
204
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
25 failed = [] |
214
4307e25d2afe
Activate version number patching for KDEPIM enterprise4 packages.
Bernhard Herzog <bh@intevation.de>
parents:
204
diff
changeset
|
26 for versionfile in ["kaddressbook/kabcore.cpp", |
4307e25d2afe
Activate version number patching for KDEPIM enterprise4 packages.
Bernhard Herzog <bh@intevation.de>
parents:
204
diff
changeset
|
27 "kmail/kmversion.h", |
4307e25d2afe
Activate version number patching for KDEPIM enterprise4 packages.
Bernhard Herzog <bh@intevation.de>
parents:
204
diff
changeset
|
28 "kontact/src/main.cpp", |
204
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
29 "korganizer/version.h"]: |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
30 if not treepkg.util.replace_in_file(os.path.join(pkgbasedir, |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
31 versionfile), |
214
4307e25d2afe
Activate version number patching for KDEPIM enterprise4 packages.
Bernhard Herzog <bh@intevation.de>
parents:
204
diff
changeset
|
32 "\(enterprise4 ([^)]*)\)", |
204
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
33 versionstring): |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
34 failed.append(versionfile) |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
35 if failed: |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
36 raise RuntimeError("kdepim: failed to update version numbers in %s" |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
37 % (", ".join(failed),)) |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
38 |
e868c6818f8c
Add recipes for KDEPIM enterprise 4 packages
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
39 |
221
024b309c0520
Use the recipes.kde_enterprise_4.base module to define the kdepim packager
Bernhard Herzog <bh@intevation.de>
parents:
214
diff
changeset
|
40 base.define_kdepim_packager() |