diff options
-rw-r--r-- | apt-pkg/acquire-item.cc | 11 | ||||
-rwxr-xr-x | test/integration/test-apt-update-ims | 22 |
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 + |