From 12c7078f5098d7f26599a3761af9e24b392d9c1d Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Mon, 3 Sep 2012 12:26:34 +0200 Subject: - do not create duplicated flat-archive CD-ROM sources for foreign architectures on multi-arch CD-ROMs - do not warn about files which have a record in the Release file, but are not present on the CD to mirror the behavior of the other methods and to allow uncompressed indexes to be dropped without scaring users - handle Components in the reduction for the source.list as multi-arch CDs --- apt-pkg/indexcopy.cc | 15 +++++++++------ debian/changelog | 9 ++++++--- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/apt-pkg/indexcopy.cc b/apt-pkg/indexcopy.cc index 24defd82c..aa1f01a4a 100644 --- a/apt-pkg/indexcopy.cc +++ b/apt-pkg/indexcopy.cc @@ -497,17 +497,20 @@ bool SourceCopy::RewriteEntry(FILE *Target,string File) bool SigVerify::Verify(string prefix, string file, indexRecords *MetaIndex) { const indexRecords::checkSum *Record = MetaIndex->Lookup(file); + bool const Debug = _config->FindB("Debug::aptcdrom",false); - // we skip non-existing files in the verifcation to support a cdrom - // with no Packages file (just a Package.gz), see LP: #255545 - // (non-existing files are not considered a error) + // we skip non-existing files in the verifcation of the Release file + // as non-existing files do not harm, but a warning scares people and + // makes it hard to strip unneeded files from an ISO like uncompressed + // indexes as it is done on the mirrors (see also LP: #255545 ) if(!RealFileExists(prefix+file)) { - _error->Warning(_("Skipping nonexistent file %s"), string(prefix+file).c_str()); + if (Debug == true) + cout << "Skipping nonexistent in " << prefix << " file " << file << std::endl; return true; } - if (!Record) + if (!Record) { _error->Warning(_("Can't find authentication record for: %s"), file.c_str()); return false; @@ -519,7 +522,7 @@ bool SigVerify::Verify(string prefix, string file, indexRecords *MetaIndex) return false; } - if(_config->FindB("Debug::aptcdrom",false)) + if(Debug == true) { cout << "File: " << prefix+file << endl; cout << "Expected Hash " << Record->Hash.toStr() << endl; diff --git a/debian/changelog b/debian/changelog index 703764dec..6800c9864 100644 --- a/debian/changelog +++ b/debian/changelog @@ -16,10 +16,13 @@ apt (0.9.7.5) UNRELEASED; urgency=low - use the correct interval (x <= P < y) for pin value documentation as these are the intervals used by the code (Closes: #685989) * apt-pkg/indexcopy.cc: - - do not create duplicated flat-archive cdrom sources for foreign - architectures on multi-arch cdroms + - do not create duplicated flat-archive CD-ROM sources for foreign + architectures on multi-arch CD-ROMs + - do not warn about files which have a record in the Release file, but + are not present on the CD to mirror the behavior of the other methods + and to allow uncompressed indexes to be dropped without scaring users * apt-pkg/cdrom.cc: - - handle Components in the reduction for the source.list as multi-arch cds + - handle Components in the reduction for the source.list as multi-arch CDs otherwise create duplicated source entries (e.g. "wheezy main main") -- David Kalnischkies Sun, 26 Aug 2012 10:49:17 +0200 -- cgit v1.2.3