]> git.saurik.com Git - apt.git/commitdiff
* apt-pkg/acquire-item.cc:
authorMichael Vogt <egon@bottom>
Thu, 11 May 2006 10:12:31 +0000 (12:12 +0200)
committerMichael Vogt <egon@bottom>
Thu, 11 May 2006 10:12:31 +0000 (12:12 +0200)
  - merged from pdiff
* debian/changelog:
  - updated

1  2 
apt-pkg/acquire-item.cc
debian/changelog

diff --combined apt-pkg/acquire-item.cc
index cbccfbfae40c794144919b1042528f7df0414612,f22daaf71a8bedbbcef6ceb6a01cd6d09d660f89..cc16215f5f97df2572dbc1010d9e37f630fc6f98
@@@ -605,7 -605,7 +605,7 @@@ string pkgAcqIndex::Custom600Headers(
  void pkgAcqIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
  {
     // no .bz2 found, retry with .gz
 -   if(Desc.URI.substr(Desc.URI.size()-3,Desc.URI.size()-1) == "bz2") {
 +   if(Desc.URI.substr(Desc.URI.size()-3) == "bz2") {
        Desc.URI = Desc.URI.substr(0,Desc.URI.size()-3) + "gz"; 
  
        // retry with a gzip one 
@@@ -711,7 -711,7 +711,7 @@@ void pkgAcqIndex::Done(string Message,u
     else
        Local = true;
     
 -   string compExt = Desc.URI.substr(Desc.URI.size()-3,Desc.URI.size()-1);
 +   string compExt = Desc.URI.substr(Desc.URI.size()-3);
     char *decompProg;
     if(compExt == "bz2") 
        decompProg = "bzip2";
@@@ -736,9 -736,10 +736,9 @@@ pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquir
                             const vector<IndexTarget*>* IndexTargets,
                             indexRecords* MetaIndexParser) :
     Item(Owner), RealURI(URI), MetaIndexURI(MetaIndexURI),
 -   MetaIndexURIDesc(MetaIndexURIDesc), MetaIndexShortDesc(MetaIndexShortDesc)
 +   MetaIndexURIDesc(MetaIndexURIDesc), MetaIndexShortDesc(MetaIndexShortDesc),
 +   MetaIndexParser(MetaIndexParser), IndexTargets(IndexTargets)
  {
 -   this->MetaIndexParser = MetaIndexParser;
 -   this->IndexTargets = IndexTargets;
     DestFile = _config->FindDir("Dir::State::lists") + "partial/";
     DestFile += URItoFileName(URI);
  
        // 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);
@@@ -810,19 -817,18 +810,19 @@@ void pkgAcqMetaSig::Done(string Message
                                                                        /*}}}*/
  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);
@@@ -845,9 -851,11 +845,9 @@@ pkgAcqMetaIndex::pkgAcqMetaIndex(pkgAcq
                                 string SigFile,
                                 const vector<struct IndexTarget*>* IndexTargets,
                                 indexRecords* MetaIndexParser) :
 -  Item(Owner), RealURI(URI), SigFile(SigFile)
 +   Item(Owner), RealURI(URI), SigFile(SigFile), AuthPass(false),
 +   MetaIndexParser(MetaIndexParser), IndexTargets(IndexTargets), IMSHit(false)
  {
 -   this->AuthPass = false;
 -   this->MetaIndexParser = MetaIndexParser;
 -   this->IndexTargets = IndexTargets;
     DestFile = _config->FindDir("Dir::State::lists") + "partial/";
     DestFile += URItoFileName(URI);
  
@@@ -939,9 -947,6 +939,9 @@@ void pkgAcqMetaIndex::RetrievalDone(str
        return;
     }
  
 +   // see if the download was a IMSHit
 +   IMSHit = StringToBool(LookupTag(Message,"IMS-Hit"),false);
 +
     Complete = true;
  
     string FinalFile = _config->FindDir("Dir::State::lists");
@@@ -970,7 -975,7 +970,7 @@@ void pkgAcqMetaIndex::AuthDone(string M
        return;
     }
  
 -   if (!VerifyVendor())
 +   if (!VerifyVendor(Message))
     {
        return;
     }
@@@ -1024,7 -1029,7 +1024,7 @@@ void pkgAcqMetaIndex::QueueIndexes(boo
        
        // Queue Packages file (either diff or full packages files, depending
        // on the users option)
-       if(_config->FindB("Acquire::PDiffs",false) == false) 
+       if(_config->FindB("Acquire::PDiffs",true) == true) 
         new pkgAcqDiffIndex(Owner, (*Target)->URI, (*Target)->Description,
                             (*Target)->ShortDesc, ExpectedIndexMD5);
        else 
     }
  }
  
 -bool pkgAcqMetaIndex::VerifyVendor()
 +bool pkgAcqMetaIndex::VerifyVendor(string Message)
  {
  //    // Maybe this should be made available from above so we don't have
  //    // to read and parse it every time?
  //          break;
  //       }
  //    }
 +   string::size_type pos;
 +
 +   // check for missing sigs (that where not fatal because otherwise we had
 +   // bombed earlier)
 +   string missingkeys;
 +   string msg = _("There are no public key available for the "
 +                "following key IDs:\n");
 +   pos = Message.find("NO_PUBKEY ");
 +   if (pos != std::string::npos)
 +   {
 +      string::size_type start = pos+strlen("NO_PUBKEY ");
 +      string Fingerprint = Message.substr(start, Message.find("\n")-start);
 +      missingkeys += (Fingerprint);
 +   }
 +   if(!missingkeys.empty())
 +      _error->Warning("%s", string(msg+missingkeys).c_str());
  
     string Transformed = MetaIndexParser->GetExpectedDist();
  
        Transformed = "experimental";
     }
  
 -   string::size_type pos = Transformed.rfind('/');
 +   pos = Transformed.rfind('/');
     if (pos != string::npos)
     {
        Transformed = Transformed.substr(0, pos);
@@@ -1128,30 -1117,10 +1128,30 @@@ void pkgAcqMetaIndex::Failed(string Mes
  {
     if (AuthPass == true)
     {
 -      // gpgv method failed
 +      // if we fail the authentication but got the file via a IMS-Hit 
 +      // this means that the file wasn't downloaded and that it might be
 +      // just stale (server problem, proxy etc). we delete what we have
 +      // queue it again without i-m-s 
 +      // alternatively we could just unlink the file and let the user try again
 +      if (IMSHit)
 +      {
 +       Complete = false;
 +       Local = false;
 +       AuthPass = false;
 +       unlink(DestFile.c_str());
 +
 +       DestFile = _config->FindDir("Dir::State::lists") + "partial/";
 +       DestFile += URItoFileName(RealURI);
 +       Desc.URI = RealURI;
 +       QueueURI(Desc);
 +       return;
 +      }
 +
 +      // gpgv method failed 
        _error->Warning("GPG error: %s: %s",
                        Desc.Description.c_str(),
                        LookupTag(Message,"Message").c_str());
 +
     }
  
     // No Release file was present, or verification failed, so fall
@@@ -1227,12 -1196,6 +1227,12 @@@ pkgAcqArchive::pkgAcqArchive(pkgAcquir
        }
     }
  
 +   // "allow-unauthenticated" restores apts old fetching behaviour
 +   // that means that e.g. unauthenticated file:// uris are higher
 +   // priority than authenticated http:// uris
 +   if (_config->FindB("APT::Get::AllowUnauthenticated",false) == true)
 +      Trusted = false;
 +
     // Select a source
     if (QueueNext() == false && _error->PendingError() == false)
        _error->Error(_("I wasn't able to locate file for the %s package. "
@@@ -1465,19 -1428,13 +1465,19 @@@ void pkgAcqArchive::Finished(
  // ---------------------------------------------------------------------
  /* The file is added to the queue */
  pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string MD5,
 -                     unsigned long Size,string Dsc,string ShortDesc) :
 +                     unsigned long Size,string Dsc,string ShortDesc,
 +                     const string &DestDir, const string &DestFilename) :
                         Item(Owner), Md5Hash(MD5)
  {
     Retries = _config->FindI("Acquire::Retries",0);
     
 -   DestFile = flNotDir(URI);
 -   
 +   if(!DestFilename.empty())
 +      DestFile = DestFilename;
 +   else if(!DestDir.empty())
 +      DestFile = DestDir + "/" + flNotDir(URI);
 +   else
 +      DestFile = flNotDir(URI);
 +
     // Create the item
     Desc.URI = URI;
     Desc.Description = Dsc;
        else
         PartialSize = Buf.st_size;
     }
 -   
 +
     QueueURI(Desc);
  }
                                                                        /*}}}*/
diff --combined debian/changelog
index 9632eda5b50ddf0bcfd69f3c5af74a5beb5fc58c,cc3da8f84d17448759c5eaffd3afe0c67712b86e..e151d82f51d3d20649f0d85869fc7043136161e0
++apt (0.6.44.1) unstable; urgency=low
++
++  * apt-pkg/acquire-item.cc:
++    - fix reversed order of the "Acquire::PDiffs" option
++
++ -- Michael Vogt <mvo@debian.org>  Thu, 11 May 2006 12:11:26 +0200
++
 +apt (0.6.44) unstable; urgency=low
 +
 +  * apt-pkg/acquire.cc: don't show ETA if it is 0 or absurdely large
 +  * apt-pkg/contrib/sha256.{cc,h},hashes.{cc,h}: support for sha256 
 +    (thanks to Anthony Towns)
 +  * ftparchive/cachedb.{cc,h},writer.{cc,h}: optimizations 
 +    (thanks to Anthony Towns)
 +  * apt pdiff support from experimental merged
 +  * apt-pkg/deb/dpkgpm.cc: wording fixes (thanks to Matt Zimmerman)
 +  * apt-pkg/deb/dpkgpm.cc: 
 +    - wording fixes (thanks to Matt Zimmerman)
 +    - fix error in dpkg interaction (closes: #364513, thanks to Martin Dickopp)
 +  * apt-pkg/tagfile.{cc,h}:
 +    - use MMap to read the entries (thanks to Zephaniah E. Hull for the
 +      patch) Closes: #350025
 +  * Merge from http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
 +      * bg.po: Added, complete to 512t. Closes: #360262
 +  * doc/apt-ftparchive.1.xml:
 +    - fix documentation for "SrcPackages" -> "Sources" 
 +      (thanks to Bart Martens for the patch, closes: #307756)
 +  * debian/libapt-pkg-doc.doc-base.cache:
 +    - remove broken charackter from description (closes: #361129)
 +  * apt-inst/deb/dpkgdb.cc, methods/gpgv.cc: 
 +    - i18n fixes (closes: #349298)
 +  * debian/postinst: dont fail on not available
 +    /usr/share/doc/apt/examples/sources.list (closes: #361130)
 +  * methods/ftp.cc:
 +    - unlink empty file in partial if the download failed because
 +      the file is missing on the server (closes: #316337)
 +  * apt-pkg/deb/debversion.cc:
 +    - treats a version string with explicit zero epoch equal
 +      than the same without epoch (Policy 5.6.12, closes: #363358)
 +      Thanks to Lionel Elie Mamane for the patch
 +  
 + -- Michael Vogt <mvo@debian.org>  Mon,  8 May 2006 22:28:53 +0200
 +
 +apt (0.6.43.3) unstable; urgency=low
 +
 +  * Merge bubulle@debian.org--2005/apt--main--0 up to patch-186:
 +    * ca.po: Completed to 512t. Closes: #351592
 +    * eu.po: Completed to 512t. Closes: #350483
 +    * ja.po: Completed to 512t. Closes: #349806
 +    * pl.po: Completed to 512t. Closes: #349514
 +    * sk.po: Completed to 512t. Closes: #349474
 +    * gl.po: Completed to 512 strings Closes: #349407
 +    * sv.po: Completed to 512 strings Closes: #349210
 +    * ru.po: Completed to 512 strings Closes: #349154
 +    * da.po: Completed to 512 strings Closes: #349084
 +    * fr.po: Completed to 512 strings
 +    * vi.po: Completed to 511 strings  Closes: #348968
 +    * zh_CN.po: Completed to 512t. Closes: #353936
 +    * it.po: Completed to 512t. Closes: #352803
 +    * pt_BR.po: Completed to 512t. Closes: #352419
 +    * LINGUAS: Add Welsh
 +    * *.po: Updated from sources (512 strings)
 +  * apt-pkg/deb/deblistparser.cc:
 +    - don't explode on a DepCompareOp in a Provides line, but warn about
 +      it and ignore it otherwise (thanks to James Troup for reporting it)
 +  * cmdline/apt-get.cc:
 +    - don't lock the lists directory in DoInstall, breaks --print-uri 
 +      (thanks to James Troup for reporting it)
 +  * debian/apt.dirs: create /etc/apt/sources.list.d 
 +  * make apt-cache madison work without deb-src entries (#352583)
 +  * cmdline/apt-get.cc: only run the list-cleaner if a update was 
 +    successfull
 +
 + -- Michael Vogt <mvo@debian.org>  Wed, 22 Feb 2006 10:13:04 +0100
 +
 +apt (0.6.43.2) unstable; urgency=low
 +
 +  * Merge bubulle@debian.org--2005/apt--main--0 up to patch-166:
 +    - 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)
 +    - el.po: Completed to 511 strings Closes: #344642
 +    - da.po: Completed to 511 strings Closes: #348574
 +    - es.po: Updated to 510t1f Closes: #348158
 +    - gl.po: Completed to 511 strings Closes: #347729
 +    - it.po: Yet another update Closes: #347435
 +  * added debian-archive-keyring to the Recommends (closes: #347970)
 +  * fixed message in apt-key to install debian-archive-keyring 
 +  * typos fixed in apt-cache.8 (closes: #348348, #347349)
 +  * add patch to fix http download corruption problem (thanks to
 +    Petr Vandrovec, closes: #280844, #290694)
 +
 + -- Michael Vogt <mvo@debian.org>  Thu, 19 Jan 2006 00:06:33 +0100
 +
 +apt (0.6.43.1) unstable; urgency=low
 +
 +  * Merge bubulle@debian.org--2005/apt--main--0 up to patch-148:
 +    * fr.po: Completed to 510 strings
 +    * it.po: Completed to 510t
 +    * en_GB.po: Completed to 510t
 +    * cs.po: Completed to 510t
 +    * zh_CN.po: Completed to 510t
 +    * el.po: Updated to 510t
 +    * vi.po: Updated to 383t93f34u
 +    * tl.po: Completed to 510 strings (Closes: #344306)
 +    * sv.po: Completed to 510 strings (Closes: #344056)
 +    * LINGUAS: disabled Hebrew translation. (Closes: #313283)
 +    * eu.po: Completed to 510 strings (Closes: #342091)
 +  * apt-get source won't download already downloaded files again
 +    (closes: #79277)
 +  * share/debian-archive.gpg: new 2006 ftp-archive signing key added
 +    (#345891)
 +  * redownload the Release file if IMS-Hit and gpg failure
 +  * deal with multiple signatures on a Release file
 +
 + -- Michael Vogt <mvo@debian.org>  Fri,  6 Jan 2006 01:17:08 +0100
 +
 +apt (0.6.43) unstable; urgency=medium
 +
 +  * Merge bubulle@debian.org--2005/apt--main--0 up to patch-132:  
 +    * zh_CN.po: Completed to 510 strings(Closes: #338267)
 +    * gl.po: Completed to 510 strings (Closes: #338356)
 +  * added support for "/etc/apt/sources.list.d" directory 
 +    (closes: #66325)
 +  * make pkgDirStream (a bit) more complete
 +  * fix bug in pkgCache::VerIterator::end() (thanks to Daniel Burrows)
 +    (closes: #339533)
 +  * pkgAcqFile is more flexible now (closes: #57091)
 +  * support a download rate limit for http (closes: #146877)
 +  * included lots of the speedup changes from #319377
 +  * add stdint.h to contrib/md5.h (closes: #340448)
 +  * ABI change, library name changed (closes: #339147)
 +  * Fix GNU/kFreeBSD crash on non-existing server file (closes: #317718)
 +  * switch to libdb4.3 in build-depends
 +  
 + -- Michael Vogt <mvo@debian.org>  Tue, 29 Nov 2005 00:17:07 +0100
 +
 +apt (0.6.42.3) unstable; urgency=low
 +
 +  * Merge bubulle@debian.org--2005/apt--main--0 up to patch-129:
 +    - patch-118: Russian translation update by Yuri Kozlov (closes: #335164)
 +    - patch-119: add update-po as a pre-req for binary (closes: #329910)
 +    - patch-121: Complete French translation
 +    - patch-125: Fixed localization of y/n questions in German translation 
 +                 (closes: #337078)
 +    - patch-126: Swedish translation update (closes: #337163)
 +    - patch-127: Complete Tagalog translation (closes: #337306)
 +    - patch-128: Danish translation update (closes: #337949)
 +    - patch-129: Basque translation update (closes: #338101)
 +  * cmdline/apt-get.cc:
 +    - bufix in FindSrc  (closes: #335213, #337910)
 +  * added armeb to archtable (closes: #333599)
 +  * with --allow-unauthenticated use the old fallback behaviour for
 +    sources (closes: #335112)
 +   
 + -- Michael Vogt <mvo@debian.org>  Wed,  9 Nov 2005 07:22:31 +0100
 +
 +apt (0.6.42.2) unstable; urgency=high
 +
 +  * NMU (approved by maintainer)
 +  * Add AMD64 archive signing key to debian-archive.gpg (closes: #336500).
 +  * Add big-endian arm (armeb) support (closes: #333599).
 +  * Priority high to get the AMD key into testing ASAP.
 +
 + -- Frans Pop <fjp@debian.org>  Sun, 30 Oct 2005 21:29:11 +0100
 + 
 +apt (0.6.42.1) unstable; urgency=low
 +
 +  * fix a incorrect example in the apt_prefrences man page
 +    (thanks to Filipus Klutiero, closes: #282918)
 +  * apt-pkg/pkgrecords.cc:
 +    - revert patch from last version, it causes trouble on alpha 
 +      and ia64 (closes: #335102, #335103)
 +  * cmdline/apt-get.cc:
 +    - be extra carefull in FindSrc (closes: #335213)
 +
 + -- Michael Vogt <mvo@debian.org>  Sat, 22 Oct 2005 23:44:35 +0200
 +
 +apt (0.6.42) unstable; urgency=low
 +
 +  * apt-pkg/cdrom.cc:
 +    - unmount the cdrom when apt failed to locate any package files
 +  * allow cdrom failures and fallback to other sources in that case
 +    (closes: #44135)
 +  * better error text when dpkg-source fails 
 +  * Merge bubulle@debian.org--2005/apt--main--0 up to patch-115:
 +    - patch-99: Added Galician translation
 +    - patch-100: Completed Danish translation (Closes: #325686)
 +    - patch-104: French translation completed
 +    - patch-109: Italian translation completed
 +    - patch-112: Swedish translation update 
 +    - patch-115: Basque translation completed (Closes: #333299)
 +  * applied french man-page update (thanks to Philippe Batailler)
 +    (closes: #316638, #327456)
 +  * fix leak in the mmap code, thanks to Daniel Burrows for the
 +    patch (closes: #250583)
 +  * support for apt-get [build-dep|source] -t (closes: #152129)
 +  * added "APT::Authentication::TrustCDROM" option to make the life
 +    for the installer people easier (closes: #334656)
 +  * fix crash in apt-ftparchive (thanks to Bastian Blank for the patch)
 +    (closes: #334671)
 +  * apt-pkg/contrib/md5.cc:
 +    - fix a alignment problem on sparc64 that gives random bus errors
 +      (thanks to Fabbione for providing a test-case)
 +  * init the default ScreenWidth to 79 columns by default 
 +    (Closes: #324921)
 +  * cmdline/apt-cdrom.cc: 
 +    - fix some missing gettext() calls (closes: #334539)
 +  * doc/apt-cache.8.xml: fix typo (closes: #334714)
 +  
 + -- Michael Vogt <mvo@debian.org>  Wed, 19 Oct 2005 22:02:09 +0200
 +
  apt (0.6.41) unstable; urgency=low
  
    * improved the support for "error" and "conffile" reporting from