annotate recipes/kde_enterprise_4/kde_l10n.py @ 296:ce7be2fb93ee

Make it easy to install extra binaries into subdirectories of extra-pkg. This makes it easier to manage the extra-pkg directory when it contains manually added packages and automatically added packages from one of the package tracks by putting the automatically added packages into extra-pkg/auto and manually added packages into extra-pkg/manual. To this end, add parameter subdir to PBuilder.add_binaries_to_extra_pkg method with default value "auto". Adapt the test case accordingly. Also add the command line argument --subdir to bin/treepkgbuilder.py add-binaries command, this time with default value "manual".
author Bernhard Herzog <bh@intevation.de>
date Wed, 18 Nov 2009 18:11:22 +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)
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)