// -*- 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
unsigned long Size,string Dsc,string ShortDesc) :
Item(Owner), Md5Hash(MD5)
{
+ Retries = _config->FindI("Acquire::Retries",0);
+
DestFile = flNotDir(URI);
// Create the item
}
}
/*}}}*/
+// 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);
+}
+ /*}}}*/
// -*- 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
{
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;};
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
# 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
echo "Press enter to continue." && read RES;
fi
-exit 0
+exit $FAILED