]> git.saurik.com Git - apt.git/commitdiff
Various bug fixes
authorArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:58:29 +0000 (16:58 +0000)
committerArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:58:29 +0000 (16:58 +0000)
Author: jgg
Date: 2001-07-01 20:49:08 GMT
Various bug fixes

apt-pkg/cachefile.cc
cmdline/apt-get.cc
debian/changelog
methods/http.cc

index 4bc93fd7c326ca5a601083f41fa56116970e9923..8b3b02171de95575aa3b407f6a55b605c67905ab 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: cachefile.cc,v 1.6 2001/03/13 06:51:46 jgg Exp $
+// $Id: cachefile.cc,v 1.7 2001/07/01 20:49:08 jgg Exp $
 /* ######################################################################
    
    CacheFile - Simple wrapper class for opening, generating and whatnot
@@ -55,6 +55,9 @@ bool pkgCacheFile::Open(OpProgress &Progress,bool WithLock)
       if (_system->Lock() == false)
         return false;
    
+   if (_config->FindB("Debug::NoLocking",false) == true)
+      WithLock = false;
+      
    if (_error->PendingError() == true)
       return false;
    
index 70e86f21911ded69a2ce2379194de0ffb308c0a6..e79bb391388e09d80e1fb792913198cfa14ca4dc 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: apt-get.cc,v 1.107 2001/05/27 04:45:49 jgg Exp $
+// $Id: apt-get.cc,v 1.108 2001/07/01 20:49:08 jgg Exp $
 /* ######################################################################
    
    apt-get - Cover for dpkg
@@ -88,6 +88,13 @@ class CacheFile : public pkgCacheFile
       
       return true;
    };
+   bool OpenForInstall()
+   {
+      if (_config->FindB("APT::Get::Print-URIs") == true)
+        Open(false);
+      else
+        Open(true);
+   }
    CacheFile() : List(0) {};
 };
                                                                        /*}}}*/
@@ -635,7 +642,8 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true,
    
    // Lock the archive directory
    FileFd Lock;
-   if (_config->FindB("Debug::NoLocking",false) == false)
+   if (_config->FindB("Debug::NoLocking",false) == false &&
+       _config->FindB("APT::Get::Print-URIs") == false)
    {
       Lock.Fd(GetLock(_config->FindDir("Dir::Cache::Archives") + "lock"));
       if (_error->PendingError() == true)
@@ -1189,7 +1197,7 @@ bool DoUpdate(CommandLine &CmdL)
 bool DoUpgrade(CommandLine &CmdL)
 {
    CacheFile Cache;
-   if (Cache.Open() == false || Cache.CheckDeps() == false)
+   if (Cache.OpenForInstall() == false || Cache.CheckDeps() == false)
       return false;
 
    // Do the upgrade
@@ -1208,7 +1216,8 @@ bool DoUpgrade(CommandLine &CmdL)
 bool DoInstall(CommandLine &CmdL)
 {
    CacheFile Cache;
-   if (Cache.Open() == false || Cache.CheckDeps(CmdL.FileSize() != 1) == false)
+   if (Cache.OpenForInstall() == false || 
+       Cache.CheckDeps(CmdL.FileSize() != 1) == false)
       return false;
    
    // Enter the special broken fixing mode if the user specified arguments
@@ -1404,7 +1413,7 @@ bool DoInstall(CommandLine &CmdL)
 bool DoDistUpgrade(CommandLine &CmdL)
 {
    CacheFile Cache;
-   if (Cache.Open() == false || Cache.CheckDeps() == false)
+   if (Cache.OpenForInstall() == false || Cache.CheckDeps() == false)
       return false;
 
    c0out << _("Calculating Upgrade... ") << flush;
@@ -1426,7 +1435,7 @@ bool DoDistUpgrade(CommandLine &CmdL)
 bool DoDSelectUpgrade(CommandLine &CmdL)
 {
    CacheFile Cache;
-   if (Cache.Open() == false || Cache.CheckDeps() == false)
+   if (Cache.OpenForInstall() == false || Cache.CheckDeps() == false)
       return false;
    
    // Install everything with the install flag set
index 68e6d685429c5ef29b0af3e76050a8ca283a946c..6e2e9a344fd690784d741a16ca38cd0adbd386ab 100644 (file)
@@ -11,7 +11,7 @@ apt (0.5.4) unstable; urgency=low
     similar situations. Closes: #56708, #59432
   * no_proxy and ftp. Closes: #89671
   * Philippe Batailler's man page patches.
-  * Fix for display bug. Closes: #92033, #93652, #98468
+  * Fix for display bug. Closes: #92033, #93652, #98468, #102951
   * Reordered some things to make dante and FTP happier. Closes: #92757
   * James R. Van Zandt's guide.sgml updates. Closes: #90027
   * apt-ftparchive copes with no uncompressed package files + contents.
@@ -28,6 +28,9 @@ apt (0.5.4) unstable; urgency=low
   * Fixed no_proxy tokanizing. Closes: #100046
   * Strip Config-Version when copying status to available. Closes: #97520
   * Segfault with missing source files. Closes: #100325
+  * EINTR check. Closes: #102293
+  * Various changes to the locking metholodgy for --print-uris. 
+    Closes: #100590
   
  -- Jason Gunthorpe <jgg@debian.org>  Thu,  8 Mar 2001 22:48:06 -0700
 
index 1c3f61caa63ec94e4a6ecd00210c88e646ae5b62..6e989102b8fdc159d050eb78fc6b6c47dc62409e 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: http.cc,v 1.52 2001/05/27 23:53:55 jgg Exp $
+// $Id: http.cc,v 1.53 2001/07/01 20:49:09 jgg Exp $
 /* ######################################################################
 
    HTTP Aquire Method - This is the HTTP aquire method for APT.
@@ -726,7 +726,11 @@ bool HttpMethod::Go(bool ToFile,ServerState *Srv)
    tv.tv_usec = 0;
    int Res = 0;
    if ((Res = select(MaxFd+1,&rfds,&wfds,0,&tv)) < 0)
+   {
+      if (errno == EINTR)
+        return true;
       return _error->Errno("select","Select failed");
+   }
    
    if (Res == 0)
    {