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());
signature.asc
Description: Digital signature

