]> git.saurik.com Git - apt.git/commitdiff
show the conflicting distribution warning again
authorDavid Kalnischkies <david@kalnischkies.de>
Wed, 9 Nov 2016 18:57:21 +0000 (19:57 +0100)
committerDavid Kalnischkies <david@kalnischkies.de>
Wed, 9 Nov 2016 18:57:21 +0000 (19:57 +0100)
Sometimes you should really act upon your todos.
Especially if you have placed them directly in the code.

Closes: 841874
apt-pkg/metaindex.cc
test/integration/test-bug-841874-warning-for-mismatching-distribution [new file with mode: 0755]

index 6e5792b78f3d1b791ed4c0e8863444e4848f83cf..281824855cffe7300ba52ec43614046e8fefb170 100644 (file)
@@ -65,8 +65,7 @@ APT_PURE bool metaIndex::CheckDist(string const &MaybeDist) const
 }
 APT_PURE std::string metaIndex::GetExpectedDist() const
 {
-   // TODO: Used to be an explicit value set in the constructor
-   return "";
+   return Dist;
 }
                                                                        /*}}}*/
 APT_PURE metaIndex::checkSum *metaIndex::Lookup(string const &MetaKey) const /*{{{*/
diff --git a/test/integration/test-bug-841874-warning-for-mismatching-distribution b/test/integration/test-bug-841874-warning-for-mismatching-distribution
new file mode 100755 (executable)
index 0000000..9b9f198
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+set -e
+
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
+setupenvironment
+configarchitecture 'amd64'
+
+insertpackage 'testing' 'foo' 'all' '1'
+
+getcodenamefromsuite() { echo -n 'stretch'; }
+setupaptarchive --no-update
+APTARCHIVE="$(readlink -f './aptarchive')"
+ln -s "${APTARCHIVE}/dists/testing" "${APTARCHIVE}/dists/stretch"
+ln -s "${APTARCHIVE}/dists/testing" "${APTARCHIVE}/dists/zurg"
+
+testfailure apt show foo
+testsuccess apt update
+testsuccess apt show foo
+
+rm -rf rootdir/var/lib/apt/lists
+sed -i -e 's#testing#stretch#g' rootdir/etc/apt/sources.list.d/*
+testsuccess apt update
+testsuccess apt show foo
+
+rm -rf rootdir/var/lib/apt/lists
+sed -i -e 's#stretch#zurg#g' rootdir/etc/apt/sources.list.d/*
+testwarningmsg "W: Conflicting distribution: file:$APTARCHIVE zurg InRelease (expected zurg but got stretch)" apt update
+testsuccess apt show foo
+
+# check that 'foo/bar' is rewritten to 'foo' while we are at it
+rm -rf rootdir/var/lib/apt/lists
+sed -i -e 's#zurg#stretch/updates#g' rootdir/etc/apt/sources.list.d/*
+testfailure apt update
+testfailure apt show foo
+ln -s "${APTARCHIVE}/dists/testing" "${APTARCHIVE}/dists/stretch/updates"
+testsuccess apt update
+testsuccess apt show foo