Mercurial > treepkg
annotate recipes/kde_enterprise_4/kde_l10n.py @ 310:26c15a0f0e52
When stopping because of an error, do not raise the exception again as
it leads to confusing double tracebacks in the log. Instead, simply log
the reason for the stopping and stop in the same way a stop instruction
is handled.
author | Bernhard Herzog <bh@intevation.de> |
---|---|
date | Wed, 02 Dec 2009 14:46:37 +0000 |
parents | 32b09a9b92ba |
children |
rev | line source |
---|---|
225
93301afac8d4
Adapt enterprise_4 kde_l10n recipe to treepkg changes
Bernhard Herzog <bh@intevation.de>
parents:
211
diff
changeset
|
1 # Copyright (C) 2007, 2008, 2009 by Intevation GmbH |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
2 # Authors: |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
3 # Bernhard Herzog <bh@intevation.de> |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
4 # |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
5 # This program is free software under the GPL (>=v2) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
6 # Read the file COPYING coming with the software for details. |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
7 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
8 import os |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
9 import logging |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
10 import shutil |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
11 import time |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
12 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
13 import treepkg.packager |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
14 import treepkg.util |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
15 import treepkg.subversion as subversion |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
16 |
279
32b09a9b92ba
Use BaseSourcePackager to build enterprise4 kde_l10n, moving the package
Bernhard Herzog <bh@intevation.de>
parents:
272
diff
changeset
|
17 from base import BaseSourcePackager, BasePackageTrack |
270
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
18 |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
19 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
20 class SubversionSubset(object): |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
21 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
22 """Manage a subversion working copy that contains a subset of a repository |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
23 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
24 The SVN repository for the enterprise 4 l10n sources contains all |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
25 languages. Only a small subset of those languages are actually |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
26 maintained, though. This class provides a way to manage a working |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
27 copy that contains only the part that actually need to be packaged. |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
28 """ |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
29 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
30 def __init__(self, baseurl, localdir, subdirectories): |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
31 self.baseurl = baseurl |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
32 self.localdir = localdir |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
33 self.subdirectories = subdirectories |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
34 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
35 def update_or_checkout(self, revision=None): |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
36 for desc in self.subdirectories: |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
37 if len(desc) == 2: |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
38 subdir, recurse = desc |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
39 else: |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
40 subdir = desc[0] |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
41 recurse = True |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
42 self.update_or_checkout_subdir(subdir, revision, recurse=recurse) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
43 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
44 def update_or_checkout_subdir(self, subdir, revision, recurse): |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
45 localdir = os.path.join(self.localdir, subdir) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
46 svn_url = self.baseurl + subdir |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
47 if os.path.exists(localdir): |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
48 logging.info("Updating the working copy in %r", localdir) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
49 subversion.update(localdir, revision=revision, recurse=recurse) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
50 else: |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
51 logging.info("The working copy in %r doesn't exist yet." |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
52 " Checking out from %r", localdir, svn_url) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
53 subversion.checkout(svn_url, localdir, revision=revision, |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
54 recurse=recurse) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
55 |
270
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
56 def export(self, destdir, url=None): |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
57 if url is not None: |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
58 baseurl = url |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
59 else: |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
60 baseurl = self.localdir |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
61 for desc in self.subdirectories: |
270
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
62 if len(desc) == 2: |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
63 subdir, recurse = desc |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
64 else: |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
65 subdir = desc[0] |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
66 recurse = True |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
67 subversion.export(os.path.join(baseurl, subdir), |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
68 os.path.join(destdir, subdir), |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
69 recurse=recurse) |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
70 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
71 def last_changed_revision(self): |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
72 return max([subversion.last_changed_revision(os.path.join(self.localdir, |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
73 desc[0])) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
74 for desc in self.subdirectories]) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
75 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
76 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
77 |
279
32b09a9b92ba
Use BaseSourcePackager to build enterprise4 kde_l10n, moving the package
Bernhard Herzog <bh@intevation.de>
parents:
272
diff
changeset
|
78 class SourcePackager(BaseSourcePackager): |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
79 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
80 """Creates the debian source package for the l10n files |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
81 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
82 This is a bit more complicated than for other packages. The |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
83 orig.tar.gz file of the debian source package contains one .tar.bz2 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
84 file for every language. Those .tar.bz files are the kde-18n-<lang> |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
85 files released by the KDE project. For now, we only have the German |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
86 localization in the enterprise source package, so the orig.tar.gz |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
87 file will have the following contents: |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
88 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
89 kde-l10n-<version>/ |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
90 kde-l10n-<version>/kde-l10n-de-<version>.tar.bz2 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
91 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
92 <version> is the same everywhere. |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
93 """ |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
94 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
95 pkg_basename = "kde-l10n" |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
96 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
97 createtarball_script = """\ |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
98 #! /bin/bash |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
99 set -e |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
100 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
101 apt-get --assume-yes --force-yes install %(builddeps)s |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
102 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
103 # copy the source tree to a directory that's under pbuilder control so |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
104 # that it gets removed along with the build environment. Otherwise we |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
105 # end up with a directory containing files that cannot be removed by |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
106 # treepkg |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
107 workdir=/tmp/work |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
108 cp -a %(basedir)s $workdir |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
109 cd $workdir |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
110 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
111 # only handle the de subdirectory |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
112 echo de > subdirs |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
113 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
114 # create the CMakeFiles |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
115 ./scripts/autogen.sh |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
116 mv de kde-l10n-de-%(version)s |
226
766df0172f0b
Adapt enterprise_4 kde_l10n recipe to changes in debian lenny
Bernhard Herzog <bh@intevation.de>
parents:
225
diff
changeset
|
117 tar cjf %(tarball)s kde-l10n-de-%(version)s |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
118 """ |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
119 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
120 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
121 def __init__(self, *args, **kw): |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
122 super(SourcePackager, self).__init__(*args, **kw) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
123 self.enterprise_version = (time.strftime("%Y%m%d", time.localtime()) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
124 + "." + str(self.revision)) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
125 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
126 def determine_package_version(self, directory): |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
127 enterprise_version = self.enterprise_version |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
128 return self.track.version_template % locals() |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
129 |
279
32b09a9b92ba
Use BaseSourcePackager to build enterprise4 kde_l10n, moving the package
Bernhard Herzog <bh@intevation.de>
parents:
272
diff
changeset
|
130 def create_l10n_de_tarball(self, pkgbasedir, pkgbaseversion): |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
131 logging.info("Creating kde-l10n-de tarball") |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
132 de_tarball = os.path.join(self.work_dir, |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
133 "kde-l10n-de-" + pkgbaseversion + ".tar.bz2") |
226
766df0172f0b
Adapt enterprise_4 kde_l10n recipe to changes in debian lenny
Bernhard Herzog <bh@intevation.de>
parents:
225
diff
changeset
|
134 # xutils-dev is needed for the revpath script used by |
766df0172f0b
Adapt enterprise_4 kde_l10n recipe to changes in debian lenny
Bernhard Herzog <bh@intevation.de>
parents:
225
diff
changeset
|
135 # scripts/autogen.sh |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
136 script = (self.createtarball_script |
226
766df0172f0b
Adapt enterprise_4 kde_l10n recipe to changes in debian lenny
Bernhard Herzog <bh@intevation.de>
parents:
225
diff
changeset
|
137 % dict(builddeps="xutils-dev", tarball=de_tarball, |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
138 basedir=pkgbasedir, version=pkgbaseversion)) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
139 script_name = os.path.join(self.work_dir, "createtarball") |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
140 treepkg.util.writefile(script_name, script, 0755) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
141 treepkg.util.ensure_directory(self.src_dir) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
142 treepkg.util.ensure_directory(self.log_dir) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
143 self.track.builder.run_script([script_name], |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
144 logfile=os.path.join(self.log_dir, |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
145 "tarball_log.txt"), |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
146 bindmounts=[self.work_dir]) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
147 return de_tarball |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
148 |
279
32b09a9b92ba
Use BaseSourcePackager to build enterprise4 kde_l10n, moving the package
Bernhard Herzog <bh@intevation.de>
parents:
272
diff
changeset
|
149 def prepare_sources_for_tarball(self, pkgbasedir, pkgbaseversion): |
32b09a9b92ba
Use BaseSourcePackager to build enterprise4 kde_l10n, moving the package
Bernhard Herzog <bh@intevation.de>
parents:
272
diff
changeset
|
150 de_tarball = self.create_l10n_de_tarball(pkgbasedir, pkgbaseversion) |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
151 shutil.rmtree(pkgbasedir) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
152 os.mkdir(pkgbasedir) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
153 os.rename(de_tarball, |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
154 os.path.join(pkgbasedir, os.path.basename(de_tarball))) |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
155 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
156 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
157 class RevisionPackager(treepkg.packager.RevisionPackager): |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
158 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
159 source_packager_cls = SourcePackager |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
160 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
161 |
270
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
162 class PackageTrack(BasePackageTrack): |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
163 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
164 revision_packager_cls = RevisionPackager |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
165 |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
166 def __init__(self, *args, **kw): |
225
93301afac8d4
Adapt enterprise_4 kde_l10n recipe to treepkg changes
Bernhard Herzog <bh@intevation.de>
parents:
211
diff
changeset
|
167 svn_url = kw["svn_url"] |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
168 super(PackageTrack, self).__init__(*args, **kw) |
225
93301afac8d4
Adapt enterprise_4 kde_l10n recipe to treepkg changes
Bernhard Herzog <bh@intevation.de>
parents:
211
diff
changeset
|
169 self.working_copy = SubversionSubset(svn_url, self.checkout_dir, |
211
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
170 subdirectories= [("", False), |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
171 ("de",), |
56aa89c588a1
Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff
changeset
|
172 ("scripts",)]) |
270
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
173 |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
174 def export_tag(self, tag_url, to_dir): |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
175 logging.info("Exporting sources from %s to %r", |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
176 tag_url, to_dir) |
e5e23c3acaea
Add tag detection to the enterprise4 kde-l10n packager by using
Bernhard Herzog <bh@intevation.de>
parents:
226
diff
changeset
|
177 self.working_copy.export(to_dir, url=tag_url) |