From c9a8bd71c5cb238dba9a1004d13ac56131d8e55d Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 29 May 2011 11:13:30 +0100 Subject: Build .deb with pbuilder. --- unperish | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/unperish b/unperish index 2162ee6..2404419 100755 --- a/unperish +++ b/unperish @@ -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 -- cgit v1.2.1