diff options
author | David Kalnischkies <kalnischkies@gmail.com> | 2012-08-05 12:36:46 +0200 |
---|---|---|
committer | David Kalnischkies <kalnischkies@gmail.com> | 2012-08-05 12:36:46 +0200 |
commit | d5da93b83f886b87958e52d4658b9f08b255b36c (patch) | |
tree | 8858674d35e661f215c3996b4195b1873c35bcb9 | |
parent | 666faa35f8a42d2a8691daf46a203be6d29166dc (diff) |
* 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)
-rw-r--r-- | apt-pkg/indexcopy.cc | 7 | ||||
-rw-r--r-- | debian/changelog | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/apt-pkg/indexcopy.cc b/apt-pkg/indexcopy.cc index e29e2819c..c97445326 100644 --- a/apt-pkg/indexcopy.cc +++ b/apt-pkg/indexcopy.cc @@ -810,9 +810,14 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ (*I).c_str() + CDROM.length()); string TargetF = _config->FindDir("Dir::State::lists") + "partial/"; TargetF += URItoFileName(S); + FileFd Target; if (_config->FindB("APT::CDROM::NoAct",false) == true) + { TargetF = "/dev/null"; - FileFd Target(TargetF,FileFd::WriteAtomic); + Target.Open(TargetF,FileFd::WriteExists); + } else { + Target.Open(TargetF,FileFd::WriteAtomic); + } FILE *TargetFl = fdopen(dup(Target.Fd()),"w"); if (_error->PendingError() == true) return false; diff --git a/debian/changelog b/debian/changelog index 4646762f6..7092d8164 100644 --- a/debian/changelog +++ b/debian/changelog @@ -26,6 +26,9 @@ apt (0.9.7.4) UNRELEASED; urgency=low * doc/apt-verbatim.ent: - denote 'wheezy' as stable codename and 'jessie' as testing codename in the documentation in preparation for release + * 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) -- David Kalnischkies <kalnischkies@gmail.com> Wed, 18 Jul 2012 11:45:57 +0200 |