The fix is just to ignore ENOENT from the link() in save_selection_list().

  Patch attached.

  Daniel
Mon Nov  7 14:50:23 PST 2005  Daniel Burrows <[EMAIL PROTECTED]>
  * Handle the case where the old package list isn't available to preserve 
(Closes: #337869).
diff -rN -udp old-head/src/generic/apt/aptcache.cc 
new-head/src/generic/apt/aptcache.cc
--- old-head/src/generic/apt/aptcache.cc        2005-11-07 14:57:52.000000000 
-0800
+++ new-head/src/generic/apt/aptcache.cc        2005-11-07 14:50:11.000000000 
-0800
@@ -617,7 +617,7 @@ bool aptitudeDepCache::save_selection_li
              return false;
            }
 
-         if(link(statefile.c_str(), oldstr.c_str()) != 0)
+         if(link(statefile.c_str(), oldstr.c_str()) != 0 && errno != ENOENT)
            {
              _error->Errno("save_selection_list", _("failed to rename %s to 
%s"),
                            statefile.c_str(), (statefile + ".old").c_str());

Attachment: signature.asc
Description: Digital signature

Reply via email to