diff options
Diffstat (limited to 'unperish')
-rwxr-xr-x | unperish | 22 |
1 files changed, 18 insertions, 4 deletions
@@ -22,6 +22,7 @@ import debian.deb822 import glob import logging import os +import re import shutil import subprocess import tempfile @@ -66,6 +67,8 @@ class Unperish(cliapp.Application): self.settings.string_list(['rsync-to'], 'publish files with rsync to LOCATION', metavar='LOCATION') + self.settings.choice(['full-source'], ['auto', 'yes', 'no'], + 'include full source in upload?') def process_args(self, args): self.meta = self.create_meta() @@ -128,7 +131,7 @@ class Unperish(cliapp.Application): def debian_version(self): if self.settings['debian-version']: return self.settings['debian-version'] - return self.debian_changelog.get_version() + return str(self.debian_changelog.get_version()) @property def debian_tarball(self): @@ -218,11 +221,22 @@ class Unperish(cliapp.Application): '--build', '--basetgz', self.settings['basetgz'], '--buildresult', self.settings['build-area'], - '--logfile', self.join('pbuilder.log'), - '--debbuildopts', '-sa', - self.join(self.dsc)] + '--logfile', self.join('pbuilder.log')] + if self.include_source(): + argv.extend(['--debbuildopts', '-sa']) + argv.append(self.join(self.dsc)) self.runcmd(argv, cwd=self.settings['build-area']) + def include_source(self): + '''Should the upload include full source?''' + if self.settings['full-source'] == 'yes': + return True + if self.settings['full-source'] == 'no': + return False + + pat = r'-1$|[a-z]1$|^[^-]*$' + return re.search(pat, self.debian_version) is not None + def cmd_lintian(self, args): '''Run lintian on .changes/.deb/.dsc files.''' |