r11987 - /tools/snapshots/scripts/snapshot-package
kilian at users.alioth.debian.org
kilian at users.alioth.debian.org
Tue Jul 17 14:15:37 UTC 2007
Author: kilian
Date: Tue Jul 17 14:15:37 2007
New Revision: 11987
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=11987
Log:
fix handling of epoch-versions
Modified:
tools/snapshots/scripts/snapshot-package
Modified: tools/snapshots/scripts/snapshot-package
URL: http://svn.debian.org/wsvn/pkg-gnome/tools/snapshots/scripts/snapshot-package?rev=11987&op=diff
==============================================================================
--- tools/snapshots/scripts/snapshot-package (original)
+++ tools/snapshots/scripts/snapshot-package Tue Jul 17 14:15:37 2007
@@ -153,6 +153,20 @@
self._exec("/usr/bin/svn", args)
except OSError: pass
+class LastFile(object):
+ revision = 0
+ upstream = None
+
+ def __init__(self, filename):
+ self.filename = filename
+ if os.path.exists(filename):
+ i = file(filename).read().strip().split()
+ self.revision = int(i[0])
+ self.upstream = i[1]
+
+ def write(self):
+ file(self.filename, 'w').write("%d %s\n" % (self.revision, self.upstream))
+
def checkout(path, entry):
sys.stdout.write("Updating %s ...\n" % (path))
sys.stdout.flush()
@@ -167,19 +181,13 @@
if line.startswith('Last Changed Rev: '):
revision = int(line.split()[-1])
- last_revision = 0
- last_upstream = None
- #print last_file
- if os.path.exists(last_file):
- i = file(last_file).read().strip()
- last_revision, last_upstream = i.split()
- last_revision = int(last_revision)
-
- if revision <= last_revision:
+ last = LastFile(last_file)
+
+ if revision <= last.revision:
return (0,0)
- return (revision, last_upstream)
-
-def package(path, dist, revision, last_upstream, entry):
+ return (revision, last.upstream)
+
+def package(path, dist, revision, upstream, entry):
base = entry['base']
native = entry.get('native', False)
dist_version = entry['version_' + dist]
@@ -189,6 +197,7 @@
gen_dir = os.path.join(base, 'gen')
out_dir = os.path.join(base, 'out')
last_file = os.path.join(base, "last-" + path.replace('/', '_'))
+ last = LastFile(last_file)
changelog_entry = debian_linux.debian.Changelog(checkout_dir)[0]
package_name = changelog_entry.source
@@ -201,8 +210,7 @@
sys.stdout.write("Processing %s (rev. %d, %s)...\n" % (path, revision, dist))
sys.stdout.flush()
- version_upstream = changelog_entry.version.upstream
- version_debian = changelog_entry.version.debian
+ version = changelog_entry.version
if changelog_entry.distribution in ('stable', 'testing', 'unstable', 'experimental'):
version_debian_delemiter = '.'
elif changelog_entry.distribution in ('UNRELEASED',):
@@ -237,12 +245,10 @@
os.unlink(os.path.join(out_dir, package_orig))
except OSError: pass
- version_debian += "%c%s.%d" % (version_debian_delemiter, dist_version, revision)
- version_debian_prefix = '-'
+ version.debian += "%c%s.%d" % (version_debian_delemiter, dist_version, revision)
else:
#print "Native debian, no source needed."
- version_debian = "%c%s.%d" % (version_debian_delemiter, dist_version, revision)
- version_debian_prefix = ''
+ version.debian = "%c%s.%d" % (version_debian_delemiter, dist_version, revision)
backport_dist = 'debian/backports/%s' % dist_version
if os.path.exists(package_dir + '/' + backport_dist):
@@ -256,15 +262,14 @@
os.unlink(changelog)
f = file(changelog, "w")
f.write("""\
-%s (%s%s%s) %s; urgency=low
+%s (%s) %s; urgency=low
* %s
-- %s %s
""" % (
- package_name, package_version, version_debian_prefix,
- version_debian, entry['project'] + '-' + dist,
+ package_name, version, entry['project'] + '-' + dist,
entry['changelog_text'] + text_backport,
entry['changelog_maintainer'],
time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime()),
@@ -279,14 +284,14 @@
if sign:
list.append('-k%s' % sign)
if not native:
- if version_upstream != last_upstream:
+ if version.upstream != upstream:
list.append('-sa')
else:
list.append('-sd')
else:
list.append('-sa')
spawnv_chdir(os.P_WAIT, svn_pkg, list, package_dir)
- prefix = '%s_%s%s%s' % (package_name, package_version, version_debian_prefix, version_debian)
+ prefix = '%s_%s' % (package_name, version.complete_noepoch)
suffices = ['.dsc', '_source.changes']
if native:
suffices.append('.tar.gz')
@@ -307,10 +312,10 @@
package_storage._rm(gen_dir + "/build-area")
#print "Moved all resulting files to out."
- file(last_file, 'w').write("%d %s\n" % (revision, version_upstream))
+ file(last_file, 'w').write("%d %s\n" % (revision, version.upstream))
#print "Uploading."
- spawnv_chdir(os.P_WAIT, 'dupload', ['dupload', '--to', entry['upload'], '%s_%s%s%s_source.changes' % (package_name, package_version, version_debian_prefix, version_debian)], out_dir)
+ spawnv_chdir(os.P_WAIT, 'dupload', ['dupload', '--to', entry['upload'], '%s_%s_source.changes' % (package_name, version.complete_noepoch)], out_dir)
return True
def main():
@@ -326,11 +331,11 @@
for path in paths:
try:
c = config[path]
- (revision, last_upstream) = checkout(path, c)
+ (revision, upstream) = checkout(path, c)
revision = int(revision)
if (revision > 0):
for dist in c['dist']:
- package(path, dist, revision, last_upstream, c)
+ package(path, dist, revision, upstream, c)
except Exception, e:
import traceback
traceback.print_exc()
More information about the pkg-gnome-commits
mailing list