Package: python-apt Version: 0.8.9.1 Tags: patch Hello,
It seems that the latest APT update breaks the base python-apt InstallProgress, as some package names in the status stream also feature the package architecture (packagename:arch). This is the produced traceback: Traceback (most recent call last): File "/usr/bin/bricks", line 181, in run engine.cache.commit(AcquireProgress(self.parent), InstallProgress(self.parent)) File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 504, in commit res = self.install_archives(pm, install_progress) File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 467, in install_archives res = install_progress.run(pm) File "/usr/lib/python2.7/dist-packages/apt/progress/base.py", line 206, in run res = self.wait_child() File "/usr/lib/python2.7/dist-packages/apt/progress/base.py", line 276, in wait_child self.update_interface() File "/usr/lib/python2.7/dist-packages/apt/progress/base.py", line 253, in update_interface if float(percent) != self.percent or status_str != self.status: ValueError: could not convert string to float: amd64 I'm attaching a quick and dirty patch that fixes the issue. Regards, Eugenio -- .: Eugenio Paolantonio - Semplice Linux developer :. http://semplice-linux.org http://medesimo.eu Twitter: @eugenio_g7 - Homepage: http://me.medesimo.eu
--- orig/apt/progress/base.py 2013-06-06 18:32:36.000000000 +0200 +++ mod/apt/progress/base.py 2013-10-12 22:27:54.050668349 +0200 @@ -221,10 +221,17 @@ return pkgname = status = status_str = percent = base = "" + architecture = "all" if line.startswith('pm'): try: (status, pkgname, percent, status_str) = line.split(":", 3) + # Handle pkgnames with :architecture, otherwise we'll later + # try to make the package architecture a float. + try: + float(percent) + except ValueError: + (status, pkgname, architecture, percent, status_str) = line.split(":", 4) except ValueError: # silently ignore lines that can't be parsed return