diff options
-rwxr-xr-x | unperish | 19 |
1 files changed, 17 insertions, 2 deletions
@@ -18,6 +18,7 @@ import cliapp import ConfigParser import debian.deb822 +import glob import logging import os import shutil @@ -34,6 +35,8 @@ class Unperish(cliapp.Application): def add_settings(self): self.settings.string(['build-area'], 'where should results go?', default='..') + self.settings.string(['basetgz'], 'pbuilder basetgz', + default='base.tgz') def process_args(self, args): self.meta = self.read_meta() @@ -79,6 +82,19 @@ class Unperish(cliapp.Application): self.runcmd('dpkg-source', '-b', self.dirname, cwd=self.settings['build-area']) + def cmd_deb(self, args): + buildresult = self.join('buildresult') + os.mkdir(buildresult) + dsc = glob.glob(self.join('*.dsc'))[0] + argv = ['sudo', + 'pbuilder', + '--build', + '--basetgz', self.settings['basetgz'], + '--buildresult', buildresult, + '--logfile', self.join('pbuilder.log'), + dsc] + self.runcmd(*argv, cwd=self.settings['build-area']) + def read_meta(self): cp = ConfigParser.RawConfigParser() cp.read(self.metafilename) @@ -90,11 +106,10 @@ class Unperish(cliapp.Application): def runcmd(self, *argv, **kwargs): logging.debug('runcmd: %s' % repr(argv)) p = subprocess.Popen(argv, - stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, **kwargs) - out, err = p.communicate('') + out, err = p.communicate() if p.returncode: raise cliapp.AppException('command failed: %s\n%s' % (argv, err)) return out |