summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2012-08-05 14:16:24 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2012-08-05 14:16:24 +0200
commitc1cd1ac2fd051a11ec5c3eafad68b39521594ed6 (patch)
treecc558b95cfc5f0439f5142df99baeae0944676af
parentd5da93b83f886b87958e52d4658b9f08b255b36c (diff)
* apt-pkg/cdrom.cc:
- do not link() but rename() the cdroms.list to cdroms.list~ as a backup to ensure that apt-cdrom can be run multiple times (Closes: #676302)
-rw-r--r--apt-pkg/cdrom.cc4
-rw-r--r--debian/changelog3
2 files changed, 5 insertions, 2 deletions
diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc
index 8462e8286..699f66fb3 100644
--- a/apt-pkg/cdrom.cc
+++ b/apt-pkg/cdrom.cc
@@ -413,8 +413,8 @@ bool pkgCdrom::WriteDatabase(Configuration &Cnf)
Out.close();
- if (FileExists(DFile) == true && link(DFile.c_str(),string(DFile + '~').c_str()) != 0)
- return _error->Errno("link", "Failed to link %s to %s~", DFile.c_str(), DFile.c_str());
+ if (FileExists(DFile) == true)
+ rename(DFile.c_str(), string(DFile + '~').c_str());
if (rename(NewFile.c_str(),DFile.c_str()) != 0)
return _error->Errno("rename","Failed to rename %s.new to %s",
DFile.c_str(),DFile.c_str());
diff --git a/debian/changelog b/debian/changelog
index 7092d8164..3bed49ec0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -29,6 +29,9 @@ apt (0.9.7.4) UNRELEASED; urgency=low
* apt-pkg/indexcopy.cc:
- do not use atomic writing if the target is /dev/null as we don't want
to replace it, not even automically. (Closes: #683410)
+ * apt-pkg/cdrom.cc:
+ - do not link() but rename() the cdroms.list to cdroms.list~ as a backup
+ to ensure that apt-cdrom can be run multiple times (Closes: #676302)
-- David Kalnischkies <kalnischkies@gmail.com> Wed, 18 Jul 2012 11:45:57 +0200