[Pkg-xen-changes] r620 - trunk/xen-common/debian/bin
Bastian Blank
waldi at alioth.debian.org
Sun May 10 13:27:36 UTC 2009
Author: waldi
Date: Sun May 10 13:27:36 2009
New Revision: 620
Log:
debian/bin/genorig.py: Use subprocess.
Modified:
trunk/xen-common/debian/bin/genorig.py
Modified: trunk/xen-common/debian/bin/genorig.py
==============================================================================
--- trunk/xen-common/debian/bin/genorig.py Sun May 10 13:17:43 2009 (r619)
+++ trunk/xen-common/debian/bin/genorig.py Sun May 10 13:27:36 2009 (r620)
@@ -3,7 +3,9 @@
import sys
sys.path.append(sys.path[0] + '/../lib/python')
-import os, os.path, re, shutil
+import itertools
+import os, os.path
+import shutil
import subprocess
from debian_xen.debian import VersionXen, Changelog
@@ -11,7 +13,7 @@
class Main(object):
log = sys.stdout.write
- files = ['config', 'Config.mk', 'docs/Docs.mk', 'docs/Makefile', 'docs/man', 'tools/Rules.mk', 'tools/examples']
+ files = ('config', 'Config.mk', 'docs/Docs.mk', 'docs/Makefile', 'docs/man', 'tools/Rules.mk', 'tools/examples')
def __init__(self, options, repo):
self.options, self.repo = options, repo
@@ -39,6 +41,7 @@
if not self.options.tag:
return
+ 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
@@ -51,20 +54,24 @@
def do_archive(self):
self.log("Create archive.\n")
- include_args = ' '.join(('-I %s' % i for i in self.files))
- f = os.popen("cd %s; hg archive %s %s/%s" % (self.repo, include_args, 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) + tuple(itertools.chain(*(('-I', i) for i in self.files)))
+ p = subprocess.Popen(args, cwd=self.repo)
+ if p.wait():
raise RuntimeError
def do_changelog(self):
self.log("Exporting changelog.\n")
- file_args = ' '.join(self.files)
- f = os.popen("cd %s; hg log %s" % (self.repo, file_args))
- 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') + tuple(self.files)
+ 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
More information about the Pkg-xen-changes
mailing list