1.3.3
Set translation domain for ServerSettingsDialog (Ubuntu #777188). scp-dbus-service: Ignore setlocale() errors (Ubuntu #748964). Renamed ui/*.glade to ui/*.ui again (Ubuntu #759811). Allow % character in SMB URI (Ubuntu #747400). More error handling (Ubuntu #744783). Avoid traceback if printer duplication fails (bug #694629). Fixed off-by-one error in monitor. Fixed printer renaming (Ubuntu #726954). Added PrinterModified D-Bus signal to printer properties interface. More robustness for printer properties dialog when printer removed (Ubuntu #741987). Fixed PPDs loader when using CUPS remotely or when DBus not available (bug #693515). Handle failure to load PPDs more gracefully (Ubuntu #742409). Avoid traceback when cancelling New Printer dialog after failure. Make sure everything is ready before handlers might be called (bug #689336). Ensure consistency in jobviewer if add_job fails (bug #693055, bug #632551). Be defensive against CUPS returning incorrect job IDs (Ubuntu #721051). Job viewer's attribute window: Convert job numbers and attribute values to strings (Ubuntu bug #733088). udev-configure-printer: be more defensive when parsing CUPS response (Ubuntu #760661).
This commit is contained in:
parent
bf408f9e48
commit
0dfdb535aa
1
.gitignore
vendored
1
.gitignore
vendored
@ -231,3 +231,4 @@ pycups-1.9.51.tar.bz2
|
||||
/system-config-printer-1.3.0.tar.xz
|
||||
/system-config-printer-1.3.1.tar.xz
|
||||
/system-config-printer-1.3.2.tar.xz
|
||||
/system-config-printer-1.3.3.tar.xz
|
||||
|
3
sources
3
sources
@ -1,2 +1 @@
|
||||
37ff34b1c43d951963ccd831f9d176d4 system-config-printer-1.3.1.tar.xz
|
||||
34a0ce9a11be5695b3b4065e4f17b009 system-config-printer-1.3.2.tar.xz
|
||||
658516848c6ced2b1acc6d3525d27204 system-config-printer-1.3.3.tar.xz
|
||||
|
Binary file not shown.
BIN
system-config-printer-1.3.3.tar.xz.sig
Normal file
BIN
system-config-printer-1.3.3.tar.xz.sig
Normal file
Binary file not shown.
@ -1,111 +0,0 @@
|
||||
diff -up system-config-printer-1.3.2/check-device-ids.py.check-device-ids system-config-printer-1.3.2/check-device-ids.py
|
||||
--- system-config-printer-1.3.2/check-device-ids.py.check-device-ids 2011-02-20 14:35:25.000000000 +0000
|
||||
+++ system-config-printer-1.3.2/check-device-ids.py 2011-03-22 17:01:34.468998320 +0000
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## check-device-ids
|
||||
|
||||
-## Copyright (C) 2010 Red Hat, Inc.
|
||||
+## Copyright (C) 2010, 2011 Red Hat, Inc.
|
||||
## Authors:
|
||||
## Tim Waugh <twaugh@redhat.com>
|
||||
|
||||
@@ -32,8 +32,12 @@ c = cups.Connection ()
|
||||
devices = None
|
||||
if len (sys.argv) > 1 and sys.argv[1] == '--help':
|
||||
print "Syntax: check-device-ids <device-make-and-model> <device-id>"
|
||||
+ print " or: check-device-ids <device-uri>"
|
||||
+ print " or: check-device-ids <queue-name>"
|
||||
+ print " or: check-device-ids"
|
||||
sys.exit (1)
|
||||
|
||||
+SPECIFIC_URI = None
|
||||
if len (sys.argv) == 3:
|
||||
id_dict = cupshelpers.parseDeviceID (sys.argv[2])
|
||||
if id_dict.has_key ("MFG") and id_dict.has_key ("MDL"):
|
||||
@@ -41,15 +45,34 @@ if len (sys.argv) == 3:
|
||||
{ 'device-make-and-model': sys.argv[1],
|
||||
'device-id': sys.argv[2] }
|
||||
}
|
||||
+elif len (sys.argv) == 2:
|
||||
+ if sys.argv[1].find (":/") != -1:
|
||||
+ SPECIFIC_URI = sys.argv[1]
|
||||
+ else:
|
||||
+ # This is a queue name. Work out the URI from that.
|
||||
+ try:
|
||||
+ attrs = c.getPrinterAttributes (sys.argv[1])
|
||||
+ except cups.IPPError, (e, m):
|
||||
+ print "Error getting printer attibutes: %s" % m
|
||||
+ sys.exit (1)
|
||||
+
|
||||
+ SPECIFIC_URI = attrs['device-uri']
|
||||
+ print "URI for queue %s is %s" % (sys.argv[1], SPECIFIC_URI)
|
||||
else:
|
||||
print ("\nIf you have not already done so, you may get more results\n"
|
||||
"by temporarily disabling your firewall (or by allowing\n"
|
||||
"incoming UDP packets on port 161).\n")
|
||||
|
||||
if devices == None:
|
||||
- print "Examining connected devices"
|
||||
+ if not SPECIFIC_URI:
|
||||
+ print "Examining connected devices"
|
||||
+
|
||||
try:
|
||||
- devices = c.getDevices (exclude_schemes=["dnssd", "hal", "hpfax"])
|
||||
+ if SPECIFIC_URI:
|
||||
+ scheme = str (SPECIFIC_URI.split (":", 1)[0])
|
||||
+ devices = c.getDevices (include_schemes=[scheme])
|
||||
+ else:
|
||||
+ devices = c.getDevices (exclude_schemes=["dnssd", "hal", "hpfax"])
|
||||
except cups.IPPError, (e, m):
|
||||
if e == cups.IPP_FORBIDDEN:
|
||||
print "Run this as root to examine IDs from attached devices."
|
||||
@@ -59,6 +82,11 @@ if devices == None:
|
||||
print "Not authorized."
|
||||
sys.exit (1)
|
||||
|
||||
+if SPECIFIC_URI:
|
||||
+ if devices.get (SPECIFIC_URI) == None:
|
||||
+ devices = { SPECIFIC_URI:
|
||||
+ { 'device-make-and-model': '',
|
||||
+ 'device-id': ''} }
|
||||
if len (devices) == 0:
|
||||
print "No attached devices."
|
||||
sys.exit (0)
|
||||
@@ -69,14 +97,20 @@ for device, attrs in devices.iteritems (
|
||||
if device.find (":") == -1:
|
||||
continue
|
||||
|
||||
+ if SPECIFIC_URI and device != SPECIFIC_URI:
|
||||
+ continue
|
||||
+
|
||||
make_and_model = attrs.get ('device-make-and-model')
|
||||
device_id = attrs.get ('device-id')
|
||||
- if make_and_model and not device_id:
|
||||
+ if (SPECIFIC_URI or make_and_model) and not device_id:
|
||||
try:
|
||||
hostname = None
|
||||
if (device.startswith ("socket://") or
|
||||
- device.startswith ("lpd://")):
|
||||
- hostname = device[9:]
|
||||
+ device.startswith ("lpd://") or
|
||||
+ device.startswith ("ipp://") or
|
||||
+ device.startswith ("http://") or
|
||||
+ device.startswith ("https://")):
|
||||
+ hostname = device[device.find ("://") + 3:]
|
||||
colon = hostname.find (":")
|
||||
if colon != -1:
|
||||
hostname = hostname[:colon]
|
||||
@@ -100,7 +134,11 @@ for device, attrs in devices.iteritems (
|
||||
if dev.id:
|
||||
device_id = dev.id
|
||||
attrs.update ({'device-id': dev.id})
|
||||
- break
|
||||
+
|
||||
+ if not make_and_model and dev.make_and_model:
|
||||
+ make_and_model = dev.make_and_model
|
||||
+ attrs.update ({'device-make-and-model':
|
||||
+ dev.make_and_model})
|
||||
|
||||
except Exception, e:
|
||||
print "Exception: %s" % repr (e)
|
@ -1,48 +0,0 @@
|
||||
diff -up system-config-printer-1.3.2/newprinter.py.self.printers system-config-printer-1.3.2/newprinter.py
|
||||
--- system-config-printer-1.3.2/newprinter.py.self.printers 2011-03-16 17:44:09.000000000 +0000
|
||||
+++ system-config-printer-1.3.2/newprinter.py 2011-03-22 17:02:56.972108028 +0000
|
||||
@@ -186,6 +186,7 @@ class NewPrinterGUI(GtkGUI):
|
||||
self.installable_options = False
|
||||
self.ppdsloader = None
|
||||
self.jockey_installed_files = []
|
||||
+ self.printers = {} # set in init()
|
||||
|
||||
# Synchronisation objects.
|
||||
self.drivers_lock = thread.allocate_lock()
|
||||
@@ -544,16 +545,9 @@ class NewPrinterGUI(GtkGUI):
|
||||
self.ppds = None
|
||||
self.ppdsmatch_result = None
|
||||
self.printer_finder = None
|
||||
- self.lblNetworkFindSearching.hide ()
|
||||
- self.entNPTNetworkHostname.set_sensitive (True)
|
||||
- self.entNPTNetworkHostname.set_text ('')
|
||||
- self.btnNetworkFind.set_sensitive (True)
|
||||
- self.lblNetworkFindNotFound.hide ()
|
||||
-
|
||||
- # Clear out any previous list of makes.
|
||||
- model = self.tvNPMakes.get_model()
|
||||
- model.clear()
|
||||
|
||||
+ # Get a current list of printers so that we can know whether
|
||||
+ # the chosen name is unique.
|
||||
try:
|
||||
self.cups = authconn.Connection (parent=self.NewPrinterWindow,
|
||||
host=self._host,
|
||||
@@ -574,6 +568,17 @@ class NewPrinterGUI(GtkGUI):
|
||||
show_IPP_Error (e, m, parent=self.parent)
|
||||
return False
|
||||
|
||||
+ # Initialise widgets.
|
||||
+ self.lblNetworkFindSearching.hide ()
|
||||
+ self.entNPTNetworkHostname.set_sensitive (True)
|
||||
+ self.entNPTNetworkHostname.set_text ('')
|
||||
+ self.btnNetworkFind.set_sensitive (True)
|
||||
+ self.lblNetworkFindNotFound.hide ()
|
||||
+
|
||||
+ # Clear out any previous list of makes.
|
||||
+ model = self.tvNPMakes.get_model()
|
||||
+ model.clear()
|
||||
+
|
||||
if device_uri == None and dialog_mode in ['printer_with_uri',
|
||||
'device',
|
||||
'ppd']:
|
@ -4,15 +4,13 @@
|
||||
|
||||
Summary: A printer administration tool
|
||||
Name: system-config-printer
|
||||
Version: 1.3.2
|
||||
Release: 2%{?dist}
|
||||
Version: 1.3.3
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2+
|
||||
URL: http://cyberelk.net/tim/software/system-config-printer/
|
||||
Group: System Environment/Base
|
||||
Source0: http://cyberelk.net/tim/data/system-config-printer/1.2/%{name}-%{version}.tar.xz
|
||||
Patch1: system-config-printer-no-applet-in-gnome.patch
|
||||
Patch2: system-config-printer-check-device-ids.patch
|
||||
Patch3: system-config-printer-self.printers.patch
|
||||
BuildRequires: cups-devel >= 1.2
|
||||
BuildRequires: desktop-file-utils >= 0.2.92
|
||||
BuildRequires: gettext-devel
|
||||
@ -73,12 +71,6 @@ printers.
|
||||
# Don't start the applet in GNOME.
|
||||
%patch1 -p1 -b .no-applet-in-gnome
|
||||
|
||||
# Improvements for check-device-ids from upstream.
|
||||
%patch2 -p1 -b .check-device-ids
|
||||
|
||||
# Fixed traceback in newprinter.py (bug #680683).
|
||||
%patch3 -p1 -b .self.printers
|
||||
|
||||
%build
|
||||
%configure --with-udev-rules
|
||||
|
||||
@ -177,7 +169,7 @@ rm -rf %buildroot
|
||||
%{_datadir}/%{name}/xml/*.rng
|
||||
%{_datadir}/%{name}/xml/validate.py*
|
||||
%dir %{_datadir}/%{name}/ui
|
||||
%{_datadir}/%{name}/ui/*.glade
|
||||
%{_datadir}/%{name}/ui/*.ui
|
||||
%{_datadir}/applications/system-config-printer.desktop
|
||||
%{_sysconfdir}/xdg/autostart/print-applet.desktop
|
||||
%{_mandir}/man1/*
|
||||
@ -187,6 +179,31 @@ rm -rf %buildroot
|
||||
exit 0
|
||||
|
||||
%changelog
|
||||
* Fri Jun 03 2011 Jiri Popelka <jpopelka@redhat.com> 1.3.3-1
|
||||
- 1.3.3:
|
||||
- Set translation domain for ServerSettingsDialog (Ubuntu #777188).
|
||||
- scp-dbus-service: Ignore setlocale() errors (Ubuntu #748964).
|
||||
- Renamed ui/*.glade to ui/*.ui again (Ubuntu #759811).
|
||||
- Allow % character in SMB URI (Ubuntu #747400).
|
||||
- More error handling (Ubuntu #744783).
|
||||
- Avoid traceback if printer duplication fails (bug #694629).
|
||||
- Fixed off-by-one error in monitor.
|
||||
- Fixed printer renaming (Ubuntu #726954).
|
||||
- Added PrinterModified D-Bus signal to printer properties interface.
|
||||
- More robustness for printer properties dialog
|
||||
when printer removed (Ubuntu #741987).
|
||||
- Fixed PPDs loader when using CUPS remotely or
|
||||
when DBus not available (bug #693515).
|
||||
- Handle failure to load PPDs more gracefully (Ubuntu #742409).
|
||||
- Avoid traceback when cancelling New Printer dialog after failure.
|
||||
- Make sure everything is ready before handlers might be called (bug #689336).
|
||||
- Ensure consistency in jobviewer if add_job fails (bug #693055, bug #632551).
|
||||
- Be defensive against CUPS returning incorrect job IDs (Ubuntu #721051).
|
||||
- Job viewer's attribute window: Convert job numbers and
|
||||
attribute values to strings (Ubuntu bug #733088).
|
||||
- udev-configure-printer: be more defensive when
|
||||
parsing CUPS response (Ubuntu #760661).
|
||||
|
||||
* Tue Mar 22 2011 Tim Waugh <twaugh@redhat.com> 1.3.2-2
|
||||
- Fixed traceback in newprinter.py (bug #680683).
|
||||
- Improvements for check-device-ids from upstream.
|
||||
|
Loading…
Reference in New Issue
Block a user