summaryrefslogtreecommitdiff
path: root/apt-pkg/acquire-item.cc
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2011-05-02 09:40:26 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2011-05-02 09:40:26 +0200
commitf4fd0a1c34babf8fbac71bc3471b41b411e414b2 (patch)
tree505cc791de97dbfd8d1f979c651bb3336f69028a /apt-pkg/acquire-item.cc
parentecc8d43394155ea99960f66ed35713c701801c3f (diff)
parenta63bbd7e93ec5e231d5d9b0b33cffec5cf6192d0 (diff)
* merged from the debian-sid bzr branch
* apt-pkg/depcache.cc: - Really release action groups only once (Closes: #622744) - Make purge work again for config-files (LP: #244598) (Closes: #150831) * debian/apt.cron.daily: - Check power after wait, patch by manuel-soto (LP: #705269) * debian/control: - Move ${shlibs:Depends} to Pre-Depends, as we do not want APT unpacked if a library is too old and thus break upgrades * doc/apt-key.8.xml: - Document apt-key net-update (LP: #192810) * apt-pkg/acquire-item.cc: - Only try to rename existing Release files (Closes: #622912) * apt-pkg/indexcopy.cc: - Use RealFileExists() instead of FileExists(), allows amongst other things a directory named Sources to exist on a CD-ROM (LP: #750694). * apt-pkg/acquire-item.cc: - Use Release files even if they cannot be verified (LP: #704595) * cmdline/apt-get.cc: - Do not install recommends for build-dep (Closes: #454479) (LP: #245273) * apt-pkg/deb/deblistparser.cc: - Handle no space before "[" in build-dependencies (LP: #72344) * apt-pkg/policy.cc: - Allow pinning by glob() expressions, and regular expressions surrounded by slashes (the "/" character) (LP: #399474) (Closes: #121132) * debian/control: - Set Standards-Version to 3.9.2 * mirror method: - do not crash if the mirror file fails to download * apt-pkg/aptconfiguration.cc: - fix comparing for a empty string * debian/apt.cron.daily: - run unattended-upgrades even if there was a error during the apt-get update (LP: #676295) * apt-pkg/pkgcache.cc: - use the native Architecture stored in the cache header instead of loading it from configuration as suggested by Julian Andres Klode
Diffstat (limited to 'apt-pkg/acquire-item.cc')
-rw-r--r--apt-pkg/acquire-item.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 39b9feff2..7b120d3ce 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -1502,6 +1502,26 @@ void pkgAcqMetaIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
ReportMirrorFailure("GPGFailure");
}
+ /* Always move the meta index, even if gpgv failed. This ensures
+ * that PackageFile objects are correctly filled in */
+ if (FileExists(DestFile)) {
+ string FinalFile = _config->FindDir("Dir::State::lists");
+ FinalFile += URItoFileName(RealURI);
+ /* InRelease files become Release files, otherwise
+ * they would be considered as trusted later on */
+ if (SigFile == DestFile) {
+ RealURI = RealURI.replace(RealURI.rfind("InRelease"), 9,
+ "Release");
+ FinalFile = FinalFile.replace(FinalFile.rfind("InRelease"), 9,
+ "Release");
+ SigFile = FinalFile;
+ }
+ Rename(DestFile,FinalFile);
+ chmod(FinalFile.c_str(),0644);
+
+ DestFile = FinalFile;
+ }
+
// No Release file was present, or verification failed, so fall
// back to queueing Packages files without verification
QueueIndexes(false);