summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2014-08-01 19:25:00 +0200
committerMichael Vogt <mvo@debian.org>2014-08-01 19:25:00 +0200
commit63d0f85391839a666957add1833e67f7638c8a83 (patch)
treeff58549aa9bbd30dd06428ecc422b775274b4731
parent67f2f9e2ed2f48833926abb7c31cca4a57ebfec1 (diff)
make i-m-s work again
-rw-r--r--apt-pkg/acquire-item.cc11
-rwxr-xr-xtest/integration/test-apt-update-ims22
2 files changed, 29 insertions, 4 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index c75ef36a9..a6f69944e 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -1164,10 +1164,7 @@ void pkgAcqIndex::Done(string Message,unsigned long long Size,HashStringList con
// Done, queue for rename on transaction finished
PartialFile = DestFile;
- string FinalFile = _config->FindDir("Dir::State::lists");
- FinalFile += URItoFileName(RealURI);
- DestFile = FinalFile;
-#if 0
+#if 1 // FIXME: waaaay too complicated
/* We restore the original name to DestFile so that the clean operation
will work OK */
DestFile = _config->FindDir("Dir::State::lists") + "partial/";
@@ -1177,6 +1174,12 @@ void pkgAcqIndex::Done(string Message,unsigned long long Size,HashStringList con
if (Erase == true)
unlink(DestFile.c_str());
#endif
+
+ // Done, queue for rename on transaction finished
+ string FinalFile = _config->FindDir("Dir::State::lists");
+ FinalFile += URItoFileName(RealURI);
+ DestFile = FinalFile;
+
return;
} else {
// FIXME: use the same method to find
diff --git a/test/integration/test-apt-update-ims b/test/integration/test-apt-update-ims
new file mode 100755
index 000000000..cf2b28bb5
--- /dev/null
+++ b/test/integration/test-apt-update-ims
@@ -0,0 +1,22 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture 'amd64'
+
+buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable'
+
+setupaptarchive
+changetowebserver
+
+testsuccess aptget update
+
+# check that I-M-S header is kept in redirections
+testequal "Hit http://localhost:8080 unstable InRelease
+Hit http://localhost:8080 unstable/main Sources
+Hit http://localhost:8080 unstable/main amd64 Packages
+Hit http://localhost:8080 unstable/main Translation-en
+Reading package lists..." aptget update
+