annotate recipes/kde_enterprise_4/kde_l10n.py @ 258:bb98e728f25b

Allow default values for individual options to be passed to read_config_section. The default value can now be passed as a third item in a tuple used in the section description passed to read_config_section. The predefined option descriptions have been updated to use this new mechanism and the global defaults variable is not needed anymore. Also, indivdual PackageTrack classes can now use this mechanism to specify defaults for their additional configuration options.
author Bernhard Herzog <bh@intevation.de>
date Fri, 17 Apr 2009 18:48:58 +0000
parents 766df0172f0b
children e5e23c3acaea
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
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
17
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
18 class SubversionSubset(object):
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 """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
21
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
22 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
23 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
24 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
25 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
26 """
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
27
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
28 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
29 self.baseurl = baseurl
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
30 self.localdir = localdir
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
31 self.subdirectories = subdirectories
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
32
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
33 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
34 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
35 if len(desc) == 2:
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
36 subdir, recurse = desc
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
37 else:
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
38 subdir = desc[0]
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
39 recurse = True
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
40 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
41
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
42 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
43 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
44 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
45 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
46 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
47 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
48 else:
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
49 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
50 " 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
51 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
52 recurse=recurse)
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
53
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
54 def export(self, destdir):
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
55 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
56 subdir = desc[0]
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
57 subversion.export(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
58 os.path.join(destdir, subdir))
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
59
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
60 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
61 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
62 desc[0]))
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
63 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
64
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
65
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
66
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
67 class SourcePackager(treepkg.packager.SourcePackager):
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
68
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
69 """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
70
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
71 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
72 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
73 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
74 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
75 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
76 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
77
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
78 kde-l10n-<version>/
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
79 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
80
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
81 <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
82 """
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
83
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
84 pkg_basename = "kde-l10n"
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
85
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
86 createtarball_script = """\
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
87 #! /bin/bash
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
88 set -e
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
89
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
90 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
91
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
92 # 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
93 # 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
94 # 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
95 # treepkg
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
96 workdir=/tmp/work
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
97 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
98 cd $workdir
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
99
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
100 # 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
101 echo de > subdirs
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 # create the CMakeFiles
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
104 ./scripts/autogen.sh
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
105 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
106 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
107 """
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
108
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
109
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
110 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
111 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
112 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
113 + "." + str(self.revision))
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
114
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
115 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
116 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
117 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
118
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
119 def create_l10n_de_tarball(self, pkgbaseversion, pkgbasedir):
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
120 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
121 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
122 "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
123 # 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
124 # scripts/autogen.sh
211
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
125 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
126 % 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
127 basedir=pkgbasedir, version=pkgbaseversion))
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
128 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
129 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
130 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
131 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
132 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
133 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
134 "tarball_log.txt"),
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
135 bindmounts=[self.work_dir])
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
136 return de_tarball
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
137
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
138 def do_package(self):
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
139 pkgbaseversion, pkgbasedir = self.export_sources()
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
140 de_tarball = self.create_l10n_de_tarball(pkgbaseversion, pkgbasedir)
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
141 shutil.rmtree(pkgbasedir)
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
142
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
143 os.mkdir(pkgbasedir)
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
144 pkgbasename = self.pkg_basename + "_" + pkgbaseversion
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
145 origtargz = 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
146 pkgbasename + ".orig.tar.gz")
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
147 os.rename(de_tarball,
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
148 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
149 self.create_tarball(origtargz, self.work_dir,
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
150 os.path.basename(pkgbasedir))
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
151
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
152 changemsg = ("Update to SVN enterprise4 branch rev. %d"
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
153 % (self.revision,))
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
154 self.copy_debian_directory(pkgbasedir, pkgbaseversion, changemsg)
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 self.create_source_package(pkgbasedir, origtargz)
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
157 self.move_source_package(pkgbasename)
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
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
160 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
161
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
162 source_packager_cls = SourcePackager
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
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
165 class PackageTrack(treepkg.packager.PackageTrack):
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
166
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
167 extra_config_desc = ["version_template"]
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
168
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
169 revision_packager_cls = RevisionPackager
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
170
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
171 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
172 self.version_template = kw.pop("version_template")
225
93301afac8d4 Adapt enterprise_4 kde_l10n recipe to treepkg changes
Bernhard Herzog <bh@intevation.de>
parents: 211
diff changeset
173 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
174 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
175 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
176 subdirectories= [("", False),
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
177 ("de",),
56aa89c588a1 Add more KDEPIM Enterprise 4 recipes: l10n, kdebase_runtime, kdebase_workspace
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
178 ("scripts",)])
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)