]> git.saurik.com Git - apt.git/commitdiff
make i-m-s work again
authorMichael Vogt <mvo@debian.org>
Fri, 1 Aug 2014 17:25:00 +0000 (19:25 +0200)
committerMichael Vogt <mvo@debian.org>
Fri, 1 Aug 2014 17:25:00 +0000 (19:25 +0200)
apt-pkg/acquire-item.cc
test/integration/test-apt-update-ims [new file with mode: 0755]

index c75ef36a9b5d2340a9b8892174cfadc625040b39..a6f69944e9dffb09e88c2813653f3740d10521ac 100644 (file)
@@ -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 (executable)
index 0000000..cf2b28b
--- /dev/null
@@ -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 
+