This commit is contained in:
Zdenek Dohnal 2022-05-23 07:47:10 +02:00
parent b43f3fbd3f
commit 1ac4b7b97c
4 changed files with 61 additions and 118 deletions

1
.gitignore vendored
View File

@ -262,3 +262,4 @@ pycups-1.9.51.tar.bz2
/system-config-printer-1.5.12.tar.gz
/system-config-printer-1.5.13.tar.xz
/system-config-printer-1.5.15.tar.xz
/system-config-printer-1.5.16.tar.xz

View File

@ -1,93 +0,0 @@
diff --git a/scp-dbus-service.py b/scp-dbus-service.py
index fcccf89..b623014 100644
--- a/scp-dbus-service.py
+++ b/scp-dbus-service.py
@@ -380,7 +380,7 @@ class ConfigPrintingNewPrinterDialog(dbus.service.Object):
def on_printer_modified(self, obj, name, ppd_has_changed):
debugprint ("%s: printer modified" % self)
g_killtimer.remove_hold ()
- self.PrinterModifed (name, ppd_has_changed)
+ self.PrinterModified (name, ppd_has_changed)
self.remove_handles ()
self.remove_from_connection ()
diff --git a/udev/udev-configure-printer.c b/udev/udev-configure-printer.c
index 5d7c25e..fd158b0 100644
--- a/udev/udev-configure-printer.c
+++ b/udev/udev-configure-printer.c
@@ -205,6 +205,12 @@ add_device_uri (struct device_uris *uris,
uris->n_uris = 1;
uris->uri[0] = uri_copy;
}
+ else
+ {
+ syslog (LOG_ERR, "out of memory");
+ free (uri_copy);
+ return;
+ }
}
else
{
@@ -847,6 +853,7 @@ device_id_from_devpath (struct udev *udev, const char *devpath,
udev_device_unref (dev);
free (devicefilepath);
+ g_free(device_id);
return usb_device_devpath;
}
@@ -1274,7 +1281,6 @@ find_matching_device_uris (struct device_id *id,
{
add_usb_uri_mapping (&map, devpath, uris);
write_usb_uri_map (map);
- free_usb_uri_map (map);
}
return uris->n_uris;
@@ -1527,6 +1533,11 @@ skip:
free(this_device_uri_n);
this_device_uri_n = NULL;
}
+ if (device_uri_n != NULL)
+ {
+ free(device_uri_n);
+ device_uri_n = NULL;
+ }
if (!attr)
break;
}
@@ -1625,6 +1636,7 @@ do_add (const char *cmd, const char *devaddr)
if (udev == NULL)
{
syslog (LOG_ERR, "udev_new failed");
+ free_usb_uri_map (map);
exit (1);
}
@@ -1643,7 +1655,7 @@ do_add (const char *cmd, const char *devaddr)
if (!id.mfg || !id.mdl)
{
clear_device_id (&id);
- free (map);
+ free_usb_uri_map (map);
free (usb_device_devpath);
return 1;
}
@@ -1668,7 +1680,7 @@ do_add (const char *cmd, const char *devaddr)
{
syslog (LOG_ERR, "no corresponding CUPS device found");
clear_device_id (&id);
- free (map);
+ free_usb_uri_map (map);
return 0;
}
@@ -1722,7 +1734,7 @@ do_add (const char *cmd, const char *devaddr)
clear_device_id (&id);
free_device_uris (&device_uris);
- free (map);
+ free_usb_uri_map (map);
return 0;
}

View File

@ -1 +1 @@
SHA512 (system-config-printer-1.5.15.tar.xz) = b992f96f48c54350c11c5c629e77ee4409fe52fb17b386f226a42d532a95e17b6506319dcedeb70c0072555cb9ab464daaae22f295ce3d5181e5f49836f2ae2e
SHA512 (system-config-printer-1.5.16.tar.xz) = ed20a409def66bdea7de4cd5b397891eca220c841e1b5c8cab98e45f87389ae8ba881d9e24072dd07203141fc34c49c4b67cf099791857c007971e3b7d2e2fc2

View File

@ -8,47 +8,70 @@
Summary: A printer administration tool
Name: system-config-printer
Version: 1.5.15
Release: 6%{?dist}
Version: 1.5.16
Release: 1%{?dist}
License: GPLv2+
URL: https://github.com/%{username}/%{name}
Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.xz
# all upstream patches, remove with new release
Patch01: scp-covscan.patch
# needed for macro AM_GNU_GETTEXT in configure.ac
BuildRequires: autoconf-archive
# uses CUPS API functions
BuildRequires: cups-devel >= 1.2
# we install a desktop file
BuildRequires: desktop-file-utils >= 0.2.92
# gcc is no longer in buildroot by default
# gcc is needed for udev-configure-printer.c
BuildRequires: gcc
# for translations
BuildRequires: gettext-devel
# for autosetup
BuildRequires: git-core
# for translations
BuildRequires: intltool
# automatic printer setup tool, which uses udev, is only for USB printers
# we need libusb API to communicate
BuildRequires: libusb1-devel
# uses make
BuildRequires: make
BuildRequires: cups-devel >= 1.2
BuildRequires: desktop-file-utils >= 0.2.92
BuildRequires: gettext-devel
BuildRequires: intltool
BuildRequires: libusb1-devel
# GNOME library for GUI
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: xmlto
# for python3 API
BuildRequires: python3-devel
# for automatic USB printer setup tool - udev-configure-printer
BuildRequires: systemd
BuildRequires: systemd-devel
BuildRequires: python3-devel
# for generating manual
BuildRequires: xmlto
Requires: python3-gobject%{?_isa}
Requires: gtk3%{?_isa}
Requires: desktop-file-utils >= 0.2.92
# for dBUS support in scp-dbus-service
Requires: dbus-x11
Requires: python3-dbus%{?_isa}
Requires: system-config-printer-libs = %{version}-%{release}
# for desktop file
Requires: desktop-file-utils >= 0.2.92
# for system notifications
Requires: desktop-notification-daemon
Requires: libnotify%{?_isa}
Requires: python3-cairo%{?_isa}
Requires: python3-firewall
# for GUI, the app is written in gtk3
Requires: gtk3%{?_isa}
# for GUI to prevent warning during the startup
Requires: libcanberra-gtk3
# for notifications
Requires: libnotify%{?_isa}
# for GUI
Requires: python3-cairo%{?_isa}
# for dBUS python API
Requires: python3-dbus%{?_isa}
# the app can adjust firewalld, so we need firewall API in Python
Requires: python3-firewall
# for GUI
Requires: python3-gobject%{?_isa}
# runtime systemd requires for udev-configure-printer service
%{?systemd_requires}
# we use classes define in our library
Requires: system-config-printer-libs = %{version}-%{release}
%description
system-config-printer is a graphical user interface that allows
@ -60,14 +83,23 @@ Summary: Libraries and shared code for printer administration tool
# for your printer
Recommends: PackageKit
Recommends: PackageKit-glib
Requires: libnotify
Requires: python3-cups >= 1.9.60
Requires: python3-pycurl
# for GUI
Requires: gobject-introspection
Requires: python3-gobject
# written in GTK3
Requires: gtk3
# for notifications
Requires: libnotify
# s-c-p classes uses Python CUPS API
Requires: python3-cups >= 1.9.60
# the libs subpackage contains scp-dbus-service, so we need dBUS API in Python here
Requires: python3-dbus
Requires: python3-requests
# for GUI
Requires: python3-gobject
# the app can download printer data from database with CURL
Requires: python3-pycurl
# s-c-p has a plug-in support for Samba, if the relevant package is installed
Suggests: python3-smbc
BuildArch: noarch
@ -258,6 +290,9 @@ exit 0
%endif
%changelog
* Mon May 23 2022 Zdenek Dohnal <zdohnal@redhat.com> - 1.5.16-1
- 1.5.16
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.15-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild