diff -u system-config-printer-1.4.3+20140219/debian/changelog system-config-printer-1.4.3+20140219/debian/changelog --- system-config-printer-1.4.3+20140219/debian/changelog +++ system-config-printer-1.4.3+20140219/debian/changelog @@ -1,3 +1,16 @@ +system-config-printer (1.4.3+20140219-0ubuntu2) trusty; urgency=low + + * debian/patches/30_newprinter-driver-download-override-false-error-alarm.patch: + Fix for the infinite loop fix of 1.4.2+20130920-0ubuntu3: Now the loop + is terminated when install-printerdriver outputs "done" but perhaps + somewhat early (race condition?) as this causes a false alarm of an error + exit of install-printerdriver, telling to the caller that the driver was + not installed, letting the caller not reload the system's PPD list and so + the freshly installed driver does not get found by the subsequent print + queue setup. With this we should have a working fix for LP: #1248303). + + -- Till Kamppeter Fri, 14 Mar 2014 17:06:52 +0100 + system-config-printer (1.4.3+20140219-0ubuntu1) trusty; urgency=medium * New upstream release only in patch2: unchanged: --- system-config-printer-1.4.3+20140219.orig/debian/patches/30_newprinter-driver-download-override-false-error-alarm.patch +++ system-config-printer-1.4.3+20140219/debian/patches/30_newprinter-driver-download-override-false-error-alarm.patch @@ -0,0 +1,25 @@ +diff -Nur -x '*.orig' -x '*~' system-config-printer-1.4.3+20140219/newprinter.py system-config-printer-1.4.3+20140219.new/newprinter.py +--- system-config-printer-1.4.3+20140219/newprinter.py 2014-03-14 16:59:02.038916968 +0100 ++++ system-config-printer-1.4.3+20140219.new/newprinter.py 2014-03-14 17:00:10.078918790 +0100 +@@ -1000,10 +1000,12 @@ + # Keep the UI refreshed while we wait for + # the drivers query to complete. + (stdout, stderr) = (self.p.stdout, self.p.stderr) ++ done = False + while self.p.poll() == None: + line = stderr.readline ().strip() + if (len(line) > 0): + if line == "done": ++ done = True + break + try: + percentage = float(line) +@@ -1015,7 +1017,7 @@ + Gtk.main_iteration () + if not line: + time.sleep (0.1) +- if self.p.returncode != 0: ++ if self.p.returncode != 0 and not done: + ret = False + except: + # Problem executing command.