Просмотр исходного кода

do not replace /dev/null when running in APT::CDROM::NoAct
mode (LP: #612666), thanks to Colin Watson

Michael Vogt лет назад: 16
Родитель
Сommit
8deb53abcc
2 измененных файлов с 8 добавлено и 1 удалено
  1. 6 1
      apt-pkg/indexcopy.cc
  2. 2 0
      debian/changelog

+ 6 - 1
apt-pkg/indexcopy.cc

@@ -132,9 +132,14 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List,
 	       (*I).c_str() + CDROM.length(),GetFileName());
 	       (*I).c_str() + CDROM.length(),GetFileName());
       string TargetF = _config->FindDir("Dir::State::lists") + "partial/";
       string TargetF = _config->FindDir("Dir::State::lists") + "partial/";
       TargetF += URItoFileName(S);
       TargetF += URItoFileName(S);
+      FileFd Target;
       if (_config->FindB("APT::CDROM::NoAct",false) == true)
       if (_config->FindB("APT::CDROM::NoAct",false) == true)
+      {
 	 TargetF = "/dev/null";
 	 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");
       FILE *TargetFl = fdopen(dup(Target.Fd()),"w");
       if (_error->PendingError() == true)
       if (_error->PendingError() == true)
 	 return false;
 	 return false;

+ 2 - 0
debian/changelog

@@ -2,6 +2,8 @@ apt (0.8.2) unstable; urgency=low
 
 
   * apt-pkg/indexcopy.cc:
   * apt-pkg/indexcopy.cc:
     - only use trusted.gpg.d directory if it exists
     - only use trusted.gpg.d directory if it exists
+    - do not replace /dev/null when running in APT::CDROM::NoAct
+      mode (LP: #612666), thanks to Colin Watson
 
 
  -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 03 Sep 2010 20:21:43 +0200
  -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 03 Sep 2010 20:21:43 +0200