From acd67abdb5a7574ea04f0600f98e6b89be6f40f4 Mon Sep 17 00:00:00 2001 From: Iain Lane Date: Tue, 22 Dec 2009 22:27:04 +0000 Subject: [PATCH] pull-debian-source: Return the most recent source line. pull-debian-source: Return the most recent source line. Depend on libapt-pkg-perl for the Debian version comparison required for this. --- debian/changelog | 6 +++++- debian/control | 3 ++- pull-debian-source | 14 +++++++++++--- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/debian/changelog b/debian/changelog index 1a0e019..11ea863 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,7 +14,11 @@ ubuntu-dev-tools (0.86) UNRELEASED; urgency=low * ubuntutools/requestsync/mail.py: rmadison() returns now the most recent source line (Closes: #560758) - -- Michael Bienia Sun, 20 Dec 2009 15:40:40 +0100 + [ Iain Lane ] + * pull-debian-source: Return the most recent source line. Depend on + libapt-pkg-perl for the Debian version comparison required for this. + + -- Iain Lane Tue, 22 Dec 2009 22:26:07 +0000 ubuntu-dev-tools (0.85) lucid; urgency=low diff --git a/debian/control b/debian/control index 8f4c2e6..9637664 100644 --- a/debian/control +++ b/debian/control @@ -16,7 +16,8 @@ Depends: ${python:Depends}, ${misc:Depends}, binutils, devscripts, sudo, python-debian, python-launchpadlib, dctrl-tools, lsb-release, diffstat, dpkg-dev, python-apt (>= 0.7.9), python-lazr.restfulclient Recommends: bzr, pbuilder | cowdancer | sbuild, reportbug (>= 3.39ubuntu1), - ca-certificates, debootstrap, genisoimage, perl-modules, libwww-perl + ca-certificates, debootstrap, genisoimage, perl-modules, libwww-perl, + libapt-pkg-perl Conflicts: devscripts (<< 2.10.7ubuntu5) Replaces: devscripts (<< 2.10.7ubuntu5) Description: useful tools for Ubuntu developers diff --git a/pull-debian-source b/pull-debian-source index 7cee295..b623f20 100755 --- a/pull-debian-source +++ b/pull-debian-source @@ -22,6 +22,7 @@ use strict; use LWP::Simple; use File::Basename; use Getopt::Long; +use AptPkg::Version; die("Please install 'devscripts'\n") if(! grep -x "$_/dget", split(':',$ENV{'PATH'})); @@ -89,9 +90,11 @@ sub getDSC { die("$madison"); } my($baseURL)='http://ftp.debian.org/debian/pool/'; - my($url)=$baseURL; my(@madison)=split(/\n/,$madison); + my %urls; + my $url; foreach my $line (@madison) { + $url = $baseURL; my($package,$version,$release,$archs)=split(/\|/,$line,4); $package=~s/\s*//g; $version=~s/\s*//g; @@ -117,10 +120,15 @@ sub getDSC { $url .= 'main/'; } $url .= $firstLetter . '/' . $package . '/' . $package . '_' . $version . '.dsc'; - return $url; + $urls{$version} = $url; } + } - die("Unable To Find Source Package On Madison\n"); + + my @vers = reverse sort AptPkg::Version::CmpVersion keys %urls; + + return $urls{$vers[0]} or die("Unable To Find Source Package On Madison\n"); + } sub usage { my($name)=basename($0);