[Treepkg-commits] r340 - in tags: . 20100707 20100707/bin 20100707/recipes 20100707/recipes/kde/enterprise 20100707/recipes/kde/maemo 20100707/test 20100707/treepkg 20100707/web
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Wed Jul 7 12:13:20 CEST 2010
Author: bricks
Date: 2010-07-07 12:13:19 +0200 (Wed, 07 Jul 2010)
New Revision: 340
Added:
tags/20100707/
tags/20100707/COPYING
tags/20100707/README
tags/20100707/bin/
tags/20100707/cherrypy.cfg
tags/20100707/demo.cfg
tags/20100707/demonotification.cfg
tags/20100707/demopublishpackages.cfg
tags/20100707/demostaticweb.cfg
tags/20100707/notification-template.txt
tags/20100707/recipes/
tags/20100707/recipes/kde/enterprise/generic.py
tags/20100707/recipes/kde/enterprise/kde_l10n.py
tags/20100707/recipes/kde/enterprise/kde_l10n_tags.py
tags/20100707/recipes/kde/maemo/kde_l10n.py
tags/20100707/recipes/kde/maemo/kde_l10n_tags.py
tags/20100707/test/
tags/20100707/treepkg/
tags/20100707/web/
Removed:
tags/20100707/recipes/kde/enterprise/generic.py
tags/20100707/recipes/kde/enterprise/kde_l10n.py
tags/20100707/recipes/kde/enterprise/kde_l10n_tags.py
tags/20100707/recipes/kde/maemo/generic.py
tags/20100707/recipes/kde/maemo/kde_l10n.py
tags/20100707/recipes/kde/maemo/kde_l10n_tags.py
tags/20100707/recipes/kde/maemo/tags.py
Log:
created tag from current trunk
Copied: tags/20100707/COPYING (from rev 336, trunk/COPYING)
Property changes on: tags/20100707/COPYING
___________________________________________________________________
Name: svn:mergeinfo
+
Name: svn:eol-style
+ native
Copied: tags/20100707/README (from rev 336, trunk/README)
Property changes on: tags/20100707/README
___________________________________________________________________
Name: svn:mergeinfo
+
Name: svn:eol-style
+ native
Copied: tags/20100707/bin (from rev 336, trunk/bin)
Property changes on: tags/20100707/bin
___________________________________________________________________
Name: svn:ignore
+ *.pyc
Name: svn:mergeinfo
+
Copied: tags/20100707/cherrypy.cfg (from rev 336, trunk/cherrypy.cfg)
Property changes on: tags/20100707/cherrypy.cfg
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: tags/20100707/demo.cfg (from rev 336, trunk/demo.cfg)
Property changes on: tags/20100707/demo.cfg
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: tags/20100707/demonotification.cfg (from rev 336, trunk/demonotification.cfg)
Property changes on: tags/20100707/demonotification.cfg
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: tags/20100707/demopublishpackages.cfg (from rev 336, trunk/demopublishpackages.cfg)
Property changes on: tags/20100707/demopublishpackages.cfg
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: tags/20100707/demostaticweb.cfg (from rev 336, trunk/demostaticweb.cfg)
Property changes on: tags/20100707/demostaticweb.cfg
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: tags/20100707/notification-template.txt (from rev 336, trunk/notification-template.txt)
Property changes on: tags/20100707/notification-template.txt
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ native
Copied: tags/20100707/recipes (from rev 336, trunk/recipes)
Property changes on: tags/20100707/recipes
___________________________________________________________________
Name: svn:ignore
+ *.pyc
Name: svn:mergeinfo
+
Deleted: tags/20100707/recipes/kde/enterprise/generic.py
===================================================================
--- trunk/recipes/kde/enterprise/generic.py 2010-06-21 13:06:51 UTC (rev 336)
+++ tags/20100707/recipes/kde/enterprise/generic.py 2010-07-07 10:13:19 UTC (rev 340)
@@ -1,142 +0,0 @@
-# Copyright (C) 2007 - 2010 by Intevation GmbH
-# Authors:
-# Bernhard Herzog <bh at intevation.de>
-# Bjoern Ricks <bjoern.ricks at intevation.de>
-#
-# This program is free software under the GPL (>=v2)
-# Read the file COPYING coming with the software for details.
-
-"""Base classes for all kde entperprise packagers"""
-
-import re
-import time
-import logging
-
-import treepkg.packager
-import treepkg.subversion as subversion
-
-
-class SourcePackager(treepkg.packager.SourcePackager):
-
- def __init__(self, *args, **kw):
- super(SourcePackager, self).__init__(*args, **kw)
- self.enterprise_version = (self.parent.pkg_date + "."
- + str(self.revision))
-
- def determine_package_version(self, directory):
- enterprise_version = self.enterprise_version
- return self.track.version_template % locals()
-
- def prepare_sources_for_tarball(self, pkgbasedir, pkgbaseversion):
- self.update_version_numbers(pkgbasedir)
-
- def update_version_numbers(self, pkgbasedir):
- """Updates the version numbers in the code in pkgbasedir.
- The default implementation does nothing. Derived classes should
- override this method if necessary.
- """
-
-
-class RevisionPackager(treepkg.packager.RevisionPackager):
-
- source_packager_cls = SourcePackager
-
- def __init__(self, *args, **kw):
- self.pkg_date = kw.pop("pkg_date",
- time.strftime("%Y%m%d", time.localtime()))
- super(RevisionPackager, self).__init__(*args, **kw)
-
-
-class PackageTrack(treepkg.packager.PackageTrack):
-
- revision_packager_cls = RevisionPackager
-
- extra_config_desc = [("tags_url", str, ""),
- ("tags_pattern", str, ""),
- ("tags_subdir", str, ""),
- ("tags_rules_subdir", str, "")]
-
- def __init__(self, *args, **kw):
- tags_url = kw.pop("tags_url")
- tags_pattern = kw.pop("tags_pattern")
- tags_subdir = kw.pop("tags_subdir")
- tags_rules_subdir = kw.pop("tags_rules_subdir")
- super(PackageTrack, self).__init__(*args, **kw)
- self.tag_detector = subversion.TagDetector(tags_url, tags_pattern,
- tags_subdir)
- self.tag_rules_detector = subversion.TagDetector(tags_url, tags_pattern,
- tags_rules_subdir)
- self.found_tag_rules = False
- if tags_rules_subdir:
- self.found_tag_rules = True
-
- def packager_for_new_revision(self):
- logging.info("Checking tags")
- self.tag_url = None
- self.use_tag_rules = self.found_tag_rules
- tag_url, tag_revision = self.tag_detector.newest_tag_revision()
- tag_rules_url, tag_rules_revision = self.tag_rules_detector.newest_tag_revision()
- logging.info("Found: %s: %s", tag_url, tag_revision)
- logging.info("Found rules: %s: %s", tag_rules_url, tag_rules_revision)
- if self.use_tag_rules and tag_rules_url is None:
- self.use_tag_rules = False # maybe it's better to raise an exception
- if tag_url is not None:
- if not self.use_tag_rules:
- tag_rules_revision = self.rules_working_copy.last_changed_revision()
- revision = (tag_revision, tag_rules_revision)
- logging.info("New revision is %s", revision)
- if revision not in self.get_revision_numbers():
- logging.info("Revision %s has not been packaged yet",
- revision)
- self.tag_url = tag_url
- self.tag_revision = tag_revision
- self.tag_rules_url = tag_rules_url
- self.tag_rules_revision = tag_rules_revision
- tag_date, tag_change_count = self.tag_pkg_parameters(tag_url)
- pkg_revision = (self.pkg_revision_template
- % dict(pkg_revision=tag_change_count,
- rules_revision=revision[1]))
- return self.revision_packager_cls(self, tag=tag_url,
- pkg_revision=pkg_revision,
- pkg_date=tag_date,
- *revision)
- else:
- logging.info("Revision %s has already been packaged.",
- revision)
-
- # tag has been built -> build trunk
- # don't use rules from tags for trunk
- self.use_tag_rules = False
- return super(PackageTrack, self).packager_for_new_revision()
-
- def export_sources(self, to_dir):
- if self.tag_url is not None:
- logging.info("Exporting sources for tarball from %r to %r",
- self.tag_url, to_dir)
- self.working_copy.export_tag(self.tag_url, to_dir,
- revision=self.tag_revision)
- else:
- super(PackageTrack, self).export_sources(to_dir)
-
- def copy_debian_directory(self, to_dir):
- if self.use_tag_rules:
- logging.info("Exporting debian package description from %s to %s",
- self.tag_rules_url, to_dir)
- self.rules_working_copy.export_tag(self.tag_rules_url, to_dir)
- else:
- super(PackageTrack, self).copy_debian_directory(to_dir)
-
- def tag_pkg_parameters(self, tag_url):
- match = re.search(r"/enterprise[^.]*\.[^.]*\."
- r"(?P<date>[0-9]{8})\.(?P<baserev>[0-9]+)/",
- tag_url)
- if match:
- date = match.group("date")
- baserev = match.group("baserev")
- xml_log = subversion.log_xml(tag_url, baserev)
- revisions = subversion.extract_tag_revisions(xml_log)
- tag_change_count = len(revisions)
- return (date, tag_change_count)
- else:
- raise RuntimeError("Cannot determine tag parameters from %r"
- % tag_url)
Copied: tags/20100707/recipes/kde/enterprise/generic.py (from rev 337, trunk/recipes/kde/enterprise/generic.py)
Deleted: tags/20100707/recipes/kde/enterprise/kde_l10n.py
===================================================================
--- trunk/recipes/kde/enterprise/kde_l10n.py 2010-06-21 13:06:51 UTC (rev 336)
+++ tags/20100707/recipes/kde/enterprise/kde_l10n.py 2010-07-07 10:13:19 UTC (rev 340)
@@ -1,102 +0,0 @@
-# Copyright (C) 2007, 2008, 2009 by Intevation GmbH
-# Authors:
-# Bernhard Herzog <bh at intevation.de>
-#
-# This program is free software under the GPL (>=v2)
-# Read the file COPYING coming with the software for details.
-
-import os
-import logging
-import shutil
-import time
-
-import treepkg.util
-
-import recipes.kde.enterprise.generic as generic
-
-
-class SourcePackager(generic.SourcePackager):
-
- """Creates the debian source package for the l10n files
-
- This is a bit more complicated than for other packages. The
- orig.tar.gz file of the debian source package contains one .tar.bz2
- file for every language. Those .tar.bz files are the kde-18n-<lang>
- files released by the KDE project. For now, we only have the German
- localization in the enterprise source package, so the orig.tar.gz
- file will have the following contents:
-
- kde-l10n-<version>/
- kde-l10n-<version>/kde-l10n-de-<version>.tar.bz2
-
- <version> is the same everywhere.
- """
-
- createtarball_script = """\
-#! /bin/bash
-set -e
-
-apt-get --assume-yes --force-yes install %(builddeps)s
-
-# copy the source tree to a directory that's under pbuilder control so
-# that it gets removed along with the build environment. Otherwise we
-# end up with a directory containing files that cannot be removed by
-# treepkg
-workdir=/tmp/work
-cp -a %(basedir)s $workdir
-cd $workdir
-
-# only handle the de subdirectory
-echo de > subdirs
-
-# create the CMakeFiles
-./scripts/autogen.sh
-mv de kde-l10n-de-%(version)s
-tar cjf %(tarball)s kde-l10n-de-%(version)s
-"""
-
-
- def __init__(self, *args, **kw):
- super(SourcePackager, self).__init__(*args, **kw)
- self.enterprise_version = (time.strftime("%Y%m%d", time.localtime())
- + "." + str(self.revision))
-
- def determine_package_version(self, directory):
- enterprise_version = self.enterprise_version
- return self.track.version_template % locals()
-
- def create_l10n_de_tarball(self, pkgbasedir, pkgbaseversion):
- logging.info("Creating kde-l10n-de tarball")
- de_tarball = os.path.join(self.work_dir,
- "kde-l10n-de-" + pkgbaseversion + ".tar.bz2")
- # xutils-dev is needed for the revpath script used by
- # scripts/autogen.sh
- script = (self.createtarball_script
- % dict(builddeps="xutils-dev", tarball=de_tarball,
- basedir=pkgbasedir, version=pkgbaseversion))
- script_name = os.path.join(self.work_dir, "createtarball")
- treepkg.util.writefile(script_name, script, 0755)
- treepkg.util.ensure_directory(self.src_dir)
- treepkg.util.ensure_directory(self.log_dir)
- self.track.builder.run_script([script_name],
- logfile=os.path.join(self.log_dir,
- "tarball_log.txt"),
- bindmounts=[self.work_dir])
- return de_tarball
-
- def prepare_sources_for_tarball(self, pkgbasedir, pkgbaseversion):
- de_tarball = self.create_l10n_de_tarball(pkgbasedir, pkgbaseversion)
- shutil.rmtree(pkgbasedir)
- os.mkdir(pkgbasedir)
- os.rename(de_tarball,
- os.path.join(pkgbasedir, os.path.basename(de_tarball)))
-
-
-class RevisionPackager(generic.RevisionPackager):
-
- source_packager_cls = SourcePackager
-
-
-class PackageTrack(generic.PackageTrack):
-
- revision_packager_cls = RevisionPackager
Copied: tags/20100707/recipes/kde/enterprise/kde_l10n.py (from rev 337, trunk/recipes/kde/enterprise/kde_l10n.py)
Deleted: tags/20100707/recipes/kde/enterprise/kde_l10n_tags.py
===================================================================
--- trunk/recipes/kde/enterprise/kde_l10n_tags.py 2010-06-21 13:06:51 UTC (rev 336)
+++ tags/20100707/recipes/kde/enterprise/kde_l10n_tags.py 2010-07-07 10:13:19 UTC (rev 340)
@@ -1,102 +0,0 @@
-# Copyright (C) 2007, 2008, 2009 by Intevation GmbH
-# Authors:
-# Bernhard Herzog <bh at intevation.de>
-#
-# This program is free software under the GPL (>=v2)
-# Read the file COPYING coming with the software for details.
-
-import os
-import logging
-import shutil
-import time
-
-import treepkg.util
-
-import recipes.kde.enterprise.tags as tags
-
-
-class SourcePackager(tags.SourcePackager):
-
- """Creates the debian source package for the l10n files
-
- This is a bit more complicated than for other packages. The
- orig.tar.gz file of the debian source package contains one .tar.bz2
- file for every language. Those .tar.bz files are the kde-18n-<lang>
- files released by the KDE project. For now, we only have the German
- localization in the enterprise source package, so the orig.tar.gz
- file will have the following contents:
-
- kde-l10n-<version>/
- kde-l10n-<version>/kde-l10n-de-<version>.tar.bz2
-
- <version> is the same everywhere.
- """
-
- createtarball_script = """\
-#! /bin/bash
-set -e
-
-apt-get --assume-yes --force-yes install %(builddeps)s
-
-# copy the source tree to a directory that's under pbuilder control so
-# that it gets removed along with the build environment. Otherwise we
-# end up with a directory containing files that cannot be removed by
-# treepkg
-workdir=/tmp/work
-cp -a %(basedir)s $workdir
-cd $workdir
-
-# only handle the de subdirectory
-echo de > subdirs
-
-# create the CMakeFiles
-./scripts/autogen.sh
-mv de kde-l10n-de-%(version)s
-tar cjf %(tarball)s kde-l10n-de-%(version)s
-"""
-
-
- def __init__(self, *args, **kw):
- super(SourcePackager, self).__init__(*args, **kw)
- self.enterprise_version = (time.strftime("%Y%m%d", time.localtime())
- + "." + str(self.revision))
-
- def determine_package_version(self, directory):
- enterprise_version = self.enterprise_version
- return self.track.version_template % locals()
-
- def create_l10n_de_tarball(self, pkgbasedir, pkgbaseversion):
- logging.info("Creating kde-l10n-de tarball")
- de_tarball = os.path.join(self.work_dir,
- "kde-l10n-de-" + pkgbaseversion + ".tar.bz2")
- # xutils-dev is needed for the revpath script used by
- # scripts/autogen.sh
- script = (self.createtarball_script
- % dict(builddeps="xutils-dev", tarball=de_tarball,
- basedir=pkgbasedir, version=pkgbaseversion))
- script_name = os.path.join(self.work_dir, "createtarball")
- treepkg.util.writefile(script_name, script, 0755)
- treepkg.util.ensure_directory(self.src_dir)
- treepkg.util.ensure_directory(self.log_dir)
- self.track.builder.run_script([script_name],
- logfile=os.path.join(self.log_dir,
- "tarball_log.txt"),
- bindmounts=[self.work_dir])
- return de_tarball
-
- def prepare_sources_for_tarball(self, pkgbasedir, pkgbaseversion):
- de_tarball = self.create_l10n_de_tarball(pkgbasedir, pkgbaseversion)
- shutil.rmtree(pkgbasedir)
- os.mkdir(pkgbasedir)
- os.rename(de_tarball,
- os.path.join(pkgbasedir, os.path.basename(de_tarball)))
-
-
-class RevisionPackager(tags.RevisionPackager):
-
- source_packager_cls = SourcePackager
-
-
-class PackageTrack(tags.PackageTrack):
-
- revision_packager_cls = RevisionPackager
Copied: tags/20100707/recipes/kde/enterprise/kde_l10n_tags.py (from rev 337, trunk/recipes/kde/enterprise/kde_l10n_tags.py)
Deleted: tags/20100707/recipes/kde/maemo/generic.py
===================================================================
--- trunk/recipes/kde/maemo/generic.py 2010-06-21 13:06:51 UTC (rev 336)
+++ tags/20100707/recipes/kde/maemo/generic.py 2010-07-07 10:13:19 UTC (rev 340)
@@ -1,132 +0,0 @@
-# Copyright (C) 2007, 2008, 2009, 2010 by Intevation GmbH
-# Authors:
-# Bernhard Herzog <bh at intevation.de>
-# Bjoern Ricks <bjoern.ricks at intevation.de>
-#
-# This program is free software under the GPL (>=v2)
-# Read the file COPYING coming with the software for details.
-
-"""Base classes for all kde maemo packagers"""
-
-import re
-import time
-import logging
-
-import treepkg.packager
-import treepkg.subversion as subversion
-import treepkg.sbuilder
-
-
-class SourcePackager(treepkg.packager.SourcePackager):
-
- def __init__(self, *args, **kw):
- super(SourcePackager, self).__init__(*args, **kw)
- self.enterprise_version = (self.parent.pkg_date + "."
- + str(self.revision))
- self.maemo_version = "%s.%s" % (self.parent.pkg_date,
- self.revision)
-
- def determine_package_version(self, directory):
- enterprise_version = self.enterprise_version
- maemo_version = self.maemo_version
- revision = self.revision
- rules_revision = self.parent.rules_revision
- pkg_revision = self.parent.pkg_revision
- pkg_date = self.parent.pkg_date
-
- return self.track.version_template % locals()
-
- def prepare_sources_for_tarball(self, pkgbasedir, pkgbaseversion):
- self.update_version_numbers(pkgbasedir)
-
- def update_version_numbers(self, pkgbasedir):
- """Updates the version numbers in the code in pkgbasedir.
- The default implementation does nothing. Derived classes should
- override this method if necessary.
- """
-
- def get_change_msg(self):
- return self.changemsg_template % dict(revision=self.revision,
- pkg_date=self.parent.pkg_date,
- rules_revision=self.parent.rules_revision)
-
-
-class RevisionPackager(treepkg.packager.RevisionPackager):
-
- source_packager_cls = SourcePackager
-
- def __init__(self, *args, **kw):
- self.pkg_date = kw.pop("pkg_date",
- time.strftime("%Y%m%d", time.localtime()))
- super(RevisionPackager, self).__init__(*args, **kw)
-
-
-class PackageTrack(treepkg.packager.PackageTrack):
-
- revision_packager_cls = RevisionPackager
- builder_cls = treepkg.sbuilder.SbdmockBuilder
-
- extra_config_desc = [("tags_url", str, ""),
- ("tags_pattern", str, ""),
- ("tags_subdir", str, "")]
-
- def __init__(self, *args, **kw):
- tags_url = kw.pop("tags_url")
- tags_pattern = kw.pop("tags_pattern")
- tags_subdir = kw.pop("tags_subdir")
- super(PackageTrack, self).__init__(*args, **kw)
- self.tag_detector = subversion.TagDetector(tags_url, tags_pattern,
- tags_subdir)
-
- def packager_for_new_revision(self):
- logging.info("Checking tags")
- self.tag_url = None
- tag_url, tag_revision = self.tag_detector.newest_tag_revision()
- logging.info("Found: %s: %s", tag_url, tag_revision)
- if tag_url is not None:
- revision = (tag_revision,
- self.rules_working_copy.last_changed_revision())
- logging.info("New revision is %s", revision)
- if revision not in self.get_revision_numbers():
- logging.info("Revision %s has not been packaged yet",
- revision)
- self.tag_url = tag_url
- self.tag_revision = tag_revision
- tag_date, tag_change_count = self.tag_pkg_parameters(tag_url)
- pkg_revision = (self.pkg_revision_template
- % dict(pkg_revision=tag_change_count,
- rules_revision=revision[1]))
- return self.revision_packager_cls(self, tag=tag_url,
- pkg_revision=pkg_revision,
- pkg_date=tag_date,
- *revision)
- else:
- logging.info("Revision %s has already been packaged.",
- revision)
-
- return super(PackageTrack, self).packager_for_new_revision()
-
- def export_sources(self, to_dir):
- if self.tag_url is not None:
- logging.info("Exporting sources for tarball from %r to %r",
- self.tag_url, to_dir)
- self.working_copy.export_tag(self.tag_url, to_dir,
- revision=self.tag_revision)
- else:
- super(PackageTrack, self).export_sources(to_dir)
-
- def tag_pkg_parameters(self, tag_url):
- match = re.search(r"/enterprise[^.]*\.[^.]*\."
- r"(?P<date>[0-9]{8})\.(?P<baserev>[0-9]+)/",
- tag_url)
- if match:
- date = match.group("date")
- baserev = match.group("baserev")
- xml_log = subversion.log_xml(tag_url, baserev)
- revisions = subversion.extract_tag_revisions(xml_log)
- tag_change_count = len(revisions)
- return (date, tag_change_count)
- else:
- raise RuntimeError("Cannot determine tag parameters from %r"
- % tag_url)
-
Deleted: tags/20100707/recipes/kde/maemo/kde_l10n.py
===================================================================
--- trunk/recipes/kde/maemo/kde_l10n.py 2010-06-21 13:06:51 UTC (rev 336)
+++ tags/20100707/recipes/kde/maemo/kde_l10n.py 2010-07-07 10:13:19 UTC (rev 340)
@@ -1,122 +0,0 @@
-# Copyright (C) 2007, 2008, 2009 by Intevation GmbH
-# Authors:
-# Bernhard Herzog <bh at intevation.de>
-# Bjoern Ricks <bjoern.ricks at intevation.de>
-#
-# This program is free software under the GPL (>=v2)
-# Read the file COPYING coming with the software for details.
-
-import os
-import logging
-import shutil
-import time
-
-import treepkg.util
-from treepkg.cmdexpand import cmdexpand
-from treepkg import run
-
-import recipes.kde.maemo.generic as generic
-
-
-class SourcePackager(generic.SourcePackager):
-
- """Creates the debian source package for the l10n files
-
- This is a bit more complicated than for other packages. The
- orig.tar.gz file of the debian source package contains one .tar.bz2
- file for every language. Those .tar.bz files are the kde-18n-<lang>
- files released by the KDE project. For now, we only have the German
- localization in the enterprise source package, so the orig.tar.gz
- file will have the following contents:
-
- kde-l10n-<version>/
- kde-l10n-<version>/kde-l10n-de-<version>.tar.bz2
-
- <version> is the same everywhere.
- """
-
- createtarball_script = """\
-#! /bin/bash
-set -e
-
-#fakeroot apt-get --assume-yes --force-yes install %(builddeps)s
-
-# copy the source tree to a directory that's under pbuilder control so
-# that it gets removed along with the build environment. Otherwise we
-# end up with a directory containing files that cannot be removed by
-# treepkg
-workdir=/tmp/work
-cp -a %(basedir)s $workdir
-cd $workdir
-
-# only handle the de subdirectory
-echo de > subdirs
-
-# create the CMakeFiles
-./scripts/autogen.sh
-mv de kde-l10n-de-%(version)s
-tar cjf %(tarball)s kde-l10n-de-%(version)s
-cd ..
-rm -rf $workdir
-"""
-
-
- def __init__(self, *args, **kw):
- super(SourcePackager, self).__init__(*args, **kw)
- self.enterprise_version = (time.strftime("%Y%m%d", time.localtime())
- + "." + str(self.revision))
- self.maemo_version = "%s.%s" % (self.revision,
- self.parent.pkg_date)
-
- def determine_package_version(self, directory):
- enterprise_version = self.enterprise_version
- maemo_version = self.maemo_version
- revision = self.revision
- rules_revision = self.parent.rules_revision
- pkg_revision = self.parent.pkg_revision
- pkg_date = self.parent.pkg_date
-
- return self.track.version_template % locals()
-
- def create_l10n_de_tarball(self, pkgbasedir, pkgbaseversion):
- logging.info("Creating kde-l10n-de tarball")
- de_tarball = os.path.join(self.work_dir,
- "kde-l10n-de-" + pkgbaseversion + ".tar.bz2")
- # xutils-dev is needed for the revpath script used by
- # scripts/autogen.sh
- script = (self.createtarball_script
- % dict(builddeps="xutils-dev", tarball=de_tarball,
- basedir=pkgbasedir, version=pkgbaseversion))
- script_name = os.path.join(self.work_dir, "createtarball")
- treepkg.util.writefile(script_name, script, 0755)
- treepkg.util.ensure_directory(self.src_dir)
- treepkg.util.ensure_directory(self.log_dir)
- #self.track.builder.run_script([script_name],
- # logfile=os.path.join(self.log_dir,
- # "tarball_log.txt"),
- # bindmounts=[self.work_dir])
- self.run_script([script_name], logfile=os.path.join(self.log_dir,
- "tarball_log.txt"))
-
- return de_tarball
-
- def run_script(self, script_name, logfile):
- run.call(cmdexpand("@script", script=script_name),
- suppress_output=False, logfile=logfile)
-
- def prepare_sources_for_tarball(self, pkgbasedir, pkgbaseversion):
- de_tarball = self.create_l10n_de_tarball(pkgbasedir, pkgbaseversion)
- shutil.rmtree(pkgbasedir)
- os.mkdir(pkgbasedir)
- os.rename(de_tarball,
- os.path.join(pkgbasedir, os.path.basename(de_tarball)))
-
-
-class RevisionPackager(generic.RevisionPackager):
-
- source_packager_cls = SourcePackager
-
-
-class PackageTrack(generic.PackageTrack):
-
- revision_packager_cls = RevisionPackager
Copied: tags/20100707/recipes/kde/maemo/kde_l10n.py (from rev 337, trunk/recipes/kde/maemo/kde_l10n.py)
Deleted: tags/20100707/recipes/kde/maemo/kde_l10n_tags.py
===================================================================
--- trunk/recipes/kde/maemo/kde_l10n_tags.py 2010-06-21 13:06:51 UTC (rev 336)
+++ tags/20100707/recipes/kde/maemo/kde_l10n_tags.py 2010-07-07 10:13:19 UTC (rev 340)
@@ -1,122 +0,0 @@
-# Copyright (C) 2007, 2008, 2009 by Intevation GmbH
-# Authors:
-# Bernhard Herzog <bh at intevation.de>
-# Bjoern Ricks <bjoern.ricks at intevation.de>
-#
-# This program is free software under the GPL (>=v2)
-# Read the file COPYING coming with the software for details.
-
-import os
-import logging
-import shutil
-import time
-
-import treepkg.util
-from treepkg.cmdexpand import cmdexpand
-from treepkg import run
-
-import recipes.kde.maemo.tags as tags
-
-
-class SourcePackager(tags.SourcePackager):
-
- """Creates the debian source package for the l10n files
-
- This is a bit more complicated than for other packages. The
- orig.tar.gz file of the debian source package contains one .tar.bz2
- file for every language. Those .tar.bz files are the kde-18n-<lang>
- files released by the KDE project. For now, we only have the German
- localization in the enterprise source package, so the orig.tar.gz
- file will have the following contents:
-
- kde-l10n-<version>/
- kde-l10n-<version>/kde-l10n-de-<version>.tar.bz2
-
- <version> is the same everywhere.
- """
-
- createtarball_script = """\
-#! /bin/bash
-set -e
-
-#fakeroot apt-get --assume-yes --force-yes install %(builddeps)s
-
-# copy the source tree to a directory that's under pbuilder control so
-# that it gets removed along with the build environment. Otherwise we
-# end up with a directory containing files that cannot be removed by
-# treepkg
-workdir=/tmp/work-tags
-cp -a %(basedir)s $workdir
-cd $workdir
-
-# only handle the de subdirectory
-echo de > subdirs
-
-# create the CMakeFiles
-./scripts/autogen.sh
-mv de kde-l10n-de-%(version)s
-tar cjf %(tarball)s kde-l10n-de-%(version)s
-cd ..
-rm -rf $workdir
-"""
-
-
- def __init__(self, *args, **kw):
- super(SourcePackager, self).__init__(*args, **kw)
- self.enterprise_version = (time.strftime("%Y%m%d", time.localtime())
- + "." + str(self.revision))
- self.maemo_version = "%s.%s" % (self.revision,
- self.parent.pkg_date)
-
- def determine_package_version(self, directory):
- enterprise_version = self.enterprise_version
- maemo_version = self.maemo_version
- revision = self.revision
- rules_revision = self.parent.rules_revision
- pkg_revision = self.parent.pkg_revision
- pkg_date = self.parent.pkg_date
-
- return self.track.version_template % locals()
-
- def create_l10n_de_tarball(self, pkgbasedir, pkgbaseversion):
- logging.info("Creating kde-l10n-de tarball")
- de_tarball = os.path.join(self.work_dir,
- "kde-l10n-de-" + pkgbaseversion + ".tar.bz2")
- # xutils-dev is needed for the revpath script used by
- # scripts/autogen.sh
- script = (self.createtarball_script
- % dict(builddeps="xutils-dev", tarball=de_tarball,
- basedir=pkgbasedir, version=pkgbaseversion))
- script_name = os.path.join(self.work_dir, "createtarball")
- treepkg.util.writefile(script_name, script, 0755)
- treepkg.util.ensure_directory(self.src_dir)
- treepkg.util.ensure_directory(self.log_dir)
- #self.track.builder.run_script([script_name],
- # logfile=os.path.join(self.log_dir,
- # "tarball_log.txt"),
- # bindmounts=[self.work_dir])
- self.run_script([script_name], logfile=os.path.join(self.log_dir,
- "tarball_log.txt"))
-
- return de_tarball
-
- def run_script(self, script_name, logfile):
- run.call(cmdexpand("@script", script=script_name),
- suppress_output=False, logfile=logfile)
-
- def prepare_sources_for_tarball(self, pkgbasedir, pkgbaseversion):
- de_tarball = self.create_l10n_de_tarball(pkgbasedir, pkgbaseversion)
- shutil.rmtree(pkgbasedir)
- os.mkdir(pkgbasedir)
- os.rename(de_tarball,
- os.path.join(pkgbasedir, os.path.basename(de_tarball)))
-
-
-class RevisionPackager(tags.RevisionPackager):
-
- source_packager_cls = SourcePackager
-
-
-class PackageTrack(tags.PackageTrack):
-
- revision_packager_cls = RevisionPackager
Copied: tags/20100707/recipes/kde/maemo/kde_l10n_tags.py (from rev 338, trunk/recipes/kde/maemo/kde_l10n_tags.py)
Deleted: tags/20100707/recipes/kde/maemo/tags.py
===================================================================
--- trunk/recipes/kde/maemo/tags.py 2010-06-21 13:06:51 UTC (rev 336)
+++ tags/20100707/recipes/kde/maemo/tags.py 2010-07-07 10:13:19 UTC (rev 340)
@@ -1,157 +0,0 @@
-# Copyright (C) 2007 - 2010 by Intevation GmbH
-# Authors:
-# Bernhard Herzog <bh at intevation.de>
-# Bjoern Ricks <bjoern.ricks at intevation.de>
-#
-# This program is free software under the GPL (>=v2)
-# Read the file COPYING coming with the software for details.
-
-"""Base classes for kde maemo tag packagers"""
-
-import re
-import time
-import logging
-
-import treepkg.packager
-import treepkg.subversion as subversion
-import treepkg.sbuilder
-
-
-class SourcePackager(treepkg.packager.SourcePackager):
-
- def __init__(self, *args, **kw):
- super(SourcePackager, self).__init__(*args, **kw)
- self.enterprise_version = (self.parent.pkg_date + "."
- + str(self.revision))
- self.maemo_version = "%s.%s" % (self.revision,
- self.parent.pkg_date)
-
- def determine_package_version(self, directory):
- enterprise_version = self.enterprise_version
- maemo_version = self.maemo_version
- revision = self.revision
- rules_revision = self.parent.rules_revision
- pkg_revision = self.parent.pkg_revision
- pkg_date = self.parent.pkg_date
-
- return self.track.version_template % locals()
-
- def prepare_sources_for_tarball(self, pkgbasedir, pkgbaseversion):
- self.update_version_numbers(pkgbasedir)
-
- def update_version_numbers(self, pkgbasedir):
- """Updates the version numbers in the code in pkgbasedir.
- The default implementation does nothing. Derived classes should
- override this method if necessary.
- """
-
- def get_change_msg(self):
- return self.changemsg_template % dict(revision=self.revision,
- pkg_date=self.parent.pkg_date,
- rules_revision=self.parent.rules_revision)
-
-
-class RevisionPackager(treepkg.packager.RevisionPackager):
-
- source_packager_cls = SourcePackager
-
- def __init__(self, *args, **kw):
- self.pkg_date = kw.pop("pkg_date",
- time.strftime("%Y%m%d", time.localtime()))
- super(RevisionPackager, self).__init__(*args, **kw)
-
-
-class PackageTrack(treepkg.packager.PackageTrack):
-
- revision_packager_cls = RevisionPackager
- builder_cls = treepkg.sbuilder.SbdmockBuilder
-
- extra_config_desc = [("tags_url", str, ""),
- ("tags_pattern", str, ""),
- ("tags_subdir", str, ""),
- ("tags_rules_subdir", str, "")]
-
- def __init__(self, *args, **kw):
- tags_url = kw.pop("tags_url")
- tags_pattern = kw.pop("tags_pattern")
- tags_subdir = kw.pop("tags_subdir")
- tags_rules_subdir = kw.pop("tags_rules_subdir")
- super(PackageTrack, self).__init__(*args, **kw)
- self.tag_detector = subversion.TagDetector(tags_url, tags_pattern,
- tags_subdir)
- self.tag_rules_detector = subversion.TagDetector(tags_url, tags_pattern,
- tags_rules_subdir)
- self.found_tag_rules = False
- if tags_rules_subdir:
- self.found_tag_rules = True
-
- def packager_for_new_revision(self):
- logging.info("Checking tags")
- self.tag_url = None
- self.use_tag_rules = self.found_tag_rules
- tag_url, tag_revision = self.tag_detector.newest_tag_revision()
- tag_rules_url, tag_rules_revision = self.tag_rules_detector.newest_tag_revision()
- logging.info("Found: %s: %s", tag_url, tag_revision)
- logging.info("Found rules: %s: %s", tag_rules_url, tag_rules_revision)
- if self.use_tag_rules and tag_rules_url is None:
- self.use_tag_rules = False
- if tag_url is not None:
- if not self.use_tag_rules:
- tag_rules_revision = self.rules_working_copy.last_changed_revision()
- revision = (tag_revision, tag_rules_revision)
- logging.info("New revision is %s", revision)
- if revision not in self.get_revision_numbers():
- logging.info("Revision %s has not been packaged yet",
- revision)
- self.tag_url = tag_url
- self.tag_revision = tag_revision
- self.tag_rules_url = tag_rules_url
- self.tag_rules_revision = tag_rules_revision
- tag_date, tag_change_count = self.tag_pkg_parameters(tag_url)
- pkg_revision = (self.pkg_revision_template
- % dict(pkg_revision=tag_change_count,
- rules_revision=revision[1]))
- return self.revision_packager_cls(self, tag=tag_url,
- pkg_revision=pkg_revision,
- pkg_date=tag_date,
- *revision)
- else:
- logging.info("Revision %s has already been packaged.",
- revision)
- else: # tag_url is not set -> build trunk
- # don't use rules from tags for trunk builds
- self.use_tag_rules = False
- return super(PackageTrack, self).packager_for_new_revision()
-
- def export_sources(self, to_dir):
- if self.tag_url is not None:
- logging.info("Exporting sources for tarball from %r to %r",
- self.tag_url, to_dir)
- self.working_copy.export_tag(self.tag_url, to_dir,
- revision=self.tag_revision)
- else:
- super(PackageTrack, self).export_sources(to_dir)
-
- def copy_debian_directory(self, to_dir):
- if self.use_tag_rules:
- logging.info("Exporting debian package description from %s to %s",
- self.tag_rules_url, to_dir)
- self.rules_working_copy.export_tag(self.tag_rules_url, to_dir)
- else:
- super(PackageTrack, self).copy_debian_directory(to_dir)
-
- def tag_pkg_parameters(self, tag_url):
- match = re.search(r"/enterprise[^.]*\.[^.]*\."
- r"(?P<date>[0-9]{8})\.(?P<baserev>[0-9]+)/",
- tag_url)
- if match:
- date = match.group("date")
- baserev = match.group("baserev")
- xml_log = subversion.log_xml(tag_url, baserev)
- revisions = subversion.extract_tag_revisions(xml_log)
- tag_change_count = len(revisions)
- return (date, tag_change_count)
- else:
- raise RuntimeError("Cannot determine tag parameters from %r"
- % tag_url)
-
Copied: tags/20100707/test (from rev 336, trunk/test)
Property changes on: tags/20100707/test
___________________________________________________________________
Name: svn:ignore
+ temp
*.pyc
Name: svn:mergeinfo
+
Copied: tags/20100707/treepkg (from rev 336, trunk/treepkg)
Property changes on: tags/20100707/treepkg
___________________________________________________________________
Name: svn:ignore
+ *.pyc
Name: svn:mergeinfo
+
Copied: tags/20100707/web (from rev 336, trunk/web)
Property changes on: tags/20100707/web
___________________________________________________________________
Name: svn:mergeinfo
+
More information about the Treepkg-commits
mailing list