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

Add new Debug::RunScripts option

This debug option will display all scripts that are run
by apts RunScripts and RunScriptsWithPkgs helpers.
Michael Vogt лет назад: 12
Родитель
Сommit
e5b7e01923
4 измененных файлов с 22 добавлено и 2 удалено
  1. 5 1
      apt-pkg/contrib/fileutl.cc
  2. 4 0
      apt-pkg/deb/dpkgpm.cc
  3. 12 0
      doc/apt.conf.5.xml
  4. 1 1
      doc/examples/configure-index

+ 5 - 1
apt-pkg/contrib/fileutl.cc

@@ -104,7 +104,11 @@ bool RunScripts(const char *Cnf)
       {
 	 if (Opts->Value.empty() == true)
 	    continue;
-	 
+
+         if(_config->FindB("Debug::RunScripts", false) == true)
+            std::clog << "Running external script: '"
+                      << Opts->Value << "'" << std::endl;
+
 	 if (system(Opts->Value.c_str()) != 0)
 	    _exit(100+Count);
       }

+ 4 - 0
apt-pkg/deb/dpkgpm.cc

@@ -410,6 +410,10 @@ bool pkgDPkgPM::RunScriptsWithPkgs(const char *Cnf)
       if (Opts->Value.empty() == true)
          continue;
 
+      if(_config->FindB("Debug::RunScripts", false) == true)
+         std::clog << "Running external script with list of all .deb file: '"
+                   << Opts->Value << "'" << std::endl;
+
       // Determine the protocol version
       string OptSec = Opts->Value;
       string::size_type Pos;

+ 12 - 0
doc/apt.conf.5.xml

@@ -1184,6 +1184,18 @@ DPkg::TriggersPending "true";</literallayout></para>
        </listitem>
      </varlistentry>
 
+     <varlistentry>
+       <term><option>Debug::RunScripts</option></term>
+       <listitem>
+        <para>
+          Display the external commands that are called by apt hooks.
+          This includes e.g. the config options
+          <literal>DPkg::{Pre,Post}-Invoke</literal> or
+          <literal>APT::Update::{Pre,Post}-Invoke</literal>.
+        </para>
+       </listitem>
+     </varlistentry>
+
 <!-- 2009/07/11 Currently used nowhere. The corresponding code
 is commented.
      <varlistentry>

+ 1 - 1
doc/examples/configure-index

@@ -450,7 +450,7 @@ Debug
   aptcdrom "false";        // Show found package files
   IdentCdrom "false";
   acquire::netrc "false";  // netrc parser
-  
+  RunScripts "false";      // debug invocation of external scripts  
 }
 
 pkgCacheGen::Essential "native"; // other modes: all, none, installed