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