summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2011-05-29 11:13:30 +0100
committerLars Wirzenius <liw@liw.fi>2011-05-29 11:13:30 +0100
commitc9a8bd71c5cb238dba9a1004d13ac56131d8e55d (patch)
tree73c55c0f2a5dfa03f3832d6fee69b19c617214eb
parent2a55ea801706c29b9aadeddc626632f1835c81fb (diff)
downloadunperish-c9a8bd71c5cb238dba9a1004d13ac56131d8e55d.tar.gz
Build .deb with pbuilder.
-rwxr-xr-xunperish19
1 files 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