Michael Vogt пре 12 година
родитељ
комит
63d0f85391
2 измењених фајлова са 29 додато и 4 уклоњено
  1. 7 4
      apt-pkg/acquire-item.cc
  2. 22 0
      test/integration/test-apt-update-ims

+ 7 - 4
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 

+ 22 - 0
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 
+