[Pkg-xen-changes] r622 - trunk/xen-3/debian/bin
Bastian Blank
waldi at alioth.debian.org
Sun May 10 13:34:07 UTC 2009
Author: waldi
Date: Sun May 10 13:34:06 2009
New Revision: 622
Log:
debian/bin/genorig.py: Adopt changes.
Modified:
trunk/xen-3/debian/bin/genorig.py
Modified: trunk/xen-3/debian/bin/genorig.py
==============================================================================
--- trunk/xen-3/debian/bin/genorig.py Sun May 10 13:33:56 2009 (r621)
+++ trunk/xen-3/debian/bin/genorig.py Sun May 10 13:34:06 2009 (r622)
@@ -1,19 +1,23 @@
#!/usr/bin/env python
-import os, os.path, re, shutil, sys
-
+import sys
sys.path.append(sys.path[0] + '/../lib/python')
+import itertools
+import os, os.path
+import shutil
+import subprocess
+
from debian_xen.debian import VersionXen
from debian_linux.debian import Changelog
-class GenOrig(object):
+class Main(object):
log = sys.stdout.write
- def __init__(self, repo, tag, version):
- self.repo, self.tag, self.version = repo, tag, version
+ def __init__(self, options, repo):
+ self.options, self.repo = options, repo
- self.changelog_entry = Changelog(version = VersionXen)[0]
+ self.changelog_entry = Changelog(version=VersionXen)[0]
self.source = self.changelog_entry.source
def __call__(self):
@@ -33,43 +37,54 @@
shutil.rmtree(self.dir)
def do_update(self):
- if self.tag is None:
+ if not self.options.tag:
return
- f = os.popen("cd %s; hg update -r %s" % (self.repo, self.tag))
- if f.close() is not None:
+
+ self.log('Updating to tag %s.\n' % self.options.tag)
+ p = subprocess.Popen(('hg', 'update', '-r', self.options.tag), cwd=self.repo)
+ if p.wait():
raise RuntimeError
def do_version(self):
- if self.version is not None:
+ if self.options.version:
+ self.version = self.options.version
return
raise NotImplementedError
def do_archive(self):
self.log("Create archive.\n")
- f = os.popen("cd %s; hg archive %s/%s" % (self.repo, os.path.realpath(self.dir), self.orig_dir))
- if f.close() is not None:
+
+ arg_dir = os.path.join(os.path.realpath(self.dir), self.orig_dir)
+ args = ('hg', 'archive', arg_dir)
+ p = subprocess.Popen(args, cwd=self.repo)
+ if p.wait():
raise RuntimeError
def do_changelog(self):
self.log("Exporting changelog.\n")
- f = os.popen("cd %s; hg log" % (self.repo))
- f_out = file("%s/%s/Changelog" % (self.dir, self.orig_dir), 'w')
- shutil.copyfileobj(f, f_out)
- if f.close() is not None:
+
+ log = open("%s/%s/Changelog" % (self.dir, self.orig_dir), 'w')
+ args = ('hg', 'log')
+ p = subprocess.Popen(args, cwd=self.repo, stdout=log)
+ if p.wait():
raise RuntimeError
- f_out.close()
+
+ log.close()
def do_tar(self):
out = "../orig/%s" % self.orig_tar
self.log("Generate tarball %s\n" % out)
- f = os.popen("tar -C %s -czf %s %s" % (self.dir, out, self.orig_dir))
- if f.close() is not None:
+
+ p = subprocess.Popen(('tar', '-C', self.dir, '-czf', out, self.orig_dir))
+ if p.wait():
raise RuntimeError
if __name__ == '__main__':
from optparse import OptionParser
- p = OptionParser()
- p.add_option("-t", "--tag", dest = "tag")
- p.add_option("-v", "--version", dest = "version")
- options, args = p.parse_args(sys.argv)
- GenOrig(args[1], options.tag, options.version)()
+ p = OptionParser(prog=sys.argv[0], usage='%prog [OPTION]... DIR')
+ p.add_option("-t", "--tag", dest="tag")
+ p.add_option("-v", "--version", dest="version")
+ options, args = p.parse_args()
+ if len(args) != 1:
+ raise RuntimeError
+ Main(options, *args)()
More information about the Pkg-xen-changes
mailing list