From 47eb38f452c7477aab782dce56e85a0a85e22764 Mon Sep 17 00:00:00 2001
From: Michael Vogt <michael.vogt@ubuntu.com>
Date: Tue, 21 Feb 2006 12:23:22 +0000
Subject: [PATCH] * handle network failures more gracefully (default apt
 sources spec) apt-pkg/acquire-item.cc: - on network failures
 (Timeout,ResolveFailure,ConnectionRefused) move the   old (known good)
 sigfile back and don't touch the indexfiles cmdline/apt-get.cc: - don't fail
 on apt-get update problems but issue a warning instead

---
 apt-pkg/acquire-item.cc | 10 +++++++---
 cmdline/apt-get.cc      |  2 +-
 configure.in            |  2 +-
 debian/changelog        | 23 +++++++++++++++++++++--
 4 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 1fa929aad..dee00c63e 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -321,8 +321,9 @@ pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquire *Owner,
    DestFile = _config->FindDir("Dir::State::lists") + "partial/";
    DestFile += URItoFileName(URI);
 
-   // remove any partial downloaded sig-file. it may confuse proxies
-   // and is too small to warrant a partial download anyway
+   // remove any partial downloaded sig-file in partial/. 
+   // it may confuse proxies and is too small to warrant a 
+   // partial download anyway
    unlink(DestFile.c_str());
 
    // Create the item
@@ -389,17 +390,20 @@ void pkgAcqMetaSig::Done(string Message,unsigned long Size,string MD5,
 									/*}}}*/
 void pkgAcqMetaSig::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
 {
+   string Final = _config->FindDir("Dir::State::lists") + URItoFileName(RealURI);
 
    // if we get a network error we fail gracefully
    if(LookupTag(Message,"FailReason") == "Timeout" || 
       LookupTag(Message,"FailReason") == "TmpResolveFailure" ||
       LookupTag(Message,"FailReason") == "ConnectionRefused") {
       Item::Failed(Message,Cnf);
+      // move the sigfile back on network failures (and re-authenticated?)
+      if(FileExists(DestFile))
+ 	 Rename(DestFile,Final);
       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
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 92051f8ff..99a51c9b8 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -1381,7 +1381,7 @@ bool DoUpdate(CommandLine &CmdL)
       return false;
    
    if (Failed == true)
-      return _error->Warning(_("Some index files failed to download, they have been ignored, or old ones used instead."));
+      _error->Warning(_("Some index files failed to download, they have been ignored, or old ones used instead."));
    
    return true;
 }
diff --git a/configure.in b/configure.in
index 2e92bd0a9..6cd00f9de 100644
--- a/configure.in
+++ b/configure.in
@@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
 AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
 
 dnl -- SET THIS TO THE RELEASE VERSION --
-AC_DEFINE_UNQUOTED(VERSION,"0.6.43.3ubuntu1")
+AC_DEFINE_UNQUOTED(VERSION,"0.6.43.2ubuntu1")
 PACKAGE="apt"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_SUBST(PACKAGE)
diff --git a/debian/changelog b/debian/changelog
index 3490fba7c..8c53d7a5c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-apt (0.6.43.3) unstable; urgency=low
+apt (0.6.43.2ubuntu1) dapper; urgency=low
 
   * Merge bubulle@debian.org--2005/apt--main--0 up to patch-182:
   * ca.po: Completed to 512t. Closes: #351592
@@ -26,8 +26,9 @@ apt (0.6.43.3) unstable; urgency=low
   * cmdline/apt-get.cc: only run the list-cleaner if a update was 
     successfull
   * apt-get update errors are only warnings nowdays
+  * be more careful with the signature file on network failures
 
- -- 
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 20 Feb 2006 22:27:48 +0100
 
 apt (0.6.43.2) unstable; urgency=low
 
@@ -54,6 +55,24 @@ apt (0.6.43.2) unstable; urgency=low
 
  -- Michael Vogt <mvo@debian.org>  Thu, 19 Jan 2006 00:06:33 +0100
 
+apt (0.6.43.1ubuntu1) dapper; urgency=low
+
+  * Merge bubulle@debian.org--2005/apt--main--0 up to patch-159:
+    - en_GB.po, de.po: fix spaces errors in "Ign " translations
+      Closes: #347258
+    - makefile: make update-po a pre-requisite of clean target so
+	        that POT and PO files are always up-to-date
+    - sv.po: Completed to 511t. Closes: #346450
+    - sk.po: Completed to 511t. Closes: #346369
+    - fr.po: Completed to 511t
+    - *.po: Updated from sources (511 strings)
+  * add patch to fix http download corruption problem (thanks to
+    Petr Vandrovec, closes: #280844, #290694)
+  * added APT::Periodic::Unattended-Upgrade (requires the package
+    "unattended-upgrade")
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 10 Jan 2006 17:09:31 +0100
+
 apt (0.6.43.1) unstable; urgency=low
   
   * Merge bubulle@debian.org--2005/apt--main--0 up to patch-148:
-- 
2.47.2