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

rerun dpkg-source in source if --fix-broken is given (Closes: #576752)

David Kalnischkies лет назад: 16
Родитель
Сommit
827d04d3b2
2 измененных файлов с 3 добавлено и 1 удалено
  1. 2 1
      cmdline/apt-get.cc
  2. 1 0
      debian/changelog

+ 2 - 1
cmdline/apt-get.cc

@@ -2380,6 +2380,7 @@ bool DoSource(CommandLine &CmdL)
    
    if (Process == 0)
    {
+      bool const fixBroken = _config->FindB("APT::Get::Fix-Broken", false);
       for (unsigned I = 0; I != J; I++)
       {
 	 string Dir = Dsc[I].Package + '-' + Cache->VS().UpstreamVersion(Dsc[I].Version.c_str());
@@ -2392,7 +2393,7 @@ bool DoSource(CommandLine &CmdL)
 
 	 // See if the package is already unpacked
 	 struct stat Stat;
-	 if (stat(Dir.c_str(),&Stat) == 0 &&
+	 if (fixBroken == false && stat(Dir.c_str(),&Stat) == 0 &&
 	     S_ISDIR(Stat.st_mode) != 0)
 	 {
 	    ioprintf(c0out ,_("Skipping unpack of already unpacked source in %s\n"),

+ 1 - 0
debian/changelog

@@ -33,6 +33,7 @@ apt (0.7.26~exp4) UNRELEASED; urgency=low
     - regex for package names executed on Grp- not PkgIterator
     - show non-candidates as fallback for virtual packages (Closes: #578385)
     - set also "all" to this version for pseudo packages in TryToChangeVer
+    - rerun dpkg-source in source if --fix-broken is given (Closes: #576752)
   * apt-pkg/deb/dpkgpm.cc:
     - remove Chroot-Directory from files passed to install commands.
       Thanks to Kel Modderman for report & patch! (Closes: #577226)