summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2013-12-10 16:35:44 +0100
committerMichael Vogt <mvo@debian.org>2013-12-10 16:37:16 +0100
commit651ae5ce5f376ae5274933c621a3b897ac5152a6 (patch)
treea983c5c8ccb8960a767051868cf5989d72f7fb31
parent8c9c50f94768a13359b108e2cd0da9832f9cf6ad (diff)
if there is only deb-src pick higest version in deb-src release matching
-rw-r--r--cmdline/apt-get.cc8
-rwxr-xr-xtest/integration/test-apt-get-source9
2 files changed, 12 insertions, 5 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 7e59f3d67..3853f94c2 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -337,11 +337,9 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
if (Rel == RelTag)
{
- ioprintf(c1out, "Selectied version '%s' (%s) for %s\n",
- Ver.c_str(), RelTag.c_str(), Src.c_str());
Last = Parse;
Offset = Parse->Offset();
- break;
+ Version = Ver;
}
}
@@ -362,6 +360,10 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
if (VerTag.empty() == false && (VerTag == Ver))
break;
}
+ if (Version != "" && RelTag != "")
+ ioprintf(c1out, "Selectied version '%s' (%s) for %s\n",
+ Version.c_str(), RelTag.c_str(), Src.c_str());
+
if (Last != 0 || VerTag.empty() == true)
break;
_error->Error(_("Ignore unavailable version '%s' of package '%s'"), VerTag.c_str(), TmpSrc.c_str());
diff --git a/test/integration/test-apt-get-source b/test/integration/test-apt-get-source
index 5bef781f1..6bca22145 100755
--- a/test/integration/test-apt-get-source
+++ b/test/integration/test-apt-get-source
@@ -15,10 +15,14 @@ insertpackage 'wheezy' 'unreleated-package' 'all' '1.0'
insertpackage 'unstable' 'foo' 'all' '2.0'
insertsource 'unstable' 'foo' 'all' '2.0'
+# its possible to have multiple src versions in the sources file, do not break
+# in this case (bts #731853)
+insertsource 'stable' 'foo' 'all' '1.5'
insertpackage 'stable' 'foo' 'all' '1.0'
insertsource 'stable' 'foo' 'all' '1.0'
-# this package exists only as source
+# this packages exists only as source
+insertsource 'wheezy' 'foo' 'all' '0.0.1'
insertsource 'wheezy' 'foo' 'all' '0.1'
setupaptarchive
@@ -46,7 +50,8 @@ Need to get 0 B of source archives.
'file://${APTARCHIVE}/foo_1.0.dsc' foo_1.0.dsc 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e
'file://${APTARCHIVE}/foo_1.0.tar.gz' foo_1.0.tar.gz 0 MD5Sum:d41d8cd98f00b204e9800998ecf8427e" aptget source -q --print-uris foo=1.0
-# select by release with no binary package (Bug#731102)
+# select by release with no binary package (Bug#731102) but ensure to get
+# higest version
testequal "$HEADER
Selectied version '0.1' (wheezy) for foo
Need to get 0 B of source archives.