r11515 - in /tools/snapshots: ./ scripts/ scripts/pkg-gnome-package scripts/svn-pkg
kilian at users.alioth.debian.org
kilian at users.alioth.debian.org
Wed Jun 13 20:12:02 UTC 2007
Author: kilian
Date: Wed Jun 13 20:12:02 2007
New Revision: 11515
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=11515
Log:
Import of the pkg-gnome snapshots script for Buildserver.NET.
Still lacks syncing with the one from
svn://svn.debian.org/kernel/people/waldi/scripts/snapshot/package.py plus the
following additions:
1. put the get-orig-source fetching and source tarball verification into the
latest version from waldi to get external config flexibility
2. get config from pkg-gnome SVN rather than locally
3. cleanup gen/ dir unconditionally
Added:
tools/snapshots/
tools/snapshots/scripts/
tools/snapshots/scripts/pkg-gnome-package (with props)
tools/snapshots/scripts/svn-pkg (with props)
Added: tools/snapshots/scripts/pkg-gnome-package
URL: http://svn.debian.org/wsvn/pkg-gnome/tools/snapshots/scripts/pkg-gnome-package?rev=11515&op=file
==============================================================================
--- tools/snapshots/scripts/pkg-gnome-package (added)
+++ tools/snapshots/scripts/pkg-gnome-package Wed Jun 13 20:12:02 2007
@@ -1,0 +1,501 @@
+#!/usr/bin/env python2.4
+
+# Copyright (C) 2005 Bastian Blank <waldi at debian.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+import debian_linux, os, os.path, shutil, sys, time
+
+base = os.path.expanduser("~/debian/pkg-gnome/snapshot")
+repository = "svn://svn.debian.org/svn/pkg-gnome/"
+orig_base = os.path.expanduser("~/debian/pkg-gnome/orig")
+
+def _spawnvefn(mode, file, args, env, func, prepare, prepare_arg):
+ # Internal helper; func is the exec*() function to use
+ pid = os.fork()
+ if not pid:
+ # Child
+ prepare(prepare_arg)
+ try:
+ if env is None:
+ func(file, args)
+ else:
+ func(file, args, env)
+ except:
+ os._exit(127)
+ else:
+ # Parent
+ if mode == os.P_NOWAIT:
+ return pid # Caller is responsible for waiting!
+ while 1:
+ wpid, sts = os.waitpid(pid, 0)
+ if os.WIFSTOPPED(sts):
+ continue
+ elif os.WIFSIGNALED(sts):
+ return -os.WTERMSIG(sts)
+ elif os.WIFEXITED(sts):
+ return os.WEXITSTATUS(sts)
+ else:
+ raise error, "Not stopped, signaled or exited???"
+
+def spawnv_chdir(mode, file, args, dir):
+ return _spawnvefn(mode, file, args, None, os.execvp, spawnv_prepare, dir)
+
+def spawnv_prepare(arg):
+ fd = os.open('/dev/null', os.O_WRONLY)
+ os.dup2(fd, 1)
+ os.close(fd)
+ os.chdir(arg)
+
+class storage(object):
+ def __init__(self, dir):
+ self.dir = dir
+
+ def _cp(self, source, target, prune = []):
+ source = os.path.normpath(source)
+ source_list = source.split(os.sep)
+ try:
+ os.stat(target)
+ except OSError:
+ self._mk(target)
+ for root, dirs, files in os.walk(source):
+ rel_root_list = root.split(os.sep)[len(source_list):]
+ rel_root = os.sep.join(rel_root_list)
+ target_root = os.path.join(target, rel_root)
+ for i in prune:
+ try:
+ dirs.remove(i)
+ except ValueError:
+ pass
+ for name in dirs:
+ os.mkdir(os.path.join(target_root, name))
+ for name in files:
+ shutil.copy(os.path.join(root, name), os.path.join(target_root, name))
+
+ def _exec(self, executable, args):
+ args_real = [executable.split(os.sep)[-1]] + args
+ ret = os.spawnv(os.P_WAIT, executable, args_real)
+ #if ret:
+ # raise ExecutionError(ret)
+
+ def _exec_chdir(self, executable, args, dir, force = False, output = True):
+ args_real = [executable.split(os.sep)[-1]] + args
+ ret = spawnv_chdir(os.P_WAIT, executable, args_real, dir)
+ if ret:
+ raise ExecutionError(ret)
+
+ def _mk(self, dir):
+ try:
+ os.makedirs(dir, 0755)
+ except OSError:
+ pass
+
+ def _rm(self, dir):
+ try:
+ shutil.rmtree(dir)
+ except OSError:
+ pass
+
+ def copy(self, target, target_class = None, **args):
+ self._rm(target)
+ self._cp(self.dir, target)
+ if not target_class:
+ target_class = self.__class__
+ return target_class(target, **args)
+
+ def remove(self):
+ self._rm(self.dir)
+
+class repository_svn(storage):
+ def __init__(self, dir, path):
+ storage.__init__(self, dir)
+ self.path = path
+ self.checkout()
+
+ def checkout(self):
+ path_real = '%s/%s' % (repository, self.path)
+ args = ['co', '-q', path_real, self.dir]
+ self.exec_svn(args)
+
+ def exec_svn(self, args):
+ try:
+ self._exec("/usr/bin/svn", args)
+ except OSError: pass
+
+def checkout(path):
+ checkout_dir = "checkout-" + path.replace('/', '_')
+ print "Updating %s ..." % (path)
+ repository_svn(checkout_dir, path)
+
+def package(path, dist, dist_version):
+ checkout_dir = "checkout-" + path.replace('/', '_')
+ last_file = "last-" + path.replace('/', '_') + '-' + dist
+ checkout_storage = storage(checkout_dir)
+ changelog_entry = debian_linux.read_changelog(checkout_dir)[0]
+ package_name = changelog_entry['Source']
+ package_version = changelog_entry['Version']['upstream']
+ package = "%s-%s" % (package_name, package_version)
+ package_dir = "gen/%s" % package
+ package_orig_tar = "%s_%s.orig.tar.gz" % (package_name, package_version)
+ buildwithsource = False
+
+ for line in os.popen("svn info %s" % checkout_dir, 'r').read().split('\n'):
+ if line.startswith('Last Changed Rev: '):
+ revision = int(line.split()[-1])
+
+ last_revision = 0
+ last_upstream = None
+ if os.path.exists(last_file):
+ i = file(last_file).read().strip()
+ last_revision, last_upstream = i.split()
+ last_revision = int(last_revision)
+ if not os.path.exists("out"):
+ os.makedirs("out" , 0755)
+
+ if revision <= last_revision:
+ return True
+
+ sys.stdout.write("Processing %s (%s)...\n" % (path,dist))
+ sys.stdout.flush()
+ version_upstream = changelog_entry['Version']['upstream']
+ version_debian = changelog_entry['Version']['debian']
+ if changelog_entry['Distribution'] in ('stable', 'testing', 'unstable', 'experimental'):
+ version_debian_delemiter = '.'
+ elif changelog_entry['Distribution'] in ('UNRELEASED',):
+ version_debian_delemiter = '~'
+ else:
+ raise "Unknown distribution"
+
+ package_storage = checkout_storage.copy(package_dir, storage)
+ try:
+ os.symlink("../tarballs", "gen/tarballs")
+ except OSError: pass
+ if version_debian != None:
+ if not os.path.isfile(base + "/tarballs/" + package_orig_tar):
+ spawnv_chdir(os.P_WAIT, "debian/rules", ['debian/rules', 'get-orig-source'], checkout_dir)
+ buildwithsource = True
+ #print "Checking tarball %s ..." % ('../tarballs/' + package_orig_tar,)
+ if not os.path.isfile(base + "/tarballs/" + package_orig_tar):
+ print "No tarball fetched. Will try fresh download next time."
+ return False
+ if os.spawnv(os.P_WAIT, "/bin/gzip", [ 'gzip', '-t', base + '/tarballs/' + package_orig_tar]):
+ print "Tarball invalid! Removing. Will try fresh download next time."
+ os.unlink(base + '/tarballs/' + package_orig_tar)
+ return False
+ #else:
+ # print "Tarball valid."
+ suffices = '.diff.gz', '.dsc', '_source.changes'
+ version_debian += "%c%s.%d" % (version_debian_delemiter, dist_version, revision)
+ version_debian_prefix = '-'
+ if not os.path.isfile("out/%s" % package_orig_tar):
+ try:
+ os.symlink("../tarballs/" + package_orig_tar, "out/%s" % package_orig_tar)
+ except OSError: pass
+ else:
+ #print "Native debian, no source needed."
+ buildwithsource = True
+ suffices = '.tar.gz', '.dsc', '_source.changes'
+ version_debian = "%c%s.%d" % (version_debian_delemiter, dist_version, revision)
+ version_debian_prefix = ''
+
+ backport_dist = 'debian/backports/%s' % dist_version
+ if os.path.exists(package_dir + '/' + backport_dist):
+ spawnv_chdir(os.P_WAIT, backport_dist, [backport_dist], package_dir)
+ text_backport = ' - automatically backported to %s' % dist
+ else:
+ text_backport = ''
+
+ changelog = "%s/debian/changelog" % package_dir
+ changelog_text = file(changelog).read()
+ os.unlink(changelog)
+ f = file(changelog, "w")
+ f.write("""\
+%s (%s%s%s) %s; urgency=low
+
+ * SVN snapshot for the pkg-gnome team%s.
+ Mail pkg-gnome-maintainers at lists.alioth.debian.org in case of problems.
+
+ -- Kilian Krause <kilian at debian.org> %s
+
+""" % (
+ package_name, changelog_entry['Version']['source'], version_debian_prefix,
+ version_debian, 'pkg-gnome-' + dist, text_backport,
+ time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime()),
+ )
+)
+ f.write(changelog_text)
+ del f
+
+ svn_pkg = os.path.expanduser("~/bin/svn-pkg")
+ list = ['svn-pkg', '-k63FA8478', '-S', '-d', '--svn-ignore', '-rfakeroot', '--svn-noninteractive']
+ if buildwithsource:
+ spawnv_chdir(os.P_WAIT, svn_pkg, list + ['-sa'], package_dir)
+ buildwithsource = False
+ else:
+ spawnv_chdir(os.P_WAIT, svn_pkg, list + ['-sd'], package_dir)
+
+ for suffix in (suffices):
+ prefix = '%s_%s%s%s' % (package_name, package_version, version_debian_prefix, version_debian)
+ #print "Moving: %s%s" % (prefix, suffix)
+ os.link("gen/build-area/%s%s" % (prefix, suffix), "out/%s%s" % (prefix, suffix))
+ os.unlink("gen/build-area/%s%s" % (prefix, suffix))
+
+ #print "Moved all resulting files to out."
+ file(last_file, 'w').write("%d %s\n" % (revision, version_upstream))
+
+ #print "Cleaning up."
+ package_storage.remove()
+
+ #print "Uploading."
+ spawnv_chdir(os.P_WAIT, 'dupload', ['dupload', '--to', 'seraph', '%s_%s%s%s_source.changes' % (package_name, package_version, version_debian_prefix, version_debian)], "out")
+ #print "Done with %s_%s-%s.\n\n" % (package_name,package_version,version_debian)
+ return True
+
+def main():
+ maps_dists = {
+ "desktop/unstable/atk1.0": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/at-spi": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/bug-buddy": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/control-center": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/dasher": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/eel2": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/ekiga": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/eog": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/epiphany-browser": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/evince": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/file-roller": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gail": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gcalctool": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gconf2": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gconf-editor": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gedit": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/glade": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/glib2.0": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-applets": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-backgrounds": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-common": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-desktop": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-doc-utils": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-games": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-games-extra-data": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-icon-theme": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-keyring": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-keyring-manager": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-mag": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-media": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnomemeeting": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-menus": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-mime-data": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-netstatus": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-nettool": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-panel": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-python": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-python-desktop": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-screensaver": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-session": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-system-monitor": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-system-tools": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-terminal": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-themes": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-user-docs": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-utils": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gnome-vfs2": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gok": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gtk+2.0": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gtk2-engines": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gtk-doc": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gtksourceview": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/gucharmap": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/intltool": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libart-lgpl": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libbonobo": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libbonoboui": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libcroco": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libgail-gnome": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libglade2": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libgnomecanvas": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libgnome": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libgnomeprint": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libgnomeprintui": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libgnomeui": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libgtkhtml2": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libgtop2": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/librsvg": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libsoup": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libwnck": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/libxklavier": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/metacity": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/meta-gnome2": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/nautilus-cd-burner": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/nautilus": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/pango1.0": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/pessulus": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/pygobject": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/pygtk": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/pyorbit": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/sabayon": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/sound-juicer": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/startup-notification": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/system-tools-backends": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/totem": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/vino": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/vte": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/yelp": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/unstable/zenity": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/alleyoop": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/balsa": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/brasero": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/clearlooks": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/contact-lookup-applet": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/devhelp": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/devilspie": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/doc-gnome-hig": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/epiphany-extensions": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gaim": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gamin": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gazpacho": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gdesklets-data": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gdesklets": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gdm-themes": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/ghex": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gksu": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/glabels": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gnome-bluetooth": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gnome-cups-manager": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gnome-hearts": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gnome-mud": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gnome-python-extras": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gnome-spell": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gnome-themes-extras": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gossip": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gtetrinet": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gtodo-applet": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gtodo": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gtranslator": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gweled": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gwget2": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/gyrus": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/industrial-cursor-theme": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/leafpad": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/libgda2": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/libgksu1.2": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/libgksu": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/libgksuui1.0": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/libgnetwork": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/libgnomecups": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/libgnomedb": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/libgnomesu": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/loudmouth": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/mergeant": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/mozilla-bonobo": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/nautilus-actions": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/nautilus-sendto": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/netspeed": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/notification-daemon": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/rhythmbox": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/shared-mime-info": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/tsclient": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/update-manager": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/update-notifier": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "packages/unstable/xchat-gnome": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "tools/gnome-pkg-tools": ("ubuntu-dapper", "ubuntu-feisty", "ubuntu-edgy", "debian-sid", "debian-etch", "debian-sarge"),
+ "desktop/experimental/bug-buddy": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/control-center": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/eel2": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/ekiga": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/epiphany-browser": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/evince": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/file-roller": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gail": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gedit": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/glade-3": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/glib2.0": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-applets": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-desktop": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-media": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-nettool": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-python": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-python-desktop": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-screensaver": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-session": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-system-monitor": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-terminal": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-themes": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-utils": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gnome-vfs2": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gtk+2.0": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/gtk2-engines": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/libbonobo": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/libbonoboui": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/libgnomeprint": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/libgnomeprintui": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/libgnomeui": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/libgtop2": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/librsvg": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/libwnck": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/libxklavier": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/metacity": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/nautilus-cd-burner": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/nautilus": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/pessulus": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/pygobject": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/pygtk": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/pyorbit": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/sound-juicer": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/vte": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/yelp": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "desktop/experimental/zenity": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "packages/experimental/brasero": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "packages/experimental/epiphany-extensions": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "packages/experimental/gossip": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "packages/experimental/libgda2": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "packages/experimental/libgda3": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "packages/experimental/nautilus-python": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "packages/experimental/rhythmbox": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "packages/experimental/update-manager": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ "packages/experimental/xchat-gnome": ("ubuntu-dapper-experimental", "ubuntu-feisty-experimental", "ubuntu-edgy-experimental", "debian-sid-experimental", "debian-etch-experimental", "debian-sarge-experimental"),
+ }
+ maps_version = {
+ "debian-etch": "etch",
+ "debian-sarge": "sarge",
+ "debian-sid": "sid",
+ "ubuntu-feisty": "feisty",
+ "ubuntu-edgy": "edgy",
+ "ubuntu-dapper": "dapper",
+ "debian-etch-experimental": "etch+experimental",
+ "debian-sarge-experimental": "sarge+experimental",
+ "debian-sid-experimental": "sid+experimental",
+ "ubuntu-feisty-experimental": "feisty+experimental",
+ "ubuntu-edgy-experimental": "edgy+experimental",
+ "ubuntu-dapper-experimental": "dapper+experimental",
+ }
+ if len(sys.argv) > 1:
+ paths = sys.argv[1:]
+ else:
+ paths = maps_dists.keys()
+ for path in paths:
+ checkout(path)
+ try:
+ for dist in maps_dists[path]:
+ if not package(path, dist, maps_version[dist]):
+ break
+ except:
+ pass
+
+if __name__ == '__main__':
+ os.chdir(base)
+ main()
+
+# vim:set ai et sts=2 sw=2 tw=80:
Propchange: tools/snapshots/scripts/pkg-gnome-package
------------------------------------------------------------------------------
svn:executable = *
Added: tools/snapshots/scripts/svn-pkg
URL: http://svn.debian.org/wsvn/pkg-gnome/tools/snapshots/scripts/svn-pkg?rev=11515&op=file
==============================================================================
--- tools/snapshots/scripts/svn-pkg (added)
+++ tools/snapshots/scripts/svn-pkg Wed Jun 13 20:12:02 2007
@@ -1,0 +1,568 @@
+#!/usr/bin/perl
+# (c) Eduard Bloch <blade at debian.org>, 2003
+# License: GPL
+# Version: $Id: svn-buildpackage 2100 2005-10-13 19:29:24Z par ame ter $
+
+#use Getopt::Long;
+use Getopt::Long qw(:config no_ignore_case bundling pass_through);
+use File::Basename;
+use Cwd;
+use SVN::Client;
+#use diagnostics;
+
+$startdir=getcwd;
+chomp($tmpfile=`mktemp`);
+$scriptname="[svn-buildpackage]";
+
+sub help {
+print "
+Usage: svn-buildpackage [ OPTIONS... ] [ OPTIONS for dpkg-buildpackage ]
+Builds Debian package within the SVN repository. The source code
+repository must be in the format created by svn-inject, and this script
+must be executed from the work directory (trunk/package).
+
+ -h, --help Show the help message
+ --svn-dont-clean Don't run debian/rules clean (default: clean first)
+ --svn-dont-purge Don't wipe the build directory (default: purge after build)
+ --svn-no-links Don't use file links (default: use where possible)
+ --svn-ignore-new Don't stop on svn conflicts or new/changed files
+ --svn-verbose More verbose program output
+ --svn-builder CMD Use CMD as build command instead of dpkg-buildpackage
+ --svn-override a=b Override some config variable (comma separated list)
+ --svn-move move package files to .. after successful build
+ --svn-move-to XYZ move package files to XYZ, implies --svn-move
+ --svn-only-tag Tags the current trunk directory without building
+ --svn-tag Final build: Export && build && tag && dch -i
+ --svn-retag replace an existing tag directory if found while tagging
+ --svn-lintian Run lintian after the build. s/lintian/linda/ to use linda
+ --svn-pkg PACKAGE Specifies the package name
+ --svn-export Just prepares the build directory and exits
+ --svn-reuse Reuse an existing build directory, copy trunk over it
+ --svn-noninteractive Don't ask question
+
+If the debian directory has the mergeWithUpstream property, svn-buildpackage
+will extract .orig.tar.gz file first and add the Debian files to it.
+
+"; exit 1;
+}
+$quiet="-q";
+my $opt_help;
+my $opt_verbose;
+my $opt_dontclean;
+my $opt_dontpurge;
+my $opt_reuse;
+my $opt_ignnew;
+my $opt_tag;
+my $opt_only_tag;
+my $opt_lintian;
+my $opt_linda;
+my $opt_nolinks;
+my $opt_noninteractive;
+my $opt_pretag;
+my $opt_prebuild;
+my $opt_posttag;
+my $opt_postbuild;
+my $opt_buildcmd;
+my $opt_export;
+my $opt_pass_diff;
+my @opt_override;
+my $opt_move;
+my $package;
+my $arch;
+
+%options = (
+ "h|help" => \$opt_help,
+ "svn-verbose" => \$opt_verbose,
+ "svn-ignore-new|svn-ignore" => \$opt_ignnew,
+ "svn-dont-clean" => \$opt_dontclean,
+ "svn-export" => \$opt_export,
+ "svn-dont-purge" => \$opt_dontpurge,
+ "svn-reuse" => \$opt_reuse,
+ "svn-only-tag" => \$opt_only_tag,
+ "svn-tag-only" => \$opt_only_tag,
+ "svn-tag" => \$opt_tag,
+ "svn-retag" => \$opt_retag,
+ "svn-lintian" => \$opt_lintian,
+ "svn-linda" => \$opt_linda,
+ "svn-no-links" => \$opt_nolinks,
+ "svn-noninteractive" => \$opt_noninteractive,
+ "svn-pass-diff" => \$opt_pass_diff,
+ "svn-prebuild=s" => \$opt_prebuild,
+ "svn-postbuild=s" => \$opt_postbuild,
+ "svn-pretag=s" => \$opt_pretag,
+ "svn-posttag=s" => \$opt_posttag,
+ # and for compatibility wit old config directives
+ "pre-tag-action=s" => \$opt_pretag,
+ "post-tag-action=s" => \$opt_posttag,
+ "pre-build-action=s" => \$opt_prebuild,
+ "post-build-action=s" => \$opt_postbuild,
+ "svn-move" => \$opt_move,
+ "svn-move-to=s" => \$opt_move_to,
+ "svn-builder=s" => \$opt_buildcmd,
+ "svn-override=s" => \@opt_override,
+ "svn-pkg=s" => \$package
+);
+
+use lib "/usr/share/svn-buildpackage";
+use SDCommon;
+
+&help if ($ARGV[0] eq "-h" || $ARGV[0] eq "--help");
+
+SDCommon::init;
+
+sub setenv {
+ ($key, $val) = @_;
+ return 0 if(!defined($val));
+ print "ENV: $key=$val\n" if $opt_verbose;
+ $ENV{$key}=$val;
+}
+
+sub setallenv {
+ $tagVersion=$SDCommon::tagVersion;
+ $upVersion=$SDCommon::upVersion;
+ $tagVersionNonEpoch = $tagVersion;
+ $tagVersionNonEpoch =~ s/^[^:]*://;
+
+ #this sucks but the config file needs to be processed before the options and there should be reasonable default
+ setenv("PACKAGE", defined($package) ? $package : $SDCommon::package);
+ setenv("package", defined($package) ? $package : $SDCommon::package);
+ setenv "TAG_VERSION", $tagVersion;
+ setenv "debian_version", $tagVersion;
+ setenv "non_epoch_version", $tagVersionNonEpoch;
+ setenv "upstream_version", $upVersion;
+ setenv "SVN_BUILDPACKAGE", $SDCommon::version;
+ setenv "guess_loc", ( ($package=~/^(lib.)/)?$1:substr($package,0,1))."/$package"."_$upVersion.orig.tar.gz";
+}
+
+&setallenv;
+
+sub runcmd {
+ if ($ENV{DEBIAN_FRONTEND} =~ /^force-interactive$/ || !$opt_noninteractive) {
+ withecho(@_);
+ } else {
+ #print "Running noninteractive: @_:\n";
+ withechoNoPrompt(@_);
+ }
+}
+
+for $file ($ENV{"HOME"}."/.svn-buildpackage.conf", ".svn/svn-buildpackage.conf") {
+
+ if(open($rc, $file)) {
+ SKIP: while(<$rc>) {
+ chomp;
+ next SKIP if /^#/;
+ # drop leading spaces
+ s/^\s+//;
+ if(/^\w/) {
+ # remove spaces between
+ s/^(\S+)\s*=\s*/$1=/;
+ # convert to options and push to args
+ s/^/--/;
+ $_=`echo -n $_` if(/[\$`~]/);
+ push(@CONFARGS, $_);
+ }
+ }
+ close($rc);
+ }
+}
+
+if($#CONFARGS>=0) {
+ @ARGV=(@CONFARGS, @ARGV);
+ print "Imported config directives:\n\t".join("\n\t", @CONFARGS)."\n";
+}
+
+&help unless ( GetOptions(%options));
+&help if ($opt_help);
+$quiet="" if ($opt_verbose);
+$opt_quiet=$quiet;
+# if opt_only_tag is used, set opt_tag too. Should not hurt because the
+# real function of opt_tag at the end of the script is never reached
+$opt_tag = 1 if($opt_only_tag);
+$opt_move=1 if $opt_move_to;
+$destdir=long_path($opt_move_to ? $opt_move_to : "$startdir/..");
+$SDCommon::opt_verbose=$opt_verbose;
+$package = $SDCommon::package if(!$package);
+
+runcmd "fakeroot debian/rules clean || debian/rules clean" if ! ($opt_dontclean || (`svn proplist debian` =~ /mergeWithUpstream/i));
+SDCommon::check_uncommited if(!$opt_ignnew);
+
+SDCommon::configure;
+needs_tagsUrl if($opt_tag);
+$c=\%SDCommon::c;
+
+#some things may have been overriden by user options
+&setallenv;
+
+
+if($opt_buildcmd || $opt_export) {
+ @builder = split / /, $opt_buildcmd;
+ if($opt_buildcmd=~/;|\||&/) {
+ print "I: Looks like a shell construct in the build command, running trough the shell\n";
+ #@builder = (join(" ", @builder, @ARGV));
+ # become a single command again and let perl run it trough the shell
+ $cmd=$opt_buildcmd." ".join(" ", @ARGV);
+ @builder = ($cmd);
+ undef @ARGV;
+ }
+}
+else {
+ push(@builder, "dpkg-buildpackage");
+ # a simple "helper". Only executed if no custom command is choosen and
+ # no -d switch is there
+ {
+ if( (!grep {$_ eq "-d"} @ARGV)
+ && (! withechoNoPrompt("dpkg-checkbuilddeps")) )
+ {
+ die "Insufficient Build-Deps, stop!\n";
+ }
+ }
+}
+
+if(`dpkg-parsechangelog` =~ /(NOT\ RELEASED\ YET)|(UNRELEASED;)/) {
+ print STDERR "NOT RELEASED YET tag found - you don't want to release it with it, do you?\n";
+ die "Aborting now, set \$FORCETAG to ignore it.\n" if($opt_tag && !$ENV{"FORCETAG"});
+}
+
+ at opt_override = split(/,|\ |\r|\n/,join(',', at opt_override));
+for(@opt_override) {
+ $SDCommon::nosave=1;
+ if(/(.*)=(.*)/) {
+ print "Overriding variable: $1 with $2\n" if $opt_verbose;
+ $$c{$1}=$2;
+ }
+ else {
+ print "Warning, unable to parse the override string: $_\n";
+ }
+}
+
+sub checktag {
+ if(insvn($$c{"tagsUrl"}."/$tagVersion")) {
+ if($opt_retag) {
+ runcmd ("svn", "-m", "$scriptname Removing old tag $package-$tagVersion", "rm", $$c{"tagsUrl"}."/$tagVersion");
+ }
+ else {
+ die "Could not create tag copy\n".
+ $$c{"tagsUrl"}."/$tagVersion - it
+does already exist. Add the --svn-retag option to replace that tag.\n";
+ }
+ }
+}
+
+for(keys %{$c}) {
+ $val=$$c{$_};
+ setenv $_, $$c{$_};
+}
+
+if($opt_only_tag) {
+ checktag;
+ chdir $$c{"trunkDir"};
+ system "$opt_pretag" if($opt_pretag);
+ runcmd ("svn", "-m", "$scriptname Tagging $package ($tagVersion)", "cp", $$c{"trunkUrl"}, $$c{"tagsUrl"}."/$tagVersion");
+ system "$opt_posttag" if($opt_posttag);
+ runcmd "dch -D UNRELEASED -i \"NOT RELEASED YET\"";
+ print "\nI: Done! Last commit pending, please execute manually.\n";
+ SDCommon::sd_exit 0;
+}
+
+print "D: ",$opt_prebuild if $opt_verbose;
+
+system "$opt_prebuild" if($opt_prebuild);
+
+$$c{"buildArea"}=long_path($startdir."/..")."/build-area" if(!$$c{"buildArea"});
+
+mkdir $$c{"buildArea"} if (! -d $$c{"buildArea"});
+
+$orig = $package."_".$upVersion.".orig.tar.gz";
+
+if ($$c{"origDir"}) {
+ $origExpect = $$c{"origDir"}."/$orig";
+ $origfile = long_path($origExpect) if (-f $origExpect);
+}
+else { $origExpect = "(location unknown)" };
+
+$ba=$$c{"buildArea"};
+$bdir="$ba/$package-$upVersion";
+
+if(!$opt_reuse && -e "$bdir") {
+ $backupNr=rand;
+ print STDERR "$bdir exists, renaming to $bdir.obsolete.$backupNr\n";
+ rename("$bdir","$bdir.obsolete.$backupNr");
+}
+
+mkdir "$ba" if(! -d "$ba");
+
+if(`svn proplist debian` =~ /mergeWithUpstream/i) {
+ print "mergeWithUpstream mode detected, looking for $origExpect\n";
+}
+
+# gets the upstream branch out of svn into .orig directory
+sub exportToOrigDir {
+ # no upstream source export by default and never in mergeWithUpstream mode
+ if((!$ENV{"FORCEEXPORT"}) || `svn proplist debian` =~ /mergeWithUpstream/i) {
+ return 0;
+ }
+ needs_upsCurrentUrl;
+ $upsVersUrl=$$c{"upsTagUrl"}."/$upVersion";
+ defined($$c{"upsCurrentUrl"}) || print STDERR "upsCurrentUrl not set and not located, expect problems...\n";
+ runcmd("rm", "-rf", "$bdir.orig");
+ runcmd "svn", "export",$$c{"upsCurrentUrl"},"$bdir.orig";
+}
+
+# non-Debian-native package detected, needing some kind of upstream source for
+# dpkg-buildpackage (most likely, spew error messages but continue on native
+# packages with dashes)
+if($tagVersion =~ /-/) {
+ my $abs_origfile=long_path($origfile);
+ my $orig_target="$ba/".$orig;
+ if($opt_verbose) {
+ print "Trying different methods to export the upstream source:\n";
+ print " - making hard or symbolic link from $origExpect\n" if (!$opt_nolinks);
+ print " - copying the tarball to the expected destination file\n";
+ }
+ else {
+ print "W: $abs_origfile not found, expect problems...\n" if(! -e $abs_origfile);
+ }
+ if($origfile && -e $abs_origfile) {
+ if(-e $orig_target) {
+ if(((stat($abs_origfile))[7]) != ((stat($orig_target))[7]))
+ {
+ die "$orig_target exists but differs from $abs_origfile!\nAborting, fix this manually...";
+ }
+ }
+ else {
+ # orig in tarball-dir but not in build-area
+ if($opt_nolinks) {
+ withechoNoPrompt("cp", long_path($origfile), "$ba/$orig")
+ ||
+ exportToOrigDir;
+ }
+ else {
+ link(long_path($origfile),"$ba/".$orig)
+ ||
+ symlink(long_path($origfile),"$ba/".$orig)
+ ||
+ withechoNoPrompt("cp",long_path($origfile),"$ba/$orig")
+ ||
+ exportToOrigDir;
+ }
+ }
+ }
+ else {
+ # no orig at all, try exporting
+ exportToOrigDir;
+ }
+}
+
+# contents examination for "cp -l" emulation
+print STDERR "Creating file list...\n" if $opt_verbose;
+sub collect_names {
+ push(@filelist, $_[0]);
+}
+my $ctx = new SVN::Client;
+$ctx->status("", "BASE", \&collect_names, 1, 1, 0, 1);
+# open($stat, "svn status -v |");
+#open($stat, "svn ls -R |");
+#while(<$stat>) {
+# if(/^[^\?].*\d+\s+\d+\s+\S+\s+(.*)\n/) {
+# $_=$1;
+#chomp;
+for(@filelist) {
+ if ($_ ne ".") {
+ if(-d $_) {
+ push(@dirs,$_);
+ print STDERR "DIR: $_\n" if $opt_verbose;
+ }
+ else {
+ push(@files,$_);
+ print STDERR "FILE: $_\n" if $opt_verbose;
+ }
+ s#/$##;
+ push(@stuff, $_);
+ }
+# }
+}
+
+# sub cpl {
+# ($from, $to) = @_;
+# for(@dirs) {$_="$from/$_"}
+# for(@files){$_="$from/$_"}
+#
+# system "cd $bdir && mkdir -p ".join(' ', at dirs)) +
+# system "cp", "--parents", "-laf", @files), "$bdir/") ;
+# }
+
+if(`svn proplist debian` =~ /mergeWithUpstream/i) {
+ print STDERR "I: mergeWithUpstream property set, looking for upstream source tarball...\n";
+ die "E: Could not find the origDir directory, please check the settings!\n" if(! -e $$c{"origDir"});
+ die "E: Could not find the upstream source file! (should be $origExpect)\n" if(! ($origfile && -e $origfile));
+ $mod=rand;
+ mkdir "$ba/tmp-$mod";
+ if($opt_reuse && -d $bdir) {
+ print "Reusing old build directory\n" if $opt_verbose;
+ }
+ else {
+ runcmd "tar", "zxf", $origfile, "-C", "$ba/tmp-$mod";
+ my @entries = (<$ba/tmp-$mod/*>);
+ if (@entries == 1) {
+ # The files are stored in the archive under a top directory, we
+ # presume
+ runcmd "mv", (<$ba/tmp-$mod/*>), $bdir;
+ }
+ else {
+ # Otherwise, we put them into a new directory
+ runcmd "mv", "$ba/tmp-$mod", $bdir;
+ }
+ }
+ if($opt_nolinks || $opt_ignnew) {
+ runcmd ("svn", "--force", "export", $$c{"trunkDir"},"$bdir");
+ }
+ else {
+ mkdir $bdir;
+ #fixme maybe rewrite to withecho
+ if( system("mkdir","-p", map { "$bdir/$_" } @dirs) + system ("cp", "--parents", "-laf", @files, $bdir) )
+ { # cp failed...
+ runcmd "svn", "--force", "export", $$c{"trunkDir"},"$bdir";
+ }
+ }
+ runcmd "rm", "-rf", "$ba/tmp-$mod";
+}
+else {
+ if($opt_nolinks) {
+ runcmd "svn","--force", "export",$$c{"trunkDir"},"$bdir";
+ }
+ else {
+ mkdir $bdir;
+ # stupid autodevtools are confused but... why?
+ if(system("mkdir", map { "$bdir/$_" } sort(@dirs)) + system ("cp", "--parents", "-laf", @files, $bdir) )
+ #open(tpipe, "| tar c --no-recursion | tar --atime-preserve -x -f- -C $bdir");
+ #for(@dirs) {print tpipe "$_\n"}
+ #close(tpipe);
+ #if(system ("cp", "--parents", "-laf", @files, $bdir))
+ { # cp failed...
+ system "rm", "-rf", $bdir;
+ runcmd "svn", "--force", "export",$$c{"trunkDir"},$bdir;
+ }
+ }
+}
+
+# a cludge...
+if($opt_pass_diff) {
+ $dirname="$package-$upVersion";
+ needs_upsCurrentUrl;
+
+ if(`svn status $$c{"trunkDir"}` =~ /(^|\n)(A|M|D)/m) {
+ print STDERR "Warning, uncommited changes found, using combinediff to merge them...\n";
+ chomp($afile=`mktemp`);
+ chomp($bfile=`mktemp`);
+ chomp($cfile=`mktemp`);
+ runcmd "svn diff ".$$c{"upsCurrentUrl"}." ".$$c{"trunkUrl"}." > $afile";
+ runcmd "cd ".$$c{"trunkDir"}." ; svn diff > $bfile";
+ runcmd "combinediff $afile $bfile > $cfile";
+ open(diffin, "cat $cfile |");
+ }
+ else {
+ open(diffin, "svn diff ".$$c{"upsCurrentUrl"}." ".$$c{"trunkUrl"}." |");
+ }
+ open(diffout,">$tmpfile");
+ # fix some diff junk
+ $invalid=1;
+ while(<diffin>) {
+ s!^--- (\S+).*!--- $dirname.orig/$1!;
+ s!^\+\+\+ (\S+).*!+++ $dirname/$1!;
+ $invalid=0 if(/^---/);
+ $invalid=1 if( (!$invalid) && /^[^+\-\t\ @]/);
+ $invalid || print diffout $_;
+ }
+ close(diffin);
+ close(diffout);
+ $ENV{"DIFFSRC"}=$tmpfile;
+}
+
+chdir $bdir || die "Mh, something is going wrong with builddir $bdir...";
+
+if($opt_export) { print "Build directory exported to $bdir\n"; exit 0;}
+
+if (!runcmd(@builder, at ARGV)) {
+ system "$opt_postbuild" if($opt_postbuild);
+ print STDERR "build command failed in $bdir\nAborting.\n";
+ print STDERR "W: build directory not purged!\n";
+ print STDERR "W: no lintian/linda checks done!\n" if($opt_lintian);
+ print STDERR "W: package not tagged!\n" if($opt_tag);
+ SDCommon::sd_exit 1;
+}
+else {
+
+ system "$opt_postbuild" if($opt_postbuild);
+
+ # no summary when using custom command
+ if(! $opt_buildcmd) {
+
+ chdir "..";
+ #for $arch (`dpkg --print-architecture`, "source") {
+ # chomp($arch);
+ # $chfile="$package"."_$tagVersionNonEpoch"."_$arch.changes";
+ # last if(open($ch, "<$ba/$chfile"));
+ #}
+
+ # HACK HACK
+ $chfile="$package"."_$tagVersionNonEpoch"."_source.changes";
+
+ if(open($ch, "<$ba/$chfile")) {
+ while(<$ch>) { push(@newfiles, $1) if(/^\s\w+\s\d+\s\S+\s\w+\s(.+)\n/); }
+ close($ch);
+ push(@newfiles, "$ba/$chfile");
+
+ if($opt_move) {
+ $retval=!withechoNoPrompt("mv", @newfiles, $destdir);
+ }
+ else { $destdir=$ba; }
+
+ # expand the paths in the list and kick non-binary packages
+
+ map { if(/\.deb$/){ $_=" $destdir/$_"; $multi++}else{undef $_}} @newfiles;
+
+ #print STDERR `tput smso`,
+ #...
+ print STDERR "build command was successful; binaries are in $destdir/. ",
+ "The changes file is:\n $destdir/$chfile.\n\n";
+ #`tput rmso`, "Binary package",
+ #($multi > 1 ? "s:\n" : ":\n"),
+ #@newfiles, "\n";
+
+ print STDERR "Warning: $package should have an orig tarball but it does not!\n",
+ if(($upVersion ne $tagVersion) && ($tagVersion =~/-1$/) && !-e "$destdir/$orig");
+ }
+ elsif($opt_verbose)
+ {
+ print STDERR "Could not read the .changes file";
+ }
+ }
+
+ # cleanup
+ if(!$opt_dontpurge) {
+ runcmd "rm", "-rf", $bdir if(length($tagVersion));
+ unlink $tmpfile;
+ unlink $afile;
+ unlink $bfile;
+ unlink $cfile;
+ }
+
+ if($opt_lintian) {
+ runcmd "lintian", "$destdir/$chfile";
+ }
+
+ if($opt_linda) {
+ runcmd "linda", "$destdir/$chfile";
+ }
+
+ if($opt_tag) {
+ system "$opt_pretag" if($opt_pretag);
+ checktag;
+ runcmd ("svn", "-m", "$scriptname Tagging $package ($tagVersion)", "cp", $$c{"trunkUrl"}, $$c{"tagsUrl"}."/$tagVersion");
+ system "$opt_posttag" if($opt_posttag);
+ chdir $$c{"trunkDir"};
+ runcmd "dch", "-D", "UNRELEASED", "-i", "NOT RELEASED YET";
+ print "\nI: Done! Created the next changelog entry, please commit later or revert.\n";
+ }
+}
+SDCommon::sd_exit 0+$retval;
Propchange: tools/snapshots/scripts/svn-pkg
------------------------------------------------------------------------------
svn:executable = *
More information about the pkg-gnome-commits
mailing list