Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package hplip for openSUSE:Factory checked in at 2026-09-23 14:32:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/hplip (Old) and /work/SRC/openSUSE:Factory/.hplip.new.383539 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hplip" Wed Sep 23 14:32:55 2026 rev:170 rq:1379766 version:3.26.6 Changes: -------- --- /work/SRC/openSUSE:Factory/hplip/hplip.changes 2026-06-10 15:45:19.129239073 +0200 +++ /work/SRC/openSUSE:Factory/.hplip.new.383539/hplip.changes 2026-09-23 14:34:15.656607191 +0200 @@ -1,0 +2,62 @@ +Tue Sep 22 21:26:53 UTC 2026 - Martin Wilck <[email protected]> + +- hpmud.rules: use SYSTEMD_WANTS for firmware upload to USB printers + (boo#1274562) + * add hpmud.rules-use-SYSTEMD_WANTS-rather-than-RUN.patch + +------------------------------------------------------------------- +Tue Sep 22 21:22:28 UTC 2026 - Martin Wilck <[email protected]> + +- Fix download of propietary plugin for 3.26.6 + * add pluginhandler.py-add-fallback-location-for-3.26.6.patch + +------------------------------------------------------------------- +Tue Sep 22 10:57:11 UTC 2026 - Martin Wilck <[email protected]> + +- Update to HPLIP 3.26.6 + +- Fix hplip CVEs (bsc#1282051): + + * CVE-2026-91097 (bsc#1281303) + * CVE-2026-91098 (bsc#1281304) + * CVE-2026-91099 (bsc#1281305) + * CVE-2026-91100 (bsc#1281306) + * CVE-2026-91101 (bsc#1281307) + * CVE-2026-91102 (bsc#1281308) + * CVE-2026-91103 (bsc#1281309) + * CVE-2026-91105 (bsc#1281310) + * CVE-2026-91104 (bsc#1281313) + * CVE-2026-91106 (bsc#1281314) + +- Add support for the following new printers: + + * HP ScanJet Enterprise Flow N9000 sn1 + * HP ScanJet Enterprise Flow 9000 s1 + * HP ScanJet Pro 4200 s1 + * HP LaserJet Pro 4006dn printer + * HP LaserJet Pro 4006dw printer + * HP LaserJet Pro 4006n printer + * HP LaserJet Pro 4002d printer + * HP LaserJet Pro 4007dw printer + * HP LaserJet Pro 4007n printer + * HP LaserJet Pro 4008d + * HP LaserJet Pro 4008dn + * HP LaserJet Pro 4008dw + * HP LaserJet Pro MFP 4112dw printer + * HP LaserJet Pro MFP 4112fdn printer + * HP LaserJet Pro MFP 4112fdw printer + * HP LaserJet Pro MFP 4113dw printer + * HP LaserJet Pro MFP 4113dwg printer + * HP LaserJet Pro MFP 4113fdn printer + * HP LaserJet Pro MFP 4113fdng printer + * HP LaserJet Pro MFP 4113fdw printer + * HP LaserJet Pro MFP 4113fdwg printer + * HP LaserJet Pro MFP 4114dw + * HP LaserJet Pro MFP 4114fdn + * HP LaserJet Pro MFP 4114fdw + +- Remove hp-pkservice + +- Add compat-fix-shlex.quote-Python-2.7-incompatibility.patch + +------------------------------------------------------------------- Old: ---- hplip-3.26.4.tar.gz hplip-3.26.4.tar.gz.asc New: ---- compat-fix-shlex.quote-Python-2.7-incompatibility.patch hplip-3.26.6.tar.gz hplip-3.26.6.tar.gz.asc hpmud.rules-use-SYSTEMD_WANTS-rather-than-RUN.patch pluginhandler.py-add-fallback-location-for-3.26.6.patch ----------(New B)---------- New: - Add compat-fix-shlex.quote-Python-2.7-incompatibility.patch New: (boo#1274562) * add hpmud.rules-use-SYSTEMD_WANTS-rather-than-RUN.patch New:- Fix download of propietary plugin for 3.26.6 * add pluginhandler.py-add-fallback-location-for-3.26.6.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hplip.spec ++++++ --- /var/tmp/diff_new_pack.x303jW/_old 2026-09-23 14:34:17.110667978 +0200 +++ /var/tmp/diff_new_pack.x303jW/_new 2026-09-23 14:34:17.112668062 +0200 @@ -66,7 +66,7 @@ %global drvdir %{_datadir}/cups/drv Name: hplip -Version: 3.26.4 +Version: 3.26.6 Release: 0 Summary: HP's Printing, Scanning, and Faxing Software License: BSD-3-Clause AND GPL-2.0-or-later AND MIT @@ -98,6 +98,7 @@ # Patch100... is for special Suse patches: # Patch101 change-udev-rules.patch changes the udev rules file 56-hpmud.rules Patch101: hplip-change-udev-rules.patch +Patch102: hpmud.rules-use-SYSTEMD_WANTS-rather-than-RUN.patch # Patch106 disable_hp-upgrade.patch disables hp-upgrade/upgrade.py for security reasons, # see https://bugzilla.novell.com/show_bug.cgi?id=853405 # To upgrade HPLIP an openSUSE software package manager like YaST or zypper should be used. @@ -150,10 +151,12 @@ Patch615: hplip-fix-handling-of-ConfigParser-.readfp-vs.-read_.patch # lp#2154206, fixup for patch 607 Patch616: pluginhandler-fix-plugin-installation-from-local-fil.patch +Patch617: pluginhandler.py-add-fallback-location-for-3.26.6.patch # Compatibility patches for old SUSE releases Patch701: hpcups-fix-compilation-on-SLE12.patch Patch703: Fix-two-compiler-warnings-that-cause-build-failure-o.patch +Patch704: compat-fix-shlex.quote-Python-2.7-incompatibility.patch # cups-rpm-helper is now pulled in indirectly via cups-devel. # This causes the "postscriptdriver" provides to be generated. @@ -469,6 +472,9 @@ # Patch101 change-udev-rules.patch changes the udev rules file 56-hpmud.rules %patch -P 101 -p1 -b .change-udev-rules.orig +%if 0%{?suse_version} >= 1699 +%patch -P 102 -p1 +%endif # Patch106 disable_hp-upgrade.patch disables hp-upgrade/upgrade.py for security reasons, # see https://bugzilla.novell.com/show_bug.cgi?id=853405 # To upgrade HPLIP an openSUSE software package manager like YaST or zypper should be used. @@ -508,6 +514,7 @@ %patch -P 614 -p1 %patch -P 615 -p1 %patch -P 616 -p1 +%patch -P 617 -p1 %if 0%{?suse_version} < 1500 # python2 compatibility %patch -P 701 -p1 @@ -517,6 +524,10 @@ %patch -P 701 -p1 %endif %patch -P 703 -p1 +%if 0%{?suse_version} < 1500 +# python2 compatibility +%patch -P 704 -p1 +%endif # replace "env" shebang and "/usr/bin/python" with real executable find . -name '*.py' -o -name pstotiff | \ @@ -756,7 +767,6 @@ %{_bindir}/hp-toolbox %{_bindir}/hp-wificonfig # Fixme: these tools are useless on openSUSE. -%{_bindir}/hp-pkservice %{_bindir}/hp-uninstall %{_bindir}/hp-upgrade %doc %{_defaultdocdir}/%{name}/ @@ -819,6 +829,9 @@ %dir %attr(0775,root,lp) %{_localstatedir}/log/hp/tmp # Use fixed "/var/lib/hp" because this is hardcoded in the HPLIP sources: %dir %{_localstatedir}/lib/hp +%if 0%{?suse_version} >= 1699 +%{_unitdir}/[email protected] +%endif %files -n libhplip0 %{_libdir}/libhpip.so.* ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.x303jW/_old 2026-09-23 14:34:17.172670570 +0200 +++ /var/tmp/diff_new_pack.x303jW/_new 2026-09-23 14:34:17.176670738 +0200 @@ -1,5 +1,5 @@ -mtime: 1780935330 -commit: 55f5a7b8de65043fe0269b5e0504884ad2164a09ad098bc2966823dd33573225 +mtime: 1790112672 +commit: 5f041ce5953a65dd9357412e571c9506e09e4be10e536aec918487690f42d644 url: https://src.opensuse.org/mwilck/hplip revision: factory ++++++ add-missing-includes-and-define-GNU_SOURCE.patch ++++++ --- /var/tmp/diff_new_pack.x303jW/_old 2026-09-23 14:34:17.197671616 +0200 +++ /var/tmp/diff_new_pack.x303jW/_new 2026-09-23 14:34:17.200671741 +0200 @@ -1,18 +1,18 @@ -From 935b009caf6de3071675894f4756f99f8e3d46ff Mon Sep 17 00:00:00 2001 +From 9ae9649ab07087391ff02994e93781e7f5673915 Mon Sep 17 00:00:00 2001 From: Martin Wilck <[email protected]> Date: Fri, 15 Sep 2023 18:27:13 +0200 -Subject: [PATCH 04/33] add missing includes and define GNU_SOURCE +Subject: [PATCH] add missing includes and define GNU_SOURCE --- common/utils.c | 5 +++++ io/hpmud/jd.c | 1 + protocol/hp_ipp.c | 4 ++++ scan/sane/bb_ledm.c | 1 + - scan/sane/sclpml.c | 5 +++++ - 5 files changed, 16 insertions(+) + scan/sane/sclpml.c | 4 ++++ + 5 files changed, 15 insertions(+) diff --git a/common/utils.c b/common/utils.c -index d8ecee9..6f5cef9 100644 +index f5b1482..19db7a6 100644 --- a/common/utils.c +++ b/common/utils.c @@ -1,9 +1,14 @@ @@ -31,7 +31,7 @@ extern int errno; diff --git a/io/hpmud/jd.c b/io/hpmud/jd.c -index 94474c8..f86f96a 100644 +index d97c7e1..75461ff 100644 --- a/io/hpmud/jd.c +++ b/io/hpmud/jd.c @@ -31,6 +31,7 @@ @@ -43,7 +43,7 @@ #include "hpmudi.h" diff --git a/protocol/hp_ipp.c b/protocol/hp_ipp.c -index 6e60ac0..e7d4b8c 100644 +index d48cff0..6c49f7b 100644 --- a/protocol/hp_ipp.c +++ b/protocol/hp_ipp.c @@ -18,6 +18,10 @@ Boston, MA 02110-1301, USA. @@ -58,7 +58,7 @@ #include <cups/language.h> #include <cups/ppd.h> diff --git a/scan/sane/bb_ledm.c b/scan/sane/bb_ledm.c -index 4b18af8..eaf1299 100644 +index 739354f..3259e69 100644 --- a/scan/sane/bb_ledm.c +++ b/scan/sane/bb_ledm.c @@ -27,6 +27,7 @@ @@ -70,10 +70,10 @@ # define _STRINGIZE(x) #x diff --git a/scan/sane/sclpml.c b/scan/sane/sclpml.c -index 9a5975f..3250541 100644 +index c81a6a8..febb9af 100644 --- a/scan/sane/sclpml.c +++ b/scan/sane/sclpml.c -@@ -25,11 +25,16 @@ +@@ -25,6 +25,10 @@ \************************************************************************************/ @@ -84,13 +84,7 @@ #include <stdio.h> #include <string.h> #include <unistd.h> - #include <fcntl.h> - #include <string.h> -+#include <sys/time.h> - #include "sane.h" - #include "saneopts.h" - #include "common.h" -- -2.52.0 +2.55.0 ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-09-22 23:31:12.000000000 +0200 @@ -0,0 +1,8 @@ +*~ +\#* +*.rej +*.orig +*.obscpio +*.osc +_build.* +.pbuild ++++++ compat-fix-shlex.quote-Python-2.7-incompatibility.patch ++++++ >From 75f6dcf3bca4da53a4101890bbacf1ebededce50 Mon Sep 17 00:00:00 2001 From: Martin Wilck <[email protected]> Date: Mon, 21 Sep 2026 15:57:11 +0000 Subject: [PATCH] compat: fix shlex.quote Python 2.7 incompatibility shlex.quote() was introduced in Python 3.3. The 3.26.6 security fix that replaced hand-rolled quoting with shlex.quote() broke Python 2.7 users of the ui4 (PyQt4) interface, where pipes.quote() is the equivalent. Replace `import shlex` / `shlex.quote(p)` with a compatibility shim: try: from shlex import quote as shell_quote # Python 3.3+ except ImportError: from pipes import quote as shell_quote # Python 2.7 fallback Applied to both ui4/printsettingstoolbox.py (PyQt4, Python 2.7/3.x) and ui5/printsettingstoolbox.py (PyQt5, Python 3.x) for consistency. compat: fix shlex.quote Python 2.7 incompatibility in fax/filters/pstotiff Same issue as ui4/ui5/printsettingstoolbox: shlex.quote() is Python 3.3+, but this script already has a PY3 guard showing it runs on Python 2.7 too. Replace `import shlex` / `shlex.quote()` with the same compatibility shim used in the printsettingstoolbox fix. --- fax/filters/pstotiff | 7 +++++-- ui4/printsettingstoolbox.py | 11 +++++++---- ui5/printsettingstoolbox.py | 11 +++++++---- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/fax/filters/pstotiff b/fax/filters/pstotiff index 3774342..1808567 100755 --- a/fax/filters/pstotiff +++ b/fax/filters/pstotiff @@ -2,7 +2,10 @@ import os import os.path -import shlex +try: + from shlex import quote as shell_quote # Python 3.3+ +except ImportError: + from pipes import quote as shell_quote # Python 2.7 fallback import time import sys import tempfile @@ -15,7 +18,7 @@ total_bytes_read = 0 temp_in_file = "-" if (len(sys.argv) > 6): - temp_in_file = shlex.quote(sys.argv[6]) # HPLIP-2026-008: quote argv[6] before shell execution. + temp_in_file = shell_quote(sys.argv[6]) # HPLIP-2026-008: quote argv[6] before shell execution. temp_out_handle, temp_out_fname = tempfile.mkstemp() diff --git a/ui4/printsettingstoolbox.py b/ui4/printsettingstoolbox.py index 566c372..4f1090c 100644 --- a/ui4/printsettingstoolbox.py +++ b/ui4/printsettingstoolbox.py @@ -21,7 +21,10 @@ # Std Lib import sys -import shlex +try: + from shlex import quote as shell_quote # Python 3.3+ +except ImportError: + from pipes import quote as shell_quote # Python 2.7 fallback # Local from base.g import * @@ -265,7 +268,7 @@ class PrintSettingsToolbox(QToolBox): if utils.which('lpr'): if alt_nup: - cmd = ' '.join(['psnup', '-%d' % nup, shlex.quote(p), '| lpr -P', self.cur_printer]) + cmd = ' '.join(['psnup', '-%d' % nup, shell_quote(p), '| lpr -P', self.cur_printer]) else: cmd = ' '.join(['lpr -P', self.cur_printer]) @@ -274,7 +277,7 @@ class PrintSettingsToolbox(QToolBox): else: # lp if alt_nup: - cmd = ' '.join(['psnup', '-%d' % nup, shlex.quote(p), '| lp -c -d', self.cur_printer]) + cmd = ' '.join(['psnup', '-%d' % nup, shell_quote(p), '| lp -c -d', self.cur_printer]) else: cmd = ' '.join(['lp -c -d', self.cur_printer]) @@ -343,7 +346,7 @@ class PrintSettingsToolbox(QToolBox): cmd = ' '.join([cmd, '-o HOLD=OFF']) if not alt_nup: - cmd = cmd + ' ' + shlex.quote(p) # HPLIP-2026-010: quote path before shell execution. + cmd = cmd + ' ' + shell_quote(p) # HPLIP-2026-010: quote path before shell execution. print_commands.append(cmd) diff --git a/ui5/printsettingstoolbox.py b/ui5/printsettingstoolbox.py index e7d684b..1eada4e 100644 --- a/ui5/printsettingstoolbox.py +++ b/ui5/printsettingstoolbox.py @@ -21,7 +21,10 @@ # Std Lib import sys -import shlex +try: + from shlex import quote as shell_quote # Python 3.3+ +except ImportError: + from pipes import quote as shell_quote # Python 2.7 fallback # Local from base.g import * @@ -264,7 +267,7 @@ class PrintSettingsToolbox(QToolBox): if utils.which('lpr'): if alt_nup: - cmd = ' '.join(['psnup', '-%d' % nup, shlex.quote(p), '| lpr -P', self.cur_printer]) + cmd = ' '.join(['psnup', '-%d' % nup, shell_quote(p), '| lpr -P', self.cur_printer]) else: cmd = ' '.join(['lpr -P', self.cur_printer]) @@ -273,7 +276,7 @@ class PrintSettingsToolbox(QToolBox): else: # lp if alt_nup: - cmd = ' '.join(['psnup', '-%d' % nup, shlex.quote(p), '| lp -c -d', self.cur_printer]) + cmd = ' '.join(['psnup', '-%d' % nup, shell_quote(p), '| lp -c -d', self.cur_printer]) else: cmd = ' '.join(['lp -c -d', self.cur_printer]) @@ -342,7 +345,7 @@ class PrintSettingsToolbox(QToolBox): cmd = ' '.join([cmd, '-o HOLD=OFF']) if not alt_nup: - cmd = cmd + ' ' + shlex.quote(p) # HPLIP-2026-010: quote path before shell execution. + cmd = cmd + ' ' + shell_quote(p) # HPLIP-2026-010: quote path before shell execution. print_commands.append(cmd) -- 2.55.0 ++++++ hplip-3.26.4.tar.gz -> hplip-3.26.6.tar.gz ++++++ /work/SRC/openSUSE:Factory/hplip/hplip-3.26.4.tar.gz /work/SRC/openSUSE:Factory/.hplip.new.383539/hplip-3.26.6.tar.gz differ: char 16, line 1 ++++++ hplip-remove-imageprocessor.patch ++++++ --- /var/tmp/diff_new_pack.x303jW/_old 2026-09-23 14:34:17.476683280 +0200 +++ /var/tmp/diff_new_pack.x303jW/_new 2026-09-23 14:34:17.480683447 +0200 @@ -1,17 +1,17 @@ -From 4ce96ef1d4ec67f6032b4e8e31839456b71b0a7e Mon Sep 17 00:00:00 2001 +From 1ccf6aa6d11b48bd8494b516a29b92c99bec62f0 Mon Sep 17 00:00:00 2001 From: Martin Wilck <[email protected]> Date: Tue, 3 Feb 2026 17:57:27 +0100 -Subject: [PATCH 13/33] hplip: remove imageprocessor +Subject: [PATCH] hplip: remove imageprocessor --- - Makefile.am | 14 ++------------ - 1 file changed, 2 insertions(+), 12 deletions(-) + Makefile.am | 16 +++------------- + 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/Makefile.am b/Makefile.am -index 5381a24..a03b2bf 100644 +index 072c969..ad4d62d 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -167,7 +167,7 @@ if !HPLIP_CLASS_DRIVER +@@ -179,7 +179,7 @@ if !HPLIP_CLASS_DRIVER dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py endif #HPLIP_CLASS_DRIVER @@ -20,16 +20,16 @@ dist_noinst_DATA += prnt/ipp-usb/HPLIP.conf dist_noinst_SCRIPTS += dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv -@@ -598,7 +598,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp - prnt/hpcups/ImageProcessor.h - - hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS) +@@ -605,7 +605,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp + hpcups_CPPFLAGS = -I$(srcdir)/prnt/hpcups -I$(srcdir)/prnt -I$(srcdir)/common -D_GNU_SOURCE + hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS) $(AM_CXXFLAGS) + hpcups_LDFLAGS = $(AM_LDFLAGS) -hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS) +hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS) #else #hpcupsdir = $(cupsfilterdir) #hpcups_PROGRAMS = hpcups -@@ -696,16 +696,6 @@ endif #HPLIP_CLASS_DRIVER +@@ -707,16 +707,6 @@ endif #HPLIP_CLASS_DRIVER install-data-hook: if HPLIP_BUILD @@ -46,7 +46,16 @@ if [ -d "/usr/share/ipp-usb/quirks/" ]; then \ echo "ipp-usb directory exists"; \ cp prnt/ipp-usb/HPLIP.conf /usr/share/ipp-usb/quirks/ ; \ +@@ -732,7 +722,7 @@ if !HPLIP_CLASS_DRIVER + echo "Adding hpaio entry to /etc/sane.d/dll.conf." ; \ + echo hpaio >>$(DESTDIR)/etc/sane.d/dll.conf ; \ + fi; \ +- if [ \( "$(UNAME)" = "x86_64" -a -d "$(libdir)/x86_64-linux-gnu/sane" \) ]; then \ ++ if [ \( "$(UNAME)" = "x86_64" -a -d "$(libdir)/x86_64-linux-gnu/sane" \) ]; then \ + ln -sf $(libdir)/sane/libsane-hpaio.so $(libdir)/x86_64-linux-gnu/sane/ ; \ + ln -sf $(libdir)/sane/libsane-hpaio.so.1 $(libdir)/x86_64-linux-gnu/sane/ ; \ + fi; \ -- -2.52.0 +2.55.0 ++++++ hpmud.rules-use-SYSTEMD_WANTS-rather-than-RUN.patch ++++++ >From 3e23ec4979180929870f36b769ad32044aa8aca5 Mon Sep 17 00:00:00 2001 From: Martin Wilck <[email protected]> Date: Tue, 22 Sep 2026 17:15:12 +0200 Subject: [PATCH] 56-hpmud.rules: use SYSTEMD_WANTS rather than RUN= --- Makefile.am | 2 +- data/rules/56-hpmud.rules | 3 +-- data/rules/[email protected] | 7 +++++++ 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 data/rules/[email protected] diff --git a/Makefile.am b/Makefile.am index ad4d62d..45bb97c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -145,7 +145,7 @@ libhpip_la_SOURCES = ip/xconvolve.c ip/xfax.c ip/xgrayout.c ip/xjpg_dct.c ip/xjp #hpmud rules data dir rulessystemdir=/usr/lib/systemd/system -dist_rulessystem_DATA =data/rules/[email protected] +dist_rulessystem_DATA =data/rules/[email protected] data/rules/[email protected] # hpmud.rules if !HPLIP_CLASS_DRIVER diff --git a/data/rules/56-hpmud.rules b/data/rules/56-hpmud.rules index ec57f57..299874a 100644 --- a/data/rules/56-hpmud.rules +++ b/data/rules/56-hpmud.rules @@ -38,7 +38,6 @@ ATTR{idVendor}=="03f0", ENV{ID_USB_INTERFACES}=="*:0701??:*|*:ffcc00:", OWNER="r # This rule will check the smart install feature, plugin status and firmware download for the required printers. #ENV{hp_test}=="yes", PROGRAM="/bin/sh -c 'logger -p user.info loading HP Device $env{BUSNUM} $env{DEVNUM}'", RUN+="/bin/sh -c '/usr/bin/nohup /usr/bin/hp-config_usb_printer $env{BUSNUM}:$env{DEVNUM}'" # This rule uploads firmware to HP USB printer devices if needed: -ENV{hp_test}=="yes", PROGRAM="/bin/logger -p user.info udev hpmud.rules runs hp-firmware to test if HP device with USB vendor ID $attr{idVendor} and USB product ID $attr{idProduct} at USB bus ID $env{BUSNUM} and USB device ID $env{DEVNUM} needs firmware and if yes to upload it", RUN+="/usr/bin/hp-firmware -s $env{BUSNUM}:$env{DEVNUM}" +ENV{hp_test}=="yes", ENV{SYSTEMD_WANTS}="hp-firmware@$env{BUSNUM}:$env{DEVNUM}.service" LABEL="hpmud_rules_end" - diff --git a/data/rules/[email protected] b/data/rules/[email protected] new file mode 100644 index 0000000..7eb1cd9 --- /dev/null +++ b/data/rules/[email protected] @@ -0,0 +1,7 @@ +[Unit] +Descripion=Upload firmware to HP USB printer %i + +[Service] +Type=oneshot +ExecStart=/usr/bin/hp-firmware -n -y3 -s "%i" +RemainAfterExit=yes -- 2.55.0 ++++++ pluginhandler.py-add-fallback-location-for-3.26.6.patch ++++++ >From aa0e7c700db131cef9544960963996e36a2c1e8b Mon Sep 17 00:00:00 2001 From: Martin Wilck <[email protected]> Date: Tue, 22 Sep 2026 23:17:03 +0200 Subject: [PATCH] pluginhandler.py: add fallback location for 3.26.6 --- installer/pluginhandler.py | 1 + 1 file changed, 1 insertion(+) diff --git a/installer/pluginhandler.py b/installer/pluginhandler.py index 3fe35c1..5574266 100755 --- a/installer/pluginhandler.py +++ b/installer/pluginhandler.py @@ -46,6 +46,7 @@ PLUGIN_FALLBACK_URLS = { '3.25.6': 'https://developers.hp.com/sites/default/files/2025-08/hplip-3.25.6-plugin.run', '3.25.8': 'https://developers.hp.com/sites/default/files/2025-11/hplip-3.25.8-plugin.run', '3.26.4': 'https://developers.hp.com/sites/default/files/2026-05/hplip-3.26.4-plugin.run', + '3.26.6': 'https://developers.hp.com/sites/default/files/2026-09/hplip-3.26.6-plugin.run', } WGET_FALLBACK_HEADERS = ( -- 2.55.0
