diff --git a/backportpackage b/backportpackage index d658fa5..e80025e 100755 --- a/backportpackage +++ b/backportpackage @@ -217,6 +217,18 @@ def get_backport_version(version, suffix, upload, release): backport_version += '~ppa1' return backport_version +def get_old_version(source, release): + try: + distribution = codename_to_distribution(release) + archive = Distribution(distribution.lower()).getArchive() + pkg = archive.getSourcePackage(source, + release, + ('Release', 'Security', 'Updates', + 'Proposed', 'Backports')) + return pkg.getVersion() + except (SeriesNotFoundException, PackageNotFoundException), e: + pass + def get_backport_dist(release, release_pocket): if release_pocket: return release @@ -289,6 +301,7 @@ def do_backport(workdir, pkg, suffix, close, release, release_pocket, build, bp_version = get_backport_version(pkg.version.full_version, suffix, upload, release) + old_version = get_old_version(pkg.source, release) bp_dist = get_backport_dist(release, release_pocket) changelog = 'No-change backport to %s' % (release,) @@ -308,6 +321,8 @@ def do_backport(workdir, pkg, suffix, close, release, release_pocket, build, cmd.append('-sa') else: cmd.append('-sd') + if old_version: + cmd.append('-v%s' % old_version) check_call(cmd, cwd=srcdir) fn_base = pkg.source + '_' + bp_version.split(':', 1)[-1] diff --git a/debian/changelog b/debian/changelog index f85a78f..e1fc04b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -28,8 +28,11 @@ ubuntu-dev-tools (0.142) UNRELEASED; urgency=low * backportpackage: Add -c, --close flag to include a changelog closer. * backportpackage: Switch to ~ubuntu12.04.1-style version numbers instead of ~precise1, to make our version numbers more future-proof. + * backportpackage: Pass -v to debuild with last published version + number. This matches the way backports have traditionally been + generated by archive admins. - -- Evan Broder Sun, 13 May 2012 13:49:35 -0700 + -- Evan Broder Sun, 13 May 2012 13:51:18 -0700 ubuntu-dev-tools (0.141) unstable; urgency=low