diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-05-29 11:13:30 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-05-29 11:13:30 +0100 |
commit | c9a8bd71c5cb238dba9a1004d13ac56131d8e55d (patch) | |
tree | 73c55c0f2a5dfa03f3832d6fee69b19c617214eb | |
parent | 2a55ea801706c29b9aadeddc626632f1835c81fb (diff) | |
download | unperish-c9a8bd71c5cb238dba9a1004d13ac56131d8e55d.tar.gz |
Build .deb with pbuilder.
-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 |