summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/acquire-item.cc24
-rw-r--r--apt-pkg/acquire-item.h4
-rw-r--r--debian/changelog4
-rwxr-xr-xdselect/update7
4 files changed, 35 insertions, 4 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 7639dd59a..2bae109fd 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: acquire-item.cc,v 1.38 1999/10/17 07:30:23 jgg Exp $
+// $Id: acquire-item.cc,v 1.39 1999/10/17 20:58:36 jgg Exp $
/* ######################################################################
Acquire Item - Item to acquire
@@ -567,6 +567,8 @@ pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string MD5,
unsigned long Size,string Dsc,string ShortDesc) :
Item(Owner), Md5Hash(MD5)
{
+ Retries = _config->FindI("Acquire::Retries",0);
+
DestFile = flNotDir(URI);
// Create the item
@@ -645,3 +647,23 @@ void pkgAcqFile::Done(string Message,unsigned long Size,string MD5)
}
}
/*}}}*/
+// AcqFile::Failed - Failure handler /*{{{*/
+// ---------------------------------------------------------------------
+/* Here we try other sources */
+void pkgAcqFile::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
+{
+ ErrorText = LookupTag(Message,"Message");
+
+ // This is the retry counter
+ if (Retries != 0 &&
+ Cnf->LocalOnly == false &&
+ StringToBool(LookupTag(Message,"Transient-Failure"),false) == true)
+ {
+ Retries--;
+ QueueURI(Desc);
+ return;
+ }
+
+ Item::Failed(Message,Cnf);
+}
+ /*}}}*/
diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h
index d07a49bb4..fd74280b8 100644
--- a/apt-pkg/acquire-item.h
+++ b/apt-pkg/acquire-item.h
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: acquire-item.h,v 1.21 1999/09/01 07:01:15 jgg Exp $
+// $Id: acquire-item.h,v 1.22 1999/10/17 20:58:36 jgg Exp $
/* ######################################################################
Acquire Item - Item to acquire
@@ -151,10 +151,12 @@ class pkgAcqFile : public pkgAcquire::Item
{
pkgAcquire::ItemDesc Desc;
string Md5Hash;
+ unsigned int Retries;
public:
// Specialized action members
+ virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf);
virtual void Done(string Message,unsigned long Size,string Md5Hash);
virtual string MD5Sum() {return Md5Hash;};
virtual string DescURI() {return Desc.URI;};
diff --git a/debian/changelog b/debian/changelog
index 59069d619..b4e5991b2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,10 @@ apt (0.3.13.1) unstable; urgency=low
Closes: #46639, #47498
* mipsel arch Closes: #47614
* Beautified URI printing to not include passwords Closes: #46857
+ * Fixed little problem with --no-download Closes: #47557
+ * Tweaked Dselect 'update' script to re-gen the avail file even in the
+ event of a failure Closes: #47112
+ * Retries for source archives too Closes: #47529
-- Jason Gunthorpe <jgg@debian.org> Fri, 3 Sep 1999 09:04:28 -0700
diff --git a/dselect/update b/dselect/update
index 87dc21aa1..904648428 100755
--- a/dselect/update
+++ b/dselect/update
@@ -17,7 +17,10 @@ eval $RES
# It looks slightly ugly to have a double / in the dpkg output
CACHEDIR=`echo $CACHEDIR | sed -e "s|/$||"`
-$APTGET $OPTS update
+set +e
+FAILED=0
+$APTGET $OPTS update || FAILED=1
+set -e
echo "Merging Available information"
rm -f /var/cache/apt/available
@@ -29,4 +32,4 @@ if [ $PROMPT = "yes" ]; then
echo "Press enter to continue." && read RES;
fi
-exit 0
+exit $FAILED