diff --git a/1.5.11.tar.gz b/1.5.11.tar.gz deleted file mode 100644 index d1706d2c68fb4fc2f8231375b02f7ceab31afb03..0000000000000000000000000000000000000000 Binary files a/1.5.11.tar.gz and /dev/null differ diff --git a/system-config-printer-1.5.18.tar.xz b/system-config-printer-1.5.18.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..e06d4b3fbd0079bf5953957d2a8c7fd15a057745 Binary files /dev/null and b/system-config-printer-1.5.18.tar.xz differ diff --git a/system-config-printer.spec b/system-config-printer.spec index f68b23d6df574a6d838a269246b3d8093e6bda08..4d2d7dbd2abd1be135452b92476bea26ff05de08 100644 --- a/system-config-printer.spec +++ b/system-config-printer.spec @@ -1,86 +1,290 @@ %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') +%global _hardened_build 1 +%global username OpenPrinting -Name: system-config-printer -Summary: a graphical tool for CUPS administration -Version: 1.5.11 -Release: 17 -License: GPLv2+ -URL: https://github.com/zdohnal/system-config-printer -Source0: https://github.com/zdohnal/system-config-printer/archive/%{version}.tar.gz -BuildRequires: libusb1-devel gcc gettext-devel systemd xmlto systemd-devel -BuildRequires: intltool cups-devel >= 1.2 desktop-file-utils >= 0.2.92 pkgconfig(glib-2.0) -Requires: desktop-file-utils >= 0.2.92 python3-dbus%{?_isa} gtk3%{?_isa} python3-gobject%{?_isa} -Requires: libnotify%{?_isa} python3-cairo%{?_isa} python3-cups >= 1.9.60 libcanberra-gtk3 -Requires: python3-firewall PackageKit-gtk3-module desktop-notification-daemon dbus-x11 -Requires: python3-pycurl gobject-introspection python3-gobject python3-dbus python3-requests -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd -Obsoletes: %{name}-libs = %{version}-%{release} %{name}-applet = %{version}-%{release} -Obsoletes: %{name}-udev = %{version}-%{release} hal-cups-utils < 0.6.20 -Provides: %{name}-libs = %{version}-%{release} %{name}-applet = %{version}-%{release} -Provides: %{name}-udev = %{version}-%{release} hal-cups-utils = 0.6.20 +Summary: A printer administration tool +Name: system-config-printer +Version: 1.5.18 +Release: 1 +License: GPLv2+ +URL: https://github.com/%{username}/%{name} +Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.xz + +# all upstream patches, remove with new release + +# 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 +# GNOME library for GUI +BuildRequires: pkgconfig(glib-2.0) +# for python3 API +BuildRequires: python3-devel +# for automatic USB printer setup tool - udev-configure-printer +BuildRequires: systemd +BuildRequires: systemd-devel +# for generating manual +BuildRequires: xmlto +# for dBUS support in scp-dbus-service +Requires: dbus-x11 +# for desktop file +Requires: desktop-file-utils >= 0.2.92 +# for system notifications +Requires: desktop-notification-daemon +# 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 -%{name} is a graphical tool for CUPS administration. It -uses IPP to configure a CUPS server. +system-config-printer is a graphical user interface that allows +the user to configure a CUPS print server. + +%package libs +Summary: Libraries and shared code for printer administration tool +# PackageKit can bring you a popup window if some package in the repo provides a driver +# for your printer +Recommends: PackageKit +Recommends: PackageKit-glib + +# for GUI +Requires: gobject-introspection +# 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 +# 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 + +%description libs +The common code used by both the graphical and non-graphical parts of +the configuration tool. -%package_help +%if 0%{?rhel} <= 8 || 0%{?fedora} +%package applet +Summary: Print job notification applet +Requires: %{name}-libs + +%description applet +Print job notification applet. +%endif + +%package udev +Summary: Rules for udev for automatic configuration of USB printers +Requires: system-config-printer-libs = %{version}-%{release} + +%description udev +The udev rules and helper programs for automatically configuring USB +printers. %prep -%autosetup -p1 +%autosetup -S git %build -./bootstrap %configure --with-udev-rules %make_build %install -%make_install DESTDIR=%buildroot +%make_install -install -d %buildroot%{_localstatedir}/run/udev-configure-printer +%{__mkdir_p} %buildroot%{_localstatedir}/run/udev-configure-printer touch %buildroot%{_localstatedir}/run/udev-configure-printer/usb-uris -%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/cupshelpers -%py_byte_compile %{__python3} %{buildroot}%{_datadir}/%{name} +# Manually invoke the python byte compile macro for each path that +# needs byte compilation +%py_byte_compile %{__python3} %{buildroot}/%{_datadir}/system-config-printer + +%find_lang system-config-printer -%find_lang %{name} +%if 0%{?rhel} > 8 +rm -rf %{buildroot}%{_bindir}/%{name}-applet \ + %{buildroot}%{_datadir}/%{name}/__pycache__/applet* \ + %{buildroot}%{_datadir}/%{name}/applet.py* \ + %{buildroot}%{_sysconfdir}/xdg/autostart/print-applet.desktop \ + %{buildroot}%{_mandir}/man1/%{name}-applet.1* \ + %{buildroot}%{_bindir}/%{name} \ + %{buildroot}%{_bindir}/install-printerdriver \ + %{buildroot}%{_datadir}/%{name}/__pycache__/check-device-ids* \ + %{buildroot}%{_datadir}/%{name}/__pycache__/HIG* \ + %{buildroot}%{_datadir}/%{name}/__pycache__/SearchCriterion* \ + %{buildroot}%{_datadir}/%{name}/__pycache__/serversettings* \ + %{buildroot}%{_datadir}/%{name}/__pycache__/system-config-printer* \ + %{buildroot}%{_datadir}/%{name}/__pycache__/ToolbarSearchEntry* \ + %{buildroot}%{_datadir}/%{name}/__pycache__/userdefault* \ + %{buildroot}%{_datadir}/%{name}/__pycache__/install-printerdriver* \ + %{buildroot}%{_datadir}/%{name}/check-device-ids.py* \ + %{buildroot}%{_datadir}/%{name}/HIG.py* \ + %{buildroot}%{_datadir}/%{name}/SearchCriterion.py* \ + %{buildroot}%{_datadir}/%{name}/serversettings.py* \ + %{buildroot}%{_datadir}/%{name}/system-config-printer.py* \ + %{buildroot}%{_datadir}/%{name}/ToolbarSearchEntry.py* \ + %{buildroot}%{_datadir}/%{name}/userdefault.py* \ + %{buildroot}%{_datadir}/%{name}/troubleshoot \ + %{buildroot}%{_datadir}/%{name}/icons \ + %{buildroot}%{_datadir}/%{name}/install-printerdriver.py* \ + %{buildroot}%{_datadir}/%{name}/xml/__pycache__ \ + %{buildroot}%{_datadir}/%{name}/xml/validate.py* \ + %{buildroot}%{_datadir}/%{name}/ui \ + %{buildroot}%{_datadir}/applications/system-config-printer.desktop \ + %{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml \ + %{buildroot}%{_mandir}/man1/%{name}.1* \ +%endif -%files -f %{name}.lang +%files libs -f system-config-printer.lang +%doc ChangeLog NEWS ABOUT-NLS AUTHORS ChangeLog-OLD %license COPYING -%{_bindir}/%{name} -%{_bindir}/install-printerdriver -%dir %{_datadir}/%{name} -%{_datadir}/%{name}/* -%{_datadir}/applications/%{name}.desktop -%{_datadir}/metainfo/%{name}.appdata.xml -%{_bindir}/%{name}-applet -%{_sysconfdir}/xdg/autostart/print-applet.desktop -%{_prefix}/lib/udev/rules.d/*.rules -%{_prefix}/lib/udev/udev-*-printer -%ghost %dir %{_localstatedir}/run/udev-configure-printer -%ghost %verify(not md5 size mtime) %config(noreplace,missingok) %attr(0644,root,root) %{_localstatedir}/run/udev-configure-printer/usb-uris -%{_unitdir}/configure-printer@.service %config(noreplace) %{_sysconfdir}/dbus-1/system.d/com.redhat.NewPrinterNotification.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/com.redhat.PrinterDriversInstaller.conf %{_datadir}/dbus-1/interfaces/*.xml %{_datadir}/dbus-1/services/*.service %{_bindir}/scp-dbus-service +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/__pycache__/* +%exclude %{_datadir}/%{name}/__pycache__/check-device-ids* +%exclude %{_datadir}/%{name}/__pycache__/HIG* +%exclude %{_datadir}/%{name}/__pycache__/SearchCriterion* +%exclude %{_datadir}/%{name}/__pycache__/serversettings* +%exclude %{_datadir}/%{name}/__pycache__/system-config-printer* +%exclude %{_datadir}/%{name}/__pycache__/ToolbarSearchEntry* +%exclude %{_datadir}/%{name}/__pycache__/userdefault* +%exclude %{_datadir}/%{name}/__pycache__/install-printerdriver* +%exclude %{_datadir}/%{name}/__pycache__/applet* +%{_datadir}/%{name}/asyncconn.py* +%{_datadir}/%{name}/asyncipp.py* +%{_datadir}/%{name}/asyncpk1.py* +%{_datadir}/%{name}/authconn.py* +%{_datadir}/%{name}/config.py* +%{_datadir}/%{name}/cupspk.py* +%{_datadir}/%{name}/debug.py* +%{_datadir}/%{name}/dnssdresolve.py* +%{_datadir}/%{name}/errordialogs.py* +%{_datadir}/%{name}/firewallsettings.py* +%{_datadir}/%{name}/gtkinklevel.py* +%{_datadir}/%{name}/gui.py* +%{_datadir}/%{name}/installpackage.py* +%{_datadir}/%{name}/jobviewer.py* +%{_datadir}/%{name}/killtimer.py* +%{_datadir}/%{name}/monitor.py* +%{_datadir}/%{name}/newprinter.py* +%{_datadir}/%{name}/options.py* +%{_datadir}/%{name}/optionwidgets.py* +%{_datadir}/%{name}/OpenPrintingRequest.py* +%{_datadir}/%{name}/PhysicalDevice.py* +%{_datadir}/%{name}/ppdcache.py* +%{_datadir}/%{name}/ppdippstr.py* +%{_datadir}/%{name}/ppdsloader.py* +%{_datadir}/%{name}/printerproperties.py* +%{_datadir}/%{name}/probe_printer.py* +%{_datadir}/%{name}/pysmb.py* +%{_datadir}/%{name}/scp-dbus-service.py* +%{_datadir}/%{name}/smburi.py* +%{_datadir}/%{name}/statereason.py* +%{_datadir}/%{name}/timedops.py* +%dir %{_datadir}/%{name}/__pycache__ +%dir %{_datadir}/%{name}/xml +%{_datadir}/%{name}/xml/*.rng %dir %{_sysconfdir}/cupshelpers %config(noreplace) %{_sysconfdir}/cupshelpers/preferreddrivers.xml %{python3_sitelib}/cupshelpers %{python3_sitelib}/*.egg-info -%files help -%doc po/ChangeLog NEWS ABOUT-NLS AUTHORS ChangeLog-OLD +%if 0%{?rhel} <= 8 || 0%{?fedora} +%files applet +%{_bindir}/%{name}-applet +%{_datadir}/%{name}/__pycache__/applet* +%{_datadir}/%{name}/applet.py* +%{_sysconfdir}/xdg/autostart/print-applet.desktop %{_mandir}/man1/%{name}-applet.1* +%endif + +%files udev +%{_prefix}/lib/udev/rules.d/*.rules +%{_prefix}/lib/udev/udev-*-printer +%ghost %dir %{_localstatedir}/run/udev-configure-printer +%ghost %verify(not md5 size mtime) %config(noreplace,missingok) %attr(0644,root,root) %{_localstatedir}/run/udev-configure-printer/usb-uris +%{_unitdir}/configure-printer@.service + +%if 0%{?rhel} <= 8 || 0%{?fedora} +%files +%doc ChangeLog NEWS ABOUT-NLS AUTHORS ChangeLog-OLD +%license COPYING +%{_bindir}/%{name} +%{_bindir}/install-printerdriver +%{_datadir}/%{name}/__pycache__/check-device-ids* +%{_datadir}/%{name}/__pycache__/HIG* +%{_datadir}/%{name}/__pycache__/SearchCriterion* +%{_datadir}/%{name}/__pycache__/serversettings* +%{_datadir}/%{name}/__pycache__/system-config-printer* +%{_datadir}/%{name}/__pycache__/ToolbarSearchEntry* +%{_datadir}/%{name}/__pycache__/userdefault* +%{_datadir}/%{name}/__pycache__/install-printerdriver* +%{_datadir}/%{name}/check-device-ids.py* +%{_datadir}/%{name}/HIG.py* +%{_datadir}/%{name}/SearchCriterion.py* +%{_datadir}/%{name}/serversettings.py* +%{_datadir}/%{name}/system-config-printer.py* +%{_datadir}/%{name}/ToolbarSearchEntry.py* +%{_datadir}/%{name}/userdefault.py* +%{_datadir}/%{name}/troubleshoot +%{_datadir}/%{name}/icons +%{_datadir}/%{name}/install-printerdriver.py* +%dir %{_datadir}/%{name}/xml/__pycache__ +%{_datadir}/%{name}/xml/__pycache__/* +%{_datadir}/%{name}/xml/validate.py* +%dir %{_datadir}/%{name}/ui +%{_datadir}/%{name}/ui/*.ui +%{_datadir}/applications/system-config-printer.desktop +%{_datadir}/metainfo/%{name}.appdata.xml %{_mandir}/man1/%{name}.1* %post -rm -rf /var/cache/foomatic/foomatic.pickle +%{_bindir}/rm -f /var/cache/foomatic/foomatic.pickle exit 0 +%endif %changelog +* Mon Nov 14 2022 hkgy - 1.5.18-1 +- Upgrade to v1.5.18 + * Thu Jul 21 2022 yaoxin - 1.5.11-17 - Remove unneeded dependdencies python3-devel