- Updated to 1.2.1:
- Fixed missing translations (bug #580442). - Offer to adjust firewall when necessary. - Avoid tracebacks when adjusting server settings. - Handle IPP failure fetching printer attributes for completed jobs (Ubuntu #562679). - monitor: don't crash if job-state attribute is missing (Ubuntu #562441). - troubleshoot: handle IPPError in PrintTestPage module (bug #579957). - Lots of check-device-ids fixes.
This commit is contained in:
parent
0c0e04c4bf
commit
8eb5a60fa6
@ -216,3 +216,4 @@ system-config-printer-1.1.92.tar.xz
|
|||||||
system-config-printer-1.1.93.tar.xz
|
system-config-printer-1.1.93.tar.xz
|
||||||
system-config-printer-1.2.0.tar.xz
|
system-config-printer-1.2.0.tar.xz
|
||||||
pycups-1.9.49.tar.bz2
|
pycups-1.9.49.tar.bz2
|
||||||
|
system-config-printer-1.2.1.tar.xz
|
||||||
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
|||||||
ac8f98a40b0fc4b6ab4470f10489887a pysmbc-1.0.6.tar.bz2
|
ac8f98a40b0fc4b6ab4470f10489887a pysmbc-1.0.6.tar.bz2
|
||||||
6db9d8bc7f40315bc0b93f210737cc82 pycups-1.9.49.tar.bz2
|
6db9d8bc7f40315bc0b93f210737cc82 pycups-1.9.49.tar.bz2
|
||||||
dc9c0728503c57a846bdf868eb3cf90d system-config-printer-1.2.0.tar.xz
|
c5463ad1b9f81947293521f8152727a1 system-config-printer-1.2.1.tar.xz
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/asyncpk1.py.JobCancel system-config-printer-1.2.0/asyncpk1.py
|
|
||||||
--- system-config-printer-1.2.0/asyncpk1.py.JobCancel 2010-02-18 15:17:50.000000000 +0000
|
|
||||||
+++ system-config-printer-1.2.0/asyncpk1.py 2010-03-24 09:37:25.782824070 +0000
|
|
||||||
@@ -431,7 +431,7 @@ class PK1Connection:
|
|
||||||
args, kwds)
|
|
||||||
|
|
||||||
self._call_with_pk (use_pycups,
|
|
||||||
- 'JobCancel', tup, reply_handler, error_handler,
|
|
||||||
+ 'JobCancelPurge', tup, reply_handler, error_handler,
|
|
||||||
self._nothing_to_unpack,
|
|
||||||
self._conn.cancelJob, args, kwds)
|
|
||||||
|
|
@ -1,107 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/asyncipp.py.asyncipp-traceback system-config-printer-1.2.0/asyncipp.py
|
|
||||||
--- system-config-printer-1.2.0/asyncipp.py.asyncipp-traceback 2010-03-27 10:12:14.667366971 +0000
|
|
||||||
+++ system-config-printer-1.2.0/asyncipp.py 2010-03-27 10:13:04.081365616 +0000
|
|
||||||
@@ -59,6 +59,7 @@ class _IPPConnectionThread(threading.Thr
|
|
||||||
self._auth_handler = auth_handler
|
|
||||||
self._auth_queue = Queue.Queue (1)
|
|
||||||
self.user = None
|
|
||||||
+ self._destroyed = False
|
|
||||||
debugprint ("+%s" % self)
|
|
||||||
|
|
||||||
def __del__ (self):
|
|
||||||
@@ -157,6 +158,7 @@ class _IPPConnectionThread(threading.Thr
|
|
||||||
self._queue.task_done ()
|
|
||||||
|
|
||||||
debugprint ("Thread exiting")
|
|
||||||
+ self._destroyed = True
|
|
||||||
del self._conn # already destroyed
|
|
||||||
del self._reply_handler
|
|
||||||
del self._error_handler
|
|
||||||
@@ -188,21 +190,23 @@ class _IPPConnectionThread(threading.Thr
|
|
||||||
return password
|
|
||||||
|
|
||||||
def _reply (self, result):
|
|
||||||
- def send_reply (result):
|
|
||||||
- self._reply_handler (self._conn, result)
|
|
||||||
+ def send_reply (handler, result):
|
|
||||||
+ if not self._destroyed:
|
|
||||||
+ handler (self._conn, result)
|
|
||||||
return False
|
|
||||||
|
|
||||||
- if self._reply_handler:
|
|
||||||
- gobject.idle_add (send_reply, result)
|
|
||||||
+ if not self._destroyed and self._reply_handler:
|
|
||||||
+ gobject.idle_add (send_reply, self._reply_handler, result)
|
|
||||||
|
|
||||||
def _error (self, exc):
|
|
||||||
- def send_error (exc):
|
|
||||||
- self._error_handler (self._conn, exc)
|
|
||||||
+ def send_error (handler, exc):
|
|
||||||
+ if not self._destroyed:
|
|
||||||
+ handler (self._conn, exc)
|
|
||||||
return False
|
|
||||||
|
|
||||||
- if self._error_handler:
|
|
||||||
+ if not self._destroyed and self._error_handler:
|
|
||||||
debugprint ("Add %s to idle" % self._error_handler)
|
|
||||||
- gobject.idle_add (send_error, exc)
|
|
||||||
+ gobject.idle_add (send_error, self._error_handler, exc)
|
|
||||||
|
|
||||||
###
|
|
||||||
### This is the user-visible class. Although it does not inherit from
|
|
||||||
diff -up system-config-printer-1.2.0/asyncpk1.py.asyncipp-traceback system-config-printer-1.2.0/asyncpk1.py
|
|
||||||
--- system-config-printer-1.2.0/asyncpk1.py.asyncipp-traceback 2010-03-27 10:12:14.702364469 +0000
|
|
||||||
+++ system-config-printer-1.2.0/asyncpk1.py 2010-03-27 10:13:06.407243790 +0000
|
|
||||||
@@ -64,6 +64,7 @@ class _PK1AsyncMethodCall:
|
|
||||||
self._fallback_fn = fallback_fn
|
|
||||||
self._fallback_args = args
|
|
||||||
self._fallback_kwds = kwds
|
|
||||||
+ self._destroyed = False
|
|
||||||
debugprint ("+_PK1AsyncMethodCall: %s" % self)
|
|
||||||
|
|
||||||
def __del__ (self):
|
|
||||||
@@ -85,6 +86,7 @@ class _PK1AsyncMethodCall:
|
|
||||||
|
|
||||||
def _destroy (self):
|
|
||||||
debugprint ("DESTROY: %s" % self)
|
|
||||||
+ self._destroyed = True
|
|
||||||
del self._bus
|
|
||||||
del self._conn
|
|
||||||
del self._pk_method_name
|
|
||||||
@@ -97,6 +99,9 @@ class _PK1AsyncMethodCall:
|
|
||||||
del self._fallback_kwds
|
|
||||||
|
|
||||||
def _pk_reply_handler (self, error, *args):
|
|
||||||
+ if self._destroyed:
|
|
||||||
+ return
|
|
||||||
+
|
|
||||||
if str (error) == '':
|
|
||||||
self._client_reply_handler (self._conn, self._unpack_fn (*args))
|
|
||||||
self._destroy ()
|
|
||||||
@@ -106,6 +111,9 @@ class _PK1AsyncMethodCall:
|
|
||||||
self.call_fallback_fn ()
|
|
||||||
|
|
||||||
def _pk_error_handler (self, exc):
|
|
||||||
+ if self._destroyed:
|
|
||||||
+ return
|
|
||||||
+
|
|
||||||
if exc.get_dbus_name () == CUPS_PK_NEED_AUTH:
|
|
||||||
exc = cups.IPPError (cups.IPP_NOT_AUTHORIZED, 'pkcancel')
|
|
||||||
self._client_error_handler (self._conn, exc)
|
|
||||||
@@ -123,10 +131,16 @@ class _PK1AsyncMethodCall:
|
|
||||||
self._fallback_fn (*self._fallback_args, **self._fallback_kwds)
|
|
||||||
|
|
||||||
def _ipp_reply_handler (self, conn, *args):
|
|
||||||
+ if self._destroyed:
|
|
||||||
+ return
|
|
||||||
+
|
|
||||||
self._client_reply_handler (self._conn, *args)
|
|
||||||
self._destroy ()
|
|
||||||
|
|
||||||
def _ipp_error_handler (self, conn, *args):
|
|
||||||
+ if self._destroyed:
|
|
||||||
+ return
|
|
||||||
+
|
|
||||||
self._client_error_handler (self._conn, *args)
|
|
||||||
self._destroy ()
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/check-device-ids.py.cdi-cmd system-config-printer-1.2.0/check-device-ids.py
|
|
||||||
--- system-config-printer-1.2.0/check-device-ids.py.cdi-cmd 2010-03-19 10:39:18.000000000 +0000
|
|
||||||
+++ system-config-printer-1.2.0/check-device-ids.py 2010-03-19 10:39:55.011621602 +0000
|
|
||||||
@@ -160,9 +160,16 @@ for device, attrs in devices.iteritems (
|
|
||||||
else:
|
|
||||||
line = last
|
|
||||||
|
|
||||||
- print "%s %s: MFG:%s;MDL:%s;" % (line, make_and_model,
|
|
||||||
- id_fields['MFG'],
|
|
||||||
- id_fields['MDL'])
|
|
||||||
+ cmd = id_fields['CMD']
|
|
||||||
+ if cmd:
|
|
||||||
+ cmd = "CMD:%s;" % reduce (lambda x, y: x + ',' + y, cmd)
|
|
||||||
+ else:
|
|
||||||
+ cmd = ""
|
|
||||||
+
|
|
||||||
+ print "%s %s: MFG:%s;MDL:%s;%s" % (line, make_and_model,
|
|
||||||
+ id_fields['MFG'],
|
|
||||||
+ id_fields['MDL'],
|
|
||||||
+ cmd)
|
|
||||||
|
|
||||||
try:
|
|
||||||
drivers = ppds.ids[id_fields['MFG'].lower ()][id_fields['MDL'].lower ()]
|
|
@ -1,21 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/check-device-ids.py.cdi-filename system-config-printer-1.2.0/check-device-ids.py
|
|
||||||
--- system-config-printer-1.2.0/check-device-ids.py.cdi-filename 2010-03-19 12:39:49.195620887 +0000
|
|
||||||
+++ system-config-printer-1.2.0/check-device-ids.py 2010-03-19 12:40:09.012748969 +0000
|
|
||||||
@@ -115,16 +115,13 @@ makes = ppds.getMakes ()
|
|
||||||
|
|
||||||
def driver_uri_to_filename (uri):
|
|
||||||
schemeparts = uri.split (':', 2)
|
|
||||||
- if len (schemeparts) < 1:
|
|
||||||
+ if len (schemeparts) < 2:
|
|
||||||
return "/usr/share/cups/model/" + uri
|
|
||||||
|
|
||||||
scheme = schemeparts[0]
|
|
||||||
if scheme != "drv":
|
|
||||||
return "/usr/lib/cups/driver/" + scheme
|
|
||||||
|
|
||||||
- if len (schemeparts) < 2:
|
|
||||||
- return ""
|
|
||||||
-
|
|
||||||
rest = schemeparts[1]
|
|
||||||
rest = rest.lstrip ('/')
|
|
||||||
parts = rest.split ('/')
|
|
@ -1,17 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/check-device-ids.py.cdi-lsb-paths system-config-printer-1.2.0/check-device-ids.py
|
|
||||||
--- system-config-printer-1.2.0/check-device-ids.py.cdi-lsb-paths 2010-03-25 17:06:01.198242692 +0000
|
|
||||||
+++ system-config-printer-1.2.0/check-device-ids.py 2010-03-25 17:07:10.914359770 +0000
|
|
||||||
@@ -116,6 +116,13 @@ makes = ppds.getMakes ()
|
|
||||||
def driver_uri_to_filename (uri):
|
|
||||||
schemeparts = uri.split (':', 2)
|
|
||||||
if len (schemeparts) < 2:
|
|
||||||
+ if uri.startswith ("lsb/usr/"):
|
|
||||||
+ return "/usr/share/ppd/" + uri[8:]
|
|
||||||
+ elif uri.startswith ("lsb/opt/"):
|
|
||||||
+ return "/opt/share/ppd/" + uri[8:]
|
|
||||||
+ elif uri.startswith ("lsb/local/"):
|
|
||||||
+ return "/usr/local/share/ppd/" + uri[10:]
|
|
||||||
+
|
|
||||||
return "/usr/share/cups/model/" + uri
|
|
||||||
|
|
||||||
scheme = schemeparts[0]
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/check-device-ids.py.cdi-make-and-model system-config-printer-1.2.0/check-device-ids.py
|
|
||||||
--- system-config-printer-1.2.0/check-device-ids.py.cdi-make-and-model 2010-03-27 10:16:04.371239756 +0000
|
|
||||||
+++ system-config-printer-1.2.0/check-device-ids.py 2010-03-27 10:16:14.458240137 +0000
|
|
||||||
@@ -210,7 +210,7 @@ for device, attrs in devices.iteritems (
|
|
||||||
mdls = ppds.makes[make]
|
|
||||||
break
|
|
||||||
if mdls:
|
|
||||||
- (s, bestmatches) = ppds._findBestMatchPPDs (mdls, id_fields['MDL'])
|
|
||||||
+ (s, bestmatches) = ppds._findBestMatchPPDs (mdls, mdl)
|
|
||||||
if s == ppds.STATUS_SUCCESS:
|
|
||||||
matches = matches.union (set (bestmatches))
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/check-device-ids.py.cdi-no-drivers system-config-printer-1.2.0/check-device-ids.py
|
|
||||||
--- system-config-printer-1.2.0/check-device-ids.py.cdi-no-drivers 2010-03-17 14:20:35.000000000 +0000
|
|
||||||
+++ system-config-printer-1.2.0/check-device-ids.py 2010-03-18 16:29:56.065865306 +0000
|
|
||||||
@@ -167,7 +167,7 @@ for device, attrs in devices.iteritems (
|
|
||||||
try:
|
|
||||||
drivers = ppds.ids[id_fields['MFG'].lower ()][id_fields['MDL'].lower ()]
|
|
||||||
except KeyError:
|
|
||||||
- drivers = None
|
|
||||||
+ drivers = []
|
|
||||||
|
|
||||||
if i < n:
|
|
||||||
more = unichr (0x2502)
|
|
@ -1,26 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/check-device-ids.py.cdi-search-harder system-config-printer-1.2.0/check-device-ids.py
|
|
||||||
--- system-config-printer-1.2.0/check-device-ids.py.cdi-search-harder 2010-03-25 16:33:07.312234926 +0000
|
|
||||||
+++ system-config-printer-1.2.0/check-device-ids.py 2010-03-25 16:33:07.409361225 +0000
|
|
||||||
@@ -195,6 +195,7 @@ for device, attrs in devices.iteritems (
|
|
||||||
print "%s (No drivers)" % more
|
|
||||||
|
|
||||||
(mfr, mdl) = ppdMakeModelSplit (make_and_model)
|
|
||||||
+ matches = set (ppds.getInfoFromModel (mfr, mdl))
|
|
||||||
mfrl = mfr.lower ()
|
|
||||||
mdls = None
|
|
||||||
for make in makes:
|
|
||||||
@@ -204,9 +205,10 @@ for device, attrs in devices.iteritems (
|
|
||||||
if mdls:
|
|
||||||
(s, bestmatches) = ppds._findBestMatchPPDs (mdls, id_fields['MDL'])
|
|
||||||
if s == ppds.STATUS_SUCCESS:
|
|
||||||
- missing = set (bestmatches) - set (drivers)
|
|
||||||
- for each in missing:
|
|
||||||
- print "%s MISSING %s [%s]" % (more, each,
|
|
||||||
- driver_uri_to_pkg (each))
|
|
||||||
+ matches = matches.union (set (bestmatches))
|
|
||||||
+
|
|
||||||
+ missing = set (matches) - set (drivers)
|
|
||||||
+ for each in missing:
|
|
||||||
+ print "%s MISSING %s" % (more, each)
|
|
||||||
|
|
||||||
i += 1
|
|
@ -1,11 +0,0 @@
|
|||||||
diff -up system-config-printer-1.1.18/system-config-printer.py.downloadable-drivers system-config-printer-1.1.18/system-config-printer.py
|
|
||||||
--- system-config-printer-1.1.18/system-config-printer.py.downloadable-drivers 2010-03-10 09:33:46.000000000 +0000
|
|
||||||
+++ system-config-printer-1.1.18/system-config-printer.py 2010-03-22 17:18:40.177572582 +0000
|
|
||||||
@@ -6334,6 +6334,7 @@ class NewPrinterGUI(GtkGUI):
|
|
||||||
# Should report error.
|
|
||||||
print drivers
|
|
||||||
print traceback.extract_tb(drivers[2], limit=None)
|
|
||||||
+ self.downloadable_drivers = dict()
|
|
||||||
return
|
|
||||||
|
|
||||||
self.openprinting_query_handle = None
|
|
@ -1,78 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/gtkinklevel.py.inklevel system-config-printer-1.2.0/gtkinklevel.py
|
|
||||||
--- system-config-printer-1.2.0/gtkinklevel.py.inklevel 2009-12-03 17:06:22.000000000 +0000
|
|
||||||
+++ system-config-printer-1.2.0/gtkinklevel.py 2010-03-26 10:34:15.981600493 +0000
|
|
||||||
@@ -1,7 +1,8 @@
|
|
||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
-## Copyright (C) 2009 Tim Waugh <twaugh@redhat.com>
|
|
||||||
-## Copyright (C) 2009 Red Hat, Inc.
|
|
||||||
+## Copyright (C) 2010 Red Hat, Inc.
|
|
||||||
+## Authors:
|
|
||||||
+## Tim Waugh <twaugh@redhat.com>
|
|
||||||
|
|
||||||
## This program is free software; you can redistribute it and/or modify
|
|
||||||
## it under the terms of the GNU General Public License as published by
|
|
||||||
@@ -56,10 +57,9 @@ class GtkInkLevel (gtk.DrawingArea):
|
|
||||||
ctx.translate (thickness, thickness)
|
|
||||||
ctx.scale (w - 2 * thickness, h - 2 * thickness)
|
|
||||||
thickness = max (ctx.device_to_user_distance (thickness, thickness))
|
|
||||||
- ctx.set_line_width (thickness)
|
|
||||||
- self.draw (ctx)
|
|
||||||
+ self.draw (ctx, thickness)
|
|
||||||
|
|
||||||
- def draw (self, ctx):
|
|
||||||
+ def draw (self, ctx, thickness):
|
|
||||||
r = self._color.red / 65535.0
|
|
||||||
g = self._color.green / 65535.0
|
|
||||||
b = self._color.blue / 65535.0
|
|
||||||
@@ -72,6 +72,7 @@ class GtkInkLevel (gtk.DrawingArea):
|
|
||||||
ctx.curve_to (0.0, 0.5, 0.1, 0.2, 0.5, 0.0)
|
|
||||||
ctx.close_path ()
|
|
||||||
ctx.set_source_rgb (r, g, b)
|
|
||||||
+ ctx.set_line_width (thickness)
|
|
||||||
ctx.stroke_preserve ()
|
|
||||||
if fill_point > 0.0:
|
|
||||||
grad_width = 0.10
|
|
||||||
@@ -90,6 +91,31 @@ class GtkInkLevel (gtk.DrawingArea):
|
|
||||||
ctx.set_source_rgb (1, 1, 1)
|
|
||||||
ctx.fill ()
|
|
||||||
|
|
||||||
+ ctx.set_line_width (thickness / 2)
|
|
||||||
+
|
|
||||||
+ ctx.move_to (0.5, 0.0)
|
|
||||||
+ ctx.line_to (0.5, 1.0)
|
|
||||||
+ ctx.set_source_rgb (r, g, b)
|
|
||||||
+ ctx.stroke ()
|
|
||||||
+
|
|
||||||
+ # 50% marker
|
|
||||||
+ ctx.move_to (0.4, 0.5)
|
|
||||||
+ ctx.line_to (0.6, 0.5)
|
|
||||||
+ ctx.set_source_rgb (r, g, b)
|
|
||||||
+ ctx.stroke ()
|
|
||||||
+
|
|
||||||
+ # 25% marker
|
|
||||||
+ ctx.move_to (0.45, 0.75)
|
|
||||||
+ ctx.line_to (0.55, 0.75)
|
|
||||||
+ ctx.set_source_rgb (r, g, b)
|
|
||||||
+ ctx.stroke ()
|
|
||||||
+
|
|
||||||
+ # 75% marker
|
|
||||||
+ ctx.move_to (0.45, 0.25)
|
|
||||||
+ ctx.line_to (0.55, 0.25)
|
|
||||||
+ ctx.set_source_rgb (r, g, b)
|
|
||||||
+ ctx.stroke ()
|
|
||||||
+
|
|
||||||
if __name__ == '__main__':
|
|
||||||
# Try it out.
|
|
||||||
import gobject
|
|
||||||
diff -up system-config-printer-1.2.0/system-config-printer.py.inklevel system-config-printer-1.2.0/system-config-printer.py
|
|
||||||
--- system-config-printer-1.2.0/system-config-printer.py.inklevel 2010-03-26 10:34:06.158727658 +0000
|
|
||||||
+++ system-config-printer-1.2.0/system-config-printer.py 2010-03-26 10:34:06.250725897 +0000
|
|
||||||
@@ -2681,6 +2681,7 @@ class GUI(GtkGUI, monitor.Watcher):
|
|
||||||
vbox = gtk.VBox (spacing=6)
|
|
||||||
subhbox = gtk.HBox ()
|
|
||||||
inklevel = gtkinklevel.GtkInkLevel (color, level)
|
|
||||||
+ inklevel.set_tooltip_text ("%d%%" % level)
|
|
||||||
subhbox.pack_start (inklevel, True, False, 0)
|
|
||||||
vbox.pack_start (subhbox, False, False, 0)
|
|
||||||
label = gtk.Label (name)
|
|
@ -1,17 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/asyncpk1.py.jobcancel-compat system-config-printer-1.2.0/asyncpk1.py
|
|
||||||
--- system-config-printer-1.2.0/asyncpk1.py.jobcancel-compat 2010-04-12 12:09:40.000000000 +0100
|
|
||||||
+++ system-config-printer-1.2.0/asyncpk1.py 2010-04-12 12:12:03.562024987 +0100
|
|
||||||
@@ -441,11 +441,10 @@ class PK1Connection:
|
|
||||||
(use_pycups, reply_handler, error_handler,
|
|
||||||
tup) = self._args_kwds_to_tuple ([int],
|
|
||||||
- [(None, None),
|
|
||||||
- (None, False)], # purge_job
|
|
||||||
+ [(None, None)],
|
|
||||||
args, kwds)
|
|
||||||
|
|
||||||
self._call_with_pk (use_pycups,
|
|
||||||
- 'JobCancelPurge', tup, reply_handler, error_handler,
|
|
||||||
+ 'JobCancel', tup, reply_handler, error_handler,
|
|
||||||
self._nothing_to_unpack,
|
|
||||||
self._conn.cancelJob, args, kwds)
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/cupshelpers/ppds.py.kyocera-mita system-config-printer-1.2.0/cupshelpers/ppds.py
|
|
||||||
--- system-config-printer-1.2.0/cupshelpers/ppds.py.kyocera-mita 2010-03-09 17:52:15.000000000 +0000
|
|
||||||
+++ system-config-printer-1.2.0/cupshelpers/ppds.py 2010-03-19 11:43:38.823746889 +0000
|
|
||||||
@@ -137,6 +137,15 @@ def ppdMakeModelSplit (ppd_make_and_mode
|
|
||||||
elif l.startswith ("konica minolta "):
|
|
||||||
make = "KONICA MINOLTA"
|
|
||||||
model = ppd_make_and_model[15:]
|
|
||||||
+ elif l.startswith ("lexmark international "):
|
|
||||||
+ make = "Lexmark"
|
|
||||||
+ model = ppd_make_and_model[22:]
|
|
||||||
+ elif l.startswith ("kyocera mita "):
|
|
||||||
+ make = "Kyocera Mita"
|
|
||||||
+ model = ppd_make_and_model[13:]
|
|
||||||
+ elif l.startswith ("kyocera "):
|
|
||||||
+ make = "Kyocera Mita"
|
|
||||||
+ model = ppd_make_and_model[8:]
|
|
||||||
|
|
||||||
# Finally, take the first word as the name of the manufacturer.
|
|
||||||
else:
|
|
||||||
@@ -156,9 +165,6 @@ def ppdMakeModelSplit (ppd_make_and_mode
|
|
||||||
makel.endswith ("packard")):
|
|
||||||
make = "HP"
|
|
||||||
makel = "hp"
|
|
||||||
- elif makel == "lexmark international":
|
|
||||||
- make = "Lexmark"
|
|
||||||
- makel = "lexmark"
|
|
||||||
|
|
||||||
# HP PPDs give NickNames like:
|
|
||||||
# *NickName: "HP LaserJet 4 Plus v2013.111 Postscript (recommended)"
|
|
||||||
@@ -585,7 +591,8 @@ class PPDs:
|
|
||||||
mdll = mdl.lower ()
|
|
||||||
|
|
||||||
mfgrepl = {"hewlett-packard": "hp",
|
|
||||||
- "lexmark international": "lexmark"}
|
|
||||||
+ "lexmark international": "lexmark",
|
|
||||||
+ "kyocera": "kyocera mita"}
|
|
||||||
if self.lmakes.has_key (mfgl):
|
|
||||||
# Found manufacturer.
|
|
||||||
make = self.lmakes[mfgl]
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up system-config-printer-1.1.91/installdriver.py.lowercase-mfg-mdl system-config-printer-1.1.91/installdriver.py
|
|
||||||
--- system-config-printer-1.1.91/installdriver.py.lowercase-mfg-mdl 2010-02-08 17:25:56.000000000 +0000
|
|
||||||
+++ system-config-printer-1.1.91/installdriver.py 2010-02-17 15:49:19.064410563 +0000
|
|
||||||
@@ -43,6 +43,8 @@ class PrinterDriversInstaller(dbus.servi
|
|
||||||
obj = bus.get_object ("org.freedesktop.PackageKit",
|
|
||||||
"/org/freedesktop/PackageKit")
|
|
||||||
proxy = dbus.Interface (obj, "org.freedesktop.PackageKit.Modify")
|
|
||||||
+ mfg = mfg.lower ()
|
|
||||||
+ mdl = mdl.lower ()
|
|
||||||
proxy.InstallPrinterDrivers (0, ["MFG:%s;MDL:%s;" % (mfg, mdl)],
|
|
||||||
"hide-finished",
|
|
||||||
reply_handler=reply_handler,
|
|
@ -1,29 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/asyncipp.py.reconnect-error system-config-printer-1.2.0/asyncipp.py
|
|
||||||
--- system-config-printer-1.2.0/asyncipp.py.reconnect-error 2010-01-27 11:17:44.000000000 +0000
|
|
||||||
+++ system-config-printer-1.2.0/asyncipp.py 2010-03-22 11:54:54.320452998 +0000
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
-## Copyright (C) 2007, 2008, 2009 Red Hat, Inc.
|
|
||||||
+## Copyright (C) 2007, 2008, 2009, 2010 Red Hat, Inc.
|
|
||||||
## Copyright (C) 2008 Novell, Inc.
|
|
||||||
## Author: Tim Waugh <twaugh@redhat.com>
|
|
||||||
|
|
||||||
@@ -333,7 +333,7 @@ class _IPPAuthOperation:
|
|
||||||
# This is the initial "connection" operation, or a
|
|
||||||
# subsequent reconnection attempt.
|
|
||||||
debugprint ("Connection/reconnection failed")
|
|
||||||
- return self._reconnect_error (exc)
|
|
||||||
+ return self._reconnect_error (conn, exc)
|
|
||||||
|
|
||||||
if self._cancel:
|
|
||||||
return self._error (exc)
|
|
||||||
@@ -353,7 +353,7 @@ class _IPPAuthOperation:
|
|
||||||
e == cups.IPP_FORBIDDEN):
|
|
||||||
forbidden = (e == cups.IPP_FORBIDDEN)
|
|
||||||
elif e == cups.IPP_SERVICE_UNAVAILABLE:
|
|
||||||
- return self._reconnect_error (exc)
|
|
||||||
+ return self._reconnect_error (conn, exc)
|
|
||||||
else:
|
|
||||||
return self._error (exc)
|
|
||||||
elif type (exc) == cups.HTTPError:
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up system-config-printer-1.2.0/system-config-printer.py.transience system-config-printer-1.2.0/system-config-printer.py
|
|
||||||
--- system-config-printer-1.2.0/system-config-printer.py.transience 2010-03-26 10:31:28.943600745 +0000
|
|
||||||
+++ system-config-printer-1.2.0/system-config-printer.py 2010-03-26 10:31:36.738725437 +0000
|
|
||||||
@@ -4012,7 +4012,7 @@ class NewPrinterGUI(GtkGUI):
|
|
||||||
self.btnNetworkFind.set_sensitive (True)
|
|
||||||
self.lblNetworkFindNotFound.hide ()
|
|
||||||
|
|
||||||
- if dialog_mode == "ppd":
|
|
||||||
+ if dialog_mode in ["ppd", "device"]:
|
|
||||||
self.parent = self.mainapp.PrinterPropertiesDialog
|
|
||||||
else:
|
|
||||||
self.parent = self.mainapp.PrintersWindow
|
|
@ -6,8 +6,8 @@
|
|||||||
|
|
||||||
Summary: A printer administration tool
|
Summary: A printer administration tool
|
||||||
Name: system-config-printer
|
Name: system-config-printer
|
||||||
Version: 1.2.0
|
Version: 1.2.1
|
||||||
Release: 13%{?dist}
|
Release: 1%{?dist}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: http://cyberelk.net/tim/software/system-config-printer/
|
URL: http://cyberelk.net/tim/software/system-config-printer/
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
@ -18,21 +18,6 @@ Source1: http://cyberelk.net/tim/data/pycups/pycups-%{pycups_version}.tar.bz2
|
|||||||
Source2: http://cyberelk.net/tim/data/pysmbc/pysmbc-%{pysmbc_version}.tar.bz2
|
Source2: http://cyberelk.net/tim/data/pysmbc/pysmbc-%{pysmbc_version}.tar.bz2
|
||||||
|
|
||||||
Patch1: system-config-printer-no-epydoc.patch
|
Patch1: system-config-printer-no-epydoc.patch
|
||||||
Patch2: system-config-printer-lowercase-mfg-mdl.patch
|
|
||||||
Patch3: system-config-printer-cdi-no-drivers.patch
|
|
||||||
Patch4: system-config-printer-cdi-cmd.patch
|
|
||||||
Patch5: system-config-printer-kyocera-mita.patch
|
|
||||||
Patch6: system-config-printer-cdi-filename.patch
|
|
||||||
Patch7: system-config-printer-reconnect-error.patch
|
|
||||||
Patch8: system-config-printer-downloadable-drivers.patch
|
|
||||||
Patch9: system-config-printer-JobCancel.patch
|
|
||||||
Patch10: system-config-printer-inklevel.patch
|
|
||||||
Patch11: system-config-printer-cdi-search-harder.patch
|
|
||||||
Patch12: system-config-printer-asyncipp-traceback.patch
|
|
||||||
Patch13: system-config-printer-cdi-lsb-paths.patch
|
|
||||||
Patch14: system-config-printer-transience.patch
|
|
||||||
Patch15: system-config-printer-cdi-make-and-model.patch
|
|
||||||
Patch16: system-config-printer-jobcancel-compat.patch
|
|
||||||
|
|
||||||
Patch100: system-config-printer-pycups-build.patch
|
Patch100: system-config-printer-pycups-build.patch
|
||||||
|
|
||||||
@ -96,55 +81,6 @@ printers.
|
|||||||
# Don't require epydoc.
|
# Don't require epydoc.
|
||||||
%patch1 -p1 -b .no-epydoc
|
%patch1 -p1 -b .no-epydoc
|
||||||
|
|
||||||
# Convert InstallPrinterDriver requests to lower-case.
|
|
||||||
%patch2 -p1 -b .lowercase-mfg-mdl
|
|
||||||
|
|
||||||
# Fixed traceback in check-driver-ids.py when no drivers are found
|
|
||||||
# (bug #574827).
|
|
||||||
%patch3 -p1 -b .cdi-no-drivers
|
|
||||||
|
|
||||||
# Show CMD field in check-device-ids.py.
|
|
||||||
%patch4 -p1 -b .cdi-cmd
|
|
||||||
|
|
||||||
# The canonical name for Kyocera is Kyocera Mita.
|
|
||||||
%patch5 -p1 -b .kyocera-mita
|
|
||||||
|
|
||||||
# check-device-ids.py: Fixed driver-URI to filename mapping.
|
|
||||||
%patch6 -p1 -b .cdi-filename
|
|
||||||
|
|
||||||
# Fixed reconnection error handling in IPPAuthOperation class (bug #575198).
|
|
||||||
%patch7 -p1 -b .reconnect-error
|
|
||||||
|
|
||||||
# Initialize downloadable_drivers when OpenPrinting query fails (bug #574562).
|
|
||||||
%patch8 -p1 -b .downloadable-drivers
|
|
||||||
|
|
||||||
# Use new JobCancelPurge cups-pk-helper method (bug #576496).
|
|
||||||
%patch9 -p1 -b .JobCancel
|
|
||||||
|
|
||||||
# Make inklevel widget easier to read (bug #576930).
|
|
||||||
# Better inklevel 25/50/75 markers.
|
|
||||||
%patch10 -p1 -b .inklevel
|
|
||||||
|
|
||||||
# check-device-ids: search harder for missing Device IDs.
|
|
||||||
%patch11 -p1 -b .cdi-search-harder
|
|
||||||
|
|
||||||
# Fixed traceback in asyncipp (bug #576932).
|
|
||||||
# More async traceback fixes (Ubuntu #547075).
|
|
||||||
%patch12 -p1 -b .asyncipp-traceback
|
|
||||||
|
|
||||||
# check-device-ids: use correct paths for LSB model URIs.
|
|
||||||
%patch13 -p1 -b .cdi-lsb-paths
|
|
||||||
|
|
||||||
# Fixed window transience for 'Change Device URI'.
|
|
||||||
%patch14 -p1 -b .transience
|
|
||||||
|
|
||||||
# check-device-ids: use make-and-model field for best-matching.
|
|
||||||
%patch15 -p1 -b .cdi-make-and-model
|
|
||||||
|
|
||||||
# Use JobCancel compatibility method until cups-pk-helper-0.1.0 is
|
|
||||||
# packaged (bug #581315).
|
|
||||||
%patch16 -p1 -b .jobcancel-compat
|
|
||||||
|
|
||||||
pushd pycups-%{pycups_version}
|
pushd pycups-%{pycups_version}
|
||||||
|
|
||||||
# Fixed pycups build with new distutils.
|
# Fixed pycups build with new distutils.
|
||||||
@ -267,6 +203,18 @@ rm -rf %buildroot
|
|||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Apr 15 2010 Tim Waugh <twaugh@redhat.com> - 1.2.1-1
|
||||||
|
- Updated to 1.2.1:
|
||||||
|
- Fixed missing translations (bug #580442).
|
||||||
|
- Offer to adjust firewall when necessary.
|
||||||
|
- Avoid tracebacks when adjusting server settings.
|
||||||
|
- Handle IPP failure fetching printer attributes for completed jobs
|
||||||
|
(Ubuntu #562679).
|
||||||
|
- monitor: don't crash if job-state attribute is missing
|
||||||
|
(Ubuntu #562441).
|
||||||
|
- troubleshoot: handle IPPError in PrintTestPage module (bug #579957).
|
||||||
|
- Lots of check-device-ids fixes.
|
||||||
|
|
||||||
* Mon Apr 12 2010 Tim Waugh <twaugh@redhat.com> - 1.2.0-13
|
* Mon Apr 12 2010 Tim Waugh <twaugh@redhat.com> - 1.2.0-13
|
||||||
- Use JobCancel compatibility method until cups-pk-helper-0.1.0 is
|
- Use JobCancel compatibility method until cups-pk-helper-0.1.0 is
|
||||||
packaged (bug #581315).
|
packaged (bug #581315).
|
||||||
|
Loading…
Reference in New Issue
Block a user