# HG changeset patch # User Bernhard Herzog # Date 1174408066 -3600 # Node ID 3e610233ccfece86e9d8dee1448c2e0d89b18cdd # Parent a2ce575ce82b0676bc10a383c3788a57f5033064 use cmdexpand when calling subprocesses diff -r a2ce575ce82b -r 3e610233ccfe enterprise/kdei18n.py --- a/enterprise/kdei18n.py Mon Mar 19 20:14:07 2007 +0100 +++ b/enterprise/kdei18n.py Tue Mar 20 17:27:46 2007 +0100 @@ -13,6 +13,7 @@ import treepkg.packager import treepkg.util import treepkg.run as run +from treepkg.cmdexpand import cmdexpand class SourcePackager(treepkg.packager.SourcePackager): @@ -50,7 +51,8 @@ def unpack_orig_tarball(self): orig_tarball = self.pkg_line.orig_tarball - run.call(["tar", "xjf", orig_tarball, "-C", self.work_dir]) + run.call(cmdexpand("tar xjf $tarball -C $directory", + tarball=orig_tarball, directory=self.work_dir)) tarbasename = os.path.basename(orig_tarball) splitext = os.path.splitext return os.path.join(self.work_dir, @@ -71,7 +73,7 @@ treepkg.util.copytree(untarred_dir, de_dir) treepkg.util.copytree(new_de_dir, de_dir) logging.info("Running scripts/autogen.sh for kde-i18n-de tarball") - run.call(["/bin/sh", "scripts/autogen.sh", "de"], cwd=pkgbasedir, + run.call(cmdexpand("/bin/sh scripts/autogen.sh de"), cwd=pkgbasedir, suppress_output=True) tarballdir = "kde-i18n-de-" + pkgbaseversion @@ -79,7 +81,8 @@ tarball = os.path.join(os.path.dirname(pkgbasedir), tarballdir + ".tar.bz2") - run.call(["tar", "cjf", tarball, "-C", pkgbasedir, tarballdir]) + run.call(cmdexpand("tar cjf $tarball -C $pkgbasedir $tarballdir", + **locals())) logging.info("Created kde-i18n-de tarball") return tarball diff -r a2ce575ce82b -r 3e610233ccfe treepkg/packager.py --- a/treepkg/packager.py Mon Mar 19 20:14:07 2007 +0100 +++ b/treepkg/packager.py Tue Mar 20 17:27:46 2007 +0100 @@ -19,7 +19,7 @@ import subversion import run import status - +from cmdexpand import cmdexpand def _filenameproperty(relative_dir): def get(self): @@ -94,7 +94,8 @@ filename directly in workdir. """ logging.info("Creating tarball %r", tarballname) - run.call(["tar", "czf", tarballname, "-C", workdir, basedir]) + run.call(cmdexpand("tar czf $tarballname -C $workdir $basedir", + **locals())) def copy_debian_directory(self, pkgbasedir, pkgbaseversion, changemsg): """Copies the debian directory and updates the copy's changelog @@ -121,17 +122,18 @@ oldversionprefix = oldversion.split(":")[0] + ":" else: oldversionprefix = "" - run.call(["debchange", "-c", changelog, - "-v", oldversionprefix + pkgbaseversion + "-kk1", - changemsg], + run.call(cmdexpand("debchange -c $changelog" + " -v ${oldversionprefix}${pkgbaseversion}-kk1" + " $changemsg", **locals()), env=self.pkg_line.debian_environment()) def create_source_package(self, pkgbasedir, origtargz): """Creates a new source package from pkgbasedir and origtargz""" logging.info("Creating new source package") - run.call(["dpkg-source", "-b", os.path.basename(pkgbasedir), - os.path.basename(origtargz)], + run.call(cmdexpand("dpkg-source -b $directory $tarball", + directory=os.path.basename(pkgbasedir), + tarball=os.path.basename(origtargz)), cwd=os.path.dirname(pkgbasedir), suppress_output=True, env=self.pkg_line.debian_environment()) @@ -185,9 +187,11 @@ self.status.creating_binary_package() util.ensure_directory(self.binary_dir) logging.info("Building binary package; loging to %r", self.logfile) - cmd = ["/usr/sbin/pbuilder", "build", "--logfile", self.logfile, - "--buildresult", self.binary_dir, self.dsc_file] - run.call(self.pkg_line.root_cmd + cmd, suppress_output=True) + run.call(cmdexpand("@rootcmd /usr/sbin/pbuilder build" + " --logfile $logfile --buildresult $bindir $dsc", + rootcmd=self.pkg_line.root_cmd, logfile=self.logfile, + bindir=self.binary_dir, dsc=self.dsc_file), + suppress_output=True) self.status.binary_package_created() diff -r a2ce575ce82b -r 3e610233ccfe treepkg/subversion.py --- a/treepkg/subversion.py Mon Mar 19 20:14:07 2007 +0100 +++ b/treepkg/subversion.py Tue Mar 20 17:27:46 2007 +0100 @@ -10,20 +10,21 @@ import os import run +from cmdexpand import cmdexpand from util import extract_value_for_key def checkout(url, localdir): """Runs svn to checkout the repository at url into the localdir""" - run.call(["svn", "checkout", "-q", url, localdir]) + run.call(cmdexpand("svn checkout -q $url $localdir", **locals())) def update(localdir): """Runs svn update on the localdir""" - run.call(["svn", "update", "-q", localdir]) + run.call(cmdexpand("svn update -q $localdir", **locals())) def export(src, dest): """Runs svn export src dest""" - run.call(["svn", "export", "-q", src, dest]) + run.call(cmdexpand("svn export -q $src $dest", **locals())) def last_changed_revision(svn_working_copy): """return the last changed revision of an SVN working copy as an int""" @@ -32,6 +33,8 @@ env = os.environ.copy() env["LANG"] = "C" - output = run.capture_output(["svn", "info", svn_working_copy], env=env) + output = run.capture_output(cmdexpand("svn info $svn_working_copy", + **locals()), + env=env) return int(extract_value_for_key(output.splitlines(), "Last Changed Rev:"))