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

* apt-pkg/deb/dpkgpm.cc:
- ignore lines that can't be split properly from dpkg (DpkgPM::Go)
* doc/examples/configure-index:
- documentation updates

Michael Vogt лет назад: 20
Родитель
Сommit
5e9179a6a3
4 измененных файлов с 14 добавлено и 2 удалено
  1. 7 1
      apt-pkg/deb/dpkgpm.cc
  2. 1 1
      configure.in
  3. 5 0
      debian/changelog
  4. 1 0
      doc/examples/configure-index

+ 7 - 1
apt-pkg/deb/dpkgpm.cc

@@ -624,7 +624,13 @@ bool pkgDPkgPM::Go(int OutStatusFd)
 	    
 	 */
 	 char* list[5];
-	 TokSplitString(':', line, list, sizeof(list)/sizeof(list[0]));
+	 if(!TokSplitString(':', line, list, sizeof(list)/sizeof(list[0])))
+	    // FIXME: dpkg sends multiline error messages sometimes (see
+	    //        #374195 for a example. we should support this by
+	    //        either patching dpkg to not send multiline over the
+	    //        statusfd or by rewriting the code here to deal with
+	    //        it. for now we just ignore it and not crash
+	    continue;
 	 char *pkg = list[1];
 	 char *action = _strstrip(list[2]);
 

+ 1 - 1
configure.in

@@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
 AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
 
 dnl -- SET THIS TO THE RELEASE VERSION --
-AC_DEFINE_UNQUOTED(VERSION,"0.6.44.1-0.1")
+AC_DEFINE_UNQUOTED(VERSION,"0.6.45")
 PACKAGE="apt"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_SUBST(PACKAGE)

+ 5 - 0
debian/changelog

@@ -7,6 +7,11 @@ apt (0.6.45) unstable; urgency=low
       (closes: #379576)
   * doc/apt-get.8.xml:
     - fix path to the apt user build (Closes: #375640)
+  * apt-pkg/deb/dpkgpm.cc:
+    - make progress reporting more robust against multiline error
+      messages (first half of a fix for #374195)
+  * doc/examples/configure-index:
+    - document Debug::pkgAcquire::Auth     
   * Merged from Christian Perrier bzr branch:
     * ko.po: Updated to 512t. Closes: #378901
     * hu.po: Updated to 512t. Closes: #376330

+ 1 - 0
doc/examples/configure-index

@@ -247,6 +247,7 @@ Debug
   pkgDepCache::AutoInstall "false"; // what packages apt install to satify dependencies
   pkgAcquire "false";
   pkgAcquire::Worker "false";
+  pkgAcquire::Auth "false";
   pkgDPkgPM "false";
   pkgDPkgProgressReporting "false";
   pkgOrderList "false";