summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2006-02-22 09:04:57 +0000
committerMichael Vogt <mvo@debian.org>2006-02-22 09:04:57 +0000
commit70f87eb01fdbbebedfaac5680020c78ca2da9ad8 (patch)
tree0356efdfbd797b569b0139d78dd6511dba8fa0cd /apt-pkg
parent011d9176844e1817f1dc64cf61c375ab77646d0e (diff)
parent0c1b7be9c1a30fddd72d5b80bb2e566fe379b166 (diff)
* synced with mainline
Patches applied: * bubulle@debian.org--2005/apt--main--0--patch-167 Resync with Michael * bubulle@debian.org--2005/apt--main--0--patch-168 Vietnamese translation completed * bubulle@debian.org--2005/apt--main--0--patch-169 Update PO files and POT file...again * bubulle@debian.org--2005/apt--main--0--patch-170 Compelted French translation * bubulle@debian.org--2005/apt--main--0--patch-171 Activate Welsh translation * bubulle@debian.org--2005/apt--main--0--patch-172 Completed to 512 strings * bubulle@debian.org--2005/apt--main--0--patch-173 Russian translation completed * bubulle@debian.org--2005/apt--main--0--patch-174 Swedish translation completed * bubulle@debian.org--2005/apt--main--0--patch-175 Merge from Philippe Batailler French manpages tree/Vietnamese translation update * bubulle@debian.org--2005/apt--main--0--patch-176 Galician translation update * bubulle@debian.org--2005/apt--main--0--patch-177 Slovak translation update * bubulle@debian.org--2005/apt--main--0--patch-178 Polish translation update * bubulle@debian.org--2005/apt--main--0--patch-179 Correct permissions * bubulle@debian.org--2005/apt--main--0--patch-180 Japanese translation update * bubulle@debian.org--2005/apt--main--0--patch-181 Basque translation update * bubulle@debian.org--2005/apt--main--0--patch-182 Catalan translation completed * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-127 * merged with apt--mvo * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-128 * don't explod if a Provides has DepCompareOp * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-129 * fix regression about not working --print-uris in "install" * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-130 * merged with bubulle * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-131 * create sources.list.d as well * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-132 * make apt-cache madion wotk without deb-src lines * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-133 * only clean out the list dir if the update was successful * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-134 * only remove the sigfile if pkgAcqMetaSig::Failed() didn't fail for a network error * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-135 tyop * philippe.batailler@free.fr--2005/apt--main--0--patch-9 manpages
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/acquire-item.cc19
-rw-r--r--apt-pkg/deb/deblistparser.cc11
2 files changed, 13 insertions, 17 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 86f61dd00..1fa929aad 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -340,12 +340,6 @@ pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquire *Owner,
// File was already in place. It needs to be re-verified
// because Release might have changed, so Move it into partial
Rename(Final,DestFile);
- // unlink the file and do not try to use I-M-S and Last-Modified
- // if the users proxy is broken
- if(_config->FindB("Acquire::BrokenProxy", false) == true) {
- std::cerr << "forcing re-get of the signature file as requested" << std::endl;
- unlink(DestFile.c_str());
- }
}
QueueURI(Desc);
@@ -395,18 +389,19 @@ void pkgAcqMetaSig::Done(string Message,unsigned long Size,string MD5,
/*}}}*/
void pkgAcqMetaSig::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
{
- // Delete any existing sigfile, so that this source isn't
- // mistakenly trusted
- string Final = _config->FindDir("Dir::State::lists") + URItoFileName(RealURI);
- unlink(Final.c_str());
- // if we get a timeout if fail
+ // if we get a network error we fail gracefully
if(LookupTag(Message,"FailReason") == "Timeout" ||
- LookupTag(Message,"FailReason") == "TmpResolveFailure") {
+ LookupTag(Message,"FailReason") == "TmpResolveFailure" ||
+ LookupTag(Message,"FailReason") == "ConnectionRefused") {
Item::Failed(Message,Cnf);
return;
}
+ // Delete any existing sigfile when the acquire failed
+ string Final = _config->FindDir("Dir::State::lists") + URItoFileName(RealURI);
+ unlink(Final.c_str());
+
// queue a pkgAcqMetaIndex with no sigfile
new pkgAcqMetaIndex(Owner, MetaIndexURI, MetaIndexURIDesc, MetaIndexShortDesc,
"", IndexTargets, MetaIndexParser);
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index b11d2531c..d0dc7a260 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/apt-pkg/deb/deblistparser.cc
@@ -504,11 +504,12 @@ bool debListParser::ParseProvides(pkgCache::VerIterator Ver)
Start = ParseDepends(Start,Stop,Package,Version,Op);
if (Start == 0)
return _error->Error("Problem parsing Provides line");
- if (Op != pkgCache::Dep::NoOp)
- return _error->Error("Malformed provides line");
-
- if (NewProvides(Ver,Package,Version) == false)
- return false;
+ if (Op != pkgCache::Dep::NoOp) {
+ _error->Warning("Ignoring Provides line with DepCompareOp for package %s", Package.c_str());
+ } else {
+ if (NewProvides(Ver,Package,Version) == false)
+ return false;
+ }
if (Start == Stop)
break;