From 158e3fbc608aee18e563e395abef24344c982732 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 29 May 2011 10:51:04 +0100 Subject: Generate Debian tarball. Assume non-native package for now. --- unperish | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/unperish b/unperish index e7cfed7..a760555 100755 --- a/unperish +++ b/unperish @@ -17,7 +17,10 @@ import cliapp import ConfigParser +import debian.deb822 import logging +import os +import shutil import subprocess @@ -28,8 +31,13 @@ class Unperish(cliapp.Application): metafilename = 'project.meta' + def add_settings(self): + self.settings.string(['build-area'], 'where should results go?', + default='..') + def process_args(self, args): self.meta = self.read_meta() + self.debian_control = debian.deb822.Deb822(open('debian/control')) return cliapp.Application.process_args(self, args) @property @@ -40,24 +48,34 @@ class Unperish(cliapp.Application): def upstream_version(self): return self.meta.get('project', 'version') - def cmd_dump(self, args): - self.meta.write(self.output) + @property + def upstream_tarball(self): + return '%s-%s.tar.gz' % (self.upstream_name, self.upstream_version) - def cmd_version(self, args): - self.output.write('%s\n' % self.get_upstream_version()) + @property + def debian_source_package(self): + return self.debian_control['Source'] - def cmd_tarball(self, args): - tarball = '../%s-%s.tar.gz' % (self.upstream_name, + @property + def debian_tarball(self): + return '%s_%s.orig.tar.gz' % (self.debian_source_package, self.upstream_version) - self.runcmd('bzr', 'export', tarball) + + def cmd_dump_meta(self, args): + self.meta.write(self.output) + + def cmd_debian_tarball(self, args): + origtar = self.join(self.debian_tarball) + print 'origar:', origtar + self.runcmd('bzr', 'export', origtar) def read_meta(self): cp = ConfigParser.RawConfigParser() cp.read(self.metafilename) return cp - def get_upstream_version(self): - return self.runcmd('python', 'setup.py', '--version').strip() + def join(self, pathname): + return os.path.join(self.settings['build-area'], pathname) def runcmd(self, *argv, **kwargs): logging.debug('runcmd: %s' % repr(argv)) -- cgit v1.2.1