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-05-25 21:52:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hplip (Old)
 and      /work/SRC/openSUSE:Factory/.hplip.new.2084 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hplip"

Mon May 25 21:52:00 2026 rev:168 rq:1354788 version:3.26.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/hplip/hplip.changes      2026-02-11 
19:12:11.260397227 +0100
+++ /work/SRC/openSUSE:Factory/.hplip.new.2084/hplip.changes    2026-05-25 
21:52:38.578697484 +0200
@@ -1,0 +2,110 @@
+Fri May 22 20:33:36 UTC 2026 - Martin Wilck <[email protected]>
+
+- Update to HPLIP 3.26.4
+
+- Fix CVE-2026-8631 (bsc#1266023)
+- Fix CVE-2026-8632 (bsc#1266024)
+
+- Add support for the following new printers:
+
+  * HP LaserJet Pro MFP 3106sdw
+  * HP LaserJet Pro MFP 3105sdw
+  * HP Envy 6500e series
+  * HP Envy 6500 series
+  * HP OfficeJet Pro 9730 Series
+  * HP OfficeJet Pro 9730e Series
+  * HP OfficeJet Pro 9720 Series
+  * HP OfficeJet Pro 9720e Series
+  * HP OfficeJet Pro 8130e All-in-One series
+  * HP OfficeJet Pro 8130 All-in-One series
+  * HP OfficeJet 8130e All-in-One series
+  * HP OfficeJet 8130 All-in-One series
+  * HP OfficeJet Pro 8120e All-in-One series
+  * HP OfficeJet Pro 8120 All-in-One series
+  * HP OfficeJet 8120e All-in-One series
+  * HP OfficeJet 8120 All-in-One series
+  * HP DeskJet Ink Advantage ultra 5800 All-in-One Printer series
+  * HP DeskJet Ink Advantage ultra 5100 All-in-One Printer series
+  * HP DeskJet 4300e All-in-One Printer series
+  * HP DeskJet Ink Advantage 4300 All-in-One Printer series
+  * HP DeskJet 4300 All-in-One Printer series
+  * HP DeskJet 2900e All-in-One Printer series
+  * HP DeskJet Ink Advantage 2900 All-in-One Printer series
+  * HP DeskJet 2900 All-in-One Printer series
+
+-------------------------------------------------------------------
+Tue May 19 05:33:19 UTC 2026 - Max Lin <[email protected]>
+
+- Adjust the version condition not to build scan_utils since
+  %suse_version macro has been changed to 1610 in Leap 16.1
+
+-------------------------------------------------------------------
+Tue Feb  3 19:30:34 UTC 2026 - Martin Wilck <[email protected]>
+
+- Update to HPLIP 3.25.8
+
+- Added support for the following new Printers:
+  * HP LaserJet Enterprise Flow MFP 8601z
+  * HP LaserJet Enterprise 5501
+  * HP LaserJet Enterprise MFP 5601dn
+  * HP LaserJet Enterprise 6500dn
+  * HP LaserJet Enterprise 5501n
+  * HP LaserJet Enterprise MFP 5601
+  * HP LaserJet Enterprise 6500
+  * HP LaserJet Enterprise 5502dn
+  * HP LaserJet Enterprise MFP 5602dn
+  * HP LaserJet Enterprise 6500n
+  * HP LaserJet Enterprise 5502
+  * HP LaserJet Enterprise MFP 5602f
+  * HP LaserJet Enterprise 6501dn
+  * HP LaserJet Enterprise X50452dn
+  * HP LaserJet Enterprise Flow MFP 5602zfw
+  * HP LaserJet Enterprise 6501
+  * HP LaserJet Enterprise X50452
+  * HP LaserJet Enterprise MFP 5602
+  * HP LaserJet Enterprise X60257dn
+  * HP LaserJet Enterprise MFP X53052dn
+  * HP LaserJet Enterprise Flow MFP X530
+  * HP LaserJet Enterprise X60257
+  * HP LaserJet Enterprise MFP X53052
+  * HP LaserJet Enterprise X60357dn
+  * HP LaserJet Enterprise X60357
+  * HP LaserJet Enterprise MFP 6600dn
+  * HP LaserJet Enterprise Flow MFP 6600zfw
+  * HP LaserJet Enterprise MFP 6600
+  * HP LaserJet Enterprise Flow MFP 6600zfsw
+  * HP LaserJet Enterprise MFP X62757dn
+  * HP LaserJet Enterprise Flow MFP X62757zs
+  * HP LaserJet Enterprise MFP X62757
+  * DEX D50452dn
+  * DEX MFP D53052dn
+
+- Drop patches that have been merged upstream:
+  * Drop hplip-change-pgp-server.patch
+  * Drop hp-setup-fix-python-crash-when-manually-importing-gz.patch
+
+- Fix handling of readfp() and read_filke() for ConfigParser objects,
+  avoiding confusing error messages (lp#2139771)
+  * Add hplip-fix-handling-of-ConfigParser-.readfp-vs.-read_.patch
+  * Drop hplip-base-replace-f-string-with-string.format-for-p.patch
+- Fix compiler warnings on SLE15
+  * Add Fix-two-compiler-warnings-that-cause-build-failure-o.patch
+- Fix "Found No Section" error with python (lp#2095776)
+  * Add hplip-base-Fix-Found-No-Section-error-with-python-2..patch
+
+- Renamed patch files to achieve a consistent patch naming according
+  to the rules of git-format-patch:
+  * Rename change-udev-rules.diff -> hplip-change-udev-rules.patch
+  * Rename disable_hp-upgrade.patch -> disable-hp-upgrade.patch
+  * Rename add_missing_includes_and_define_GNU_SOURCE.patch
+        -> add-missing-includes-and-define-GNU_SOURCE.patch
+  * Rename hplip-remove-imageprocessor.diff
+        -> hplip-remove-imageprocessor.patch
+  * Rename hplip-orblite-return-null.diff -> hplip-orblite-return-null.patch
+  * Rename hplip-hpaio-gcc14.patch -> hplip-hpaio-avoid-C99-violations.patch
+  * Rename hplip-no-urlopener.patch
+        -> URLopener-was-removed-in-Python-3.14-and-hplip-trace.patch
+  * Rename hplip-3.24.4-gcc15.patch -> 
hplip-sane-fix-compilation-with-gcc-15.patch
+  Patches are now managed under https://github.com/mwilck/hplip
+
+-------------------------------------------------------------------
@@ -25,0 +136 @@
+- This fixes CVE-2025-43023 (bsc#1266031)

Old:
----
  add_missing_includes_and_define_GNU_SOURCE.patch
  change-udev-rules.diff
  disable_hp-upgrade.patch
  hp-setup-fix-python-crash-when-manually-importing-gz.patch
  hplip-3.24.4-gcc15.patch
  hplip-3.25.6.tar.gz
  hplip-3.25.6.tar.gz.asc
  hplip-base-replace-f-string-with-string.format-for-p.patch
  hplip-change-pgp-server.patch
  hplip-hpaio-gcc14.patch
  hplip-no-urlopener.patch
  hplip-orblite-return-null.diff
  hplip-remove-imageprocessor.diff

New:
----
  Fix-two-compiler-warnings-that-cause-build-failure-o.patch
  URLopener-was-removed-in-Python-3.14-and-hplip-trace.patch
  _scmsync.obsinfo
  add-missing-includes-and-define-GNU_SOURCE.patch
  build.specials.obscpio
  disable-hp-upgrade.patch
  hplip-3.26.4.tar.gz
  hplip-3.26.4.tar.gz.asc
  hplip-base-Fix-Found-No-Section-error-with-python-2..patch
  hplip-change-udev-rules.patch
  hplip-fix-handling-of-ConfigParser-.readfp-vs.-read_.patch
  hplip-hpaio-avoid-C99-violations.patch
  hplip-orblite-return-null.patch
  hplip-remove-imageprocessor.patch
  hplip-sane-fix-compilation-with-gcc-15.patch

----------(Old B)----------
  Old:  * Rename disable_hp-upgrade.patch -> disable-hp-upgrade.patch
  * Rename add_missing_includes_and_define_GNU_SOURCE.patch
        -> add-missing-includes-and-define-GNU_SOURCE.patch
  Old:  to the rules of git-format-patch:
  * Rename change-udev-rules.diff -> hplip-change-udev-rules.patch
  * Rename disable_hp-upgrade.patch -> disable-hp-upgrade.patch
  Old:  * Rename change-udev-rules.diff -> hplip-change-udev-rules.patch
  * Rename disable_hp-upgrade.patch -> disable-hp-upgrade.patch
  * Rename add_missing_includes_and_define_GNU_SOURCE.patch
  Old:  * Drop hplip-change-pgp-server.patch
  * Drop hp-setup-fix-python-crash-when-manually-importing-gz.patch
  Old:        -> URLopener-was-removed-in-Python-3.14-and-hplip-trace.patch
  * Rename hplip-3.24.4-gcc15.patch -> 
hplip-sane-fix-compilation-with-gcc-15.patch
  Patches are now managed under https://github.com/mwilck/hplip
  Old:  * Add hplip-fix-handling-of-ConfigParser-.readfp-vs.-read_.patch
  * Drop hplip-base-replace-f-string-with-string.format-for-p.patch
- Fix compiler warnings on SLE15
  Old:- Drop patches that have been merged upstream:
  * Drop hplip-change-pgp-server.patch
  * Drop hp-setup-fix-python-crash-when-manually-importing-gz.patch
  Old:  * Rename hplip-orblite-return-null.diff -> 
hplip-orblite-return-null.patch
  * Rename hplip-hpaio-gcc14.patch -> hplip-hpaio-avoid-C99-violations.patch
  * Rename hplip-no-urlopener.patch
  Old:  * Rename hplip-hpaio-gcc14.patch -> 
hplip-hpaio-avoid-C99-violations.patch
  * Rename hplip-no-urlopener.patch
        -> URLopener-was-removed-in-Python-3.14-and-hplip-trace.patch
  Old:        -> hplip-remove-imageprocessor.patch
  * Rename hplip-orblite-return-null.diff -> hplip-orblite-return-null.patch
  * Rename hplip-hpaio-gcc14.patch -> hplip-hpaio-avoid-C99-violations.patch
  Old:        -> add-missing-includes-and-define-GNU_SOURCE.patch
  * Rename hplip-remove-imageprocessor.diff
        -> hplip-remove-imageprocessor.patch
----------(Old E)----------

----------(New B)----------
  New:- Fix compiler warnings on SLE15
  * Add Fix-two-compiler-warnings-that-cause-build-failure-o.patch
- Fix "Found No Section" error with python (lp#2095776)
  New:  * Rename hplip-no-urlopener.patch
        -> URLopener-was-removed-in-Python-3.14-and-hplip-trace.patch
  * Rename hplip-3.24.4-gcc15.patch -> 
hplip-sane-fix-compilation-with-gcc-15.patch
  New:  * Rename add_missing_includes_and_define_GNU_SOURCE.patch
        -> add-missing-includes-and-define-GNU_SOURCE.patch
  * Rename hplip-remove-imageprocessor.diff
  New:  * Rename change-udev-rules.diff -> hplip-change-udev-rules.patch
  * Rename disable_hp-upgrade.patch -> disable-hp-upgrade.patch
  * Rename add_missing_includes_and_define_GNU_SOURCE.patch
  New:- Fix "Found No Section" error with python (lp#2095776)
  * Add hplip-base-Fix-Found-No-Section-error-with-python-2..patch
  New:  to the rules of git-format-patch:
  * Rename change-udev-rules.diff -> hplip-change-udev-rules.patch
  * Rename disable_hp-upgrade.patch -> disable-hp-upgrade.patch
  New:  avoiding confusing error messages (lp#2139771)
  * Add hplip-fix-handling-of-ConfigParser-.readfp-vs.-read_.patch
  * Drop hplip-base-replace-f-string-with-string.format-for-p.patch
  New:  * Rename hplip-orblite-return-null.diff -> 
hplip-orblite-return-null.patch
  * Rename hplip-hpaio-gcc14.patch -> hplip-hpaio-avoid-C99-violations.patch
  * Rename hplip-no-urlopener.patch
  New:        -> hplip-remove-imageprocessor.patch
  * Rename hplip-orblite-return-null.diff -> hplip-orblite-return-null.patch
  * Rename hplip-hpaio-gcc14.patch -> hplip-hpaio-avoid-C99-violations.patch
  New:  * Rename hplip-remove-imageprocessor.diff
        -> hplip-remove-imageprocessor.patch
  * Rename hplip-orblite-return-null.diff -> hplip-orblite-return-null.patch
  New:        -> URLopener-was-removed-in-Python-3.14-and-hplip-trace.patch
  * Rename hplip-3.24.4-gcc15.patch -> 
hplip-sane-fix-compilation-with-gcc-15.patch
  Patches are now managed under https://github.com/mwilck/hplip
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ hplip.spec ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:43.590903599 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:43.594903764 +0200
@@ -38,7 +38,7 @@
 %global make_install make DESTDIR=%{buildroot} V=1 install
 %endif
 
-%if 0%{?suse_version} == 1600 && 0%{?is_opensuse}
+%if 0%{?suse_version} < 1699 && 0%{?is_opensuse}
 # Build without scanning support
 %bcond_with scan_utils
 %else
@@ -66,19 +66,24 @@
 %global drvdir %{_datadir}/cups/drv
 
 Name:           hplip
-Version:        3.25.6
+Version:        3.26.4
 Release:        0
 Summary:        HP's Printing, Scanning, and Faxing Software
 License:        BSD-3-Clause AND GPL-2.0-or-later AND MIT
 Group:          Hardware/Printing
 URL:            https://developers.hp.com/hp-linux-imaging-and-printing
 # Source0...Source9 is for sources from HP:
-# URL for Source0: http://prdownloads.sourceforge.net/hplip/hplip-3.15.9.tar.gz
-# URL to verify Source0: 
http://prdownloads.sourceforge.net/hplip/hplip-3.15.9.tar.gz.asc
-# How to verify Source0 see: http://hplipopensource.com/node/327
-# For example: /usr/bin/gpg --keyserver pgp.mit.edu --recv-keys 0xA59047B9
-#              /usr/bin/gpg --verify hplip-3.15.9.tar.gz.asc 
hplip-3.15.9.tar.gz
-# must result: Good signature from "HPLIP (HP Linux Imaging and Printing) 
<[email protected]>"
+# How to verify Source0:
+# For example: /usr/bin/gpg --keyserver keyserver.ubuntu.com --recv-keys 
AC69536A2CF3A243
+#              /usr/bin/gpg --verify hplip-3.26.4.tar.gz.asc
+# must result in:
+# gpg: Signature made <<DATE>>
+# gpg:                using RSA key 5E4E4D24A34ECD57
+# gpg: Good signature from "HPLIP (HP Linux Imaging and Printing) 
<[email protected]>"
+#
+# Notes:
+# - The key AC69536A2CF3A243 is also contained in the file hplip.keyring)
+# - 5E4E4D24A34ECD57 is a subkey of AC69536A2CF3A243
 Source0:        
https://sourceforge.net/projects/hplip/files/hplip/%{version}/hplip-%{version}.tar.gz
 Source1:        
https://sourceforge.net/projects/hplip/files/hplip/%{version}/hplip-%{version}.tar.gz.asc
 Source2:        hplip.keyring
@@ -91,17 +96,17 @@
 #
 Source1000:     %{name}-rpmlintrc
 # Patch100... is for special Suse patches:
-# Patch101 change-udev-rules.diff changes the udev rules file 56-hpmud.rules
-Patch101:       change-udev-rules.diff
+# Patch101 change-udev-rules.patch changes the udev rules file 56-hpmud.rules
+Patch101:       hplip-change-udev-rules.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.
-Patch106:       disable_hp-upgrade.patch
+Patch106:       disable-hp-upgrade.patch
 # PATCH-FIX-SUSE: use proper udev rulesdir which is in usr not in /etc
 Patch107:       hplip-udev-rules-in-usr.patch
 # Patch108 add_missing_includes_and_define_GNU_SOURCE.patch adds missing 
'#include <...>'
 # and missing '#define _GNU_SOURCE' see 
https://bugs.launchpad.net/hplip/+bug/1456590
-Patch108:       add_missing_includes_and_define_GNU_SOURCE.patch
+Patch108:       add-missing-includes-and-define-GNU_SOURCE.patch
 Patch110:       hpijs-avoid-segfault-in-DJGenericVIP-DJGenericVIP.patch
 Patch112:       ui5-systemtray-wait-only-10s-for-system-tray.patch
 # Python3 port: cleanup patches
@@ -115,15 +120,12 @@
 # bsc#1180724
 Patch306:       dcheck.py-fix-crash-in-Qt4-version-check.patch
 # PATCH-FIX-SUSE: Remove references to the closed-source ImageProcessor
-Patch400:       hplip-remove-imageprocessor.diff
+Patch400:       hplip-remove-imageprocessor.patch
 # Let a function return NULL instead of nothing
-Patch401:       hplip-orblite-return-null.diff
-# Use a pgp server (pool.sks-keyservers.net) which doesn't throw proxy errors
-# or run into timeouts most of the time
-Patch402:       hplip-change-pgp-server.patch
+Patch401:       hplip-orblite-return-null.patch
 # boo#1107711
 Patch403:       Revert-changes-from-3.18.5-that-break-hp-setup-for-f.patch
-# PATCH-FIX-UPSTREAM: https://bugs.launchpad.net/hplip/+bug/1879445
+# lp#1879445
 Patch404:       hplip-3.20.6-python-includes.patch
 # PATCH-FIX-SUSE https://bugs.launchpad.net/hplip/+bug/2115626 bsc#1245358
 Patch405:       Fix-ReDoS-issue-in-HPLIP-s-SLP-parser.patch
@@ -133,20 +135,23 @@
 Patch602:       hplip-scan-hpaio-include.patch
 Patch603:       hplip-scan-orblite-c99.patch
 Patch604:       hplip-sclpml-strcasestr.patch
-Patch605:       hplip-hpaio-gcc14.patch
+Patch605:       hplip-hpaio-avoid-C99-violations.patch
 Patch606:       hplip-base-fix-error-in-ConfigBase-handling.patch
 Patch607:       hplip-utils-Fix-plugin-verification-with-sha256.patch
-# lp#2120739
-Patch608:       hp-setup-fix-python-crash-when-manually-importing-gz.patch
 # lp#2115046
-Patch610:       hplip-no-urlopener.patch
+Patch610:       URLopener-was-removed-in-Python-3.14-and-hplip-trace.patch
 Patch611:       hplip-fix-driver-probing-using-avahi.patch
 Patch612:       hplip-fix-python-crash-in-avahi.py.patch
-# PATCH-FIX-UPSTREAM https://bugs.launchpad.net/hplip/+bug/2096650
-Patch651:       hplip-3.24.4-gcc15.patch
+# lp#2095776
+Patch613:       hplip-base-Fix-Found-No-Section-error-with-python-2..patch
+# lp#2096650
+Patch614:       hplip-sane-fix-compilation-with-gcc-15.patch
+# lp#2139771
+Patch615:       hplip-fix-handling-of-ConfigParser-.readfp-vs.-read_.patch
+
 # Compatibility patches for old SUSE releases
-Patch700:       hplip-base-replace-f-string-with-string.format-for-p.patch
 Patch701:       hpcups-fix-compilation-on-SLE12.patch
+Patch703:       Fix-two-compiler-warnings-that-cause-build-failure-o.patch
 
 # cups-rpm-helper is now pulled in indirectly via cups-devel.
 # This causes the "postscriptdriver" provides to be generated.
@@ -459,7 +464,8 @@
 %prep
 # Be quiet when unpacking:
 %setup -q
-# Patch101 change-udev-rules.diff changes the udev rules file 56-hpmud.rules
+
+# Patch101 change-udev-rules.patch changes the udev rules file 56-hpmud.rules
 %patch -P 101 -p1 -b .change-udev-rules.orig
 # Patch106 disable_hp-upgrade.patch disables hp-upgrade/upgrade.py for 
security reasons,
 # see https://bugzilla.novell.com/show_bug.cgi?id=853405
@@ -479,7 +485,6 @@
 %patch -P 306 -p1
 %patch -P 400 -p1
 %patch -P 401 -p1
-%patch -P 402 -p1
 %patch -P 403 -p1
 %if 0%{?suse_version} >= 1500
 # This patch replaces python-config by python3-config, don't apply on SLE12
@@ -494,16 +499,21 @@
 %patch -P 605 -p1
 %patch -P 606 -p1
 %patch -P 607 -p1
-%patch -P 608 -p1
 %patch -P 610 -p1
 %patch -P 611 -p1
 %patch -P 612 -p1
-%patch -P 651 -p1
+%patch -P 613 -p1
+%patch -P 614 -p1
+%patch -P 615 -p1
+%if 0%{?suse_version} < 1500
+# python2 compatibility
+%patch -P 701 -p1
+%endif
 %if 0%{?suse_version} < 1500
 # python2 compatibility
-%patch -P 700 -p1
 %patch -P 701 -p1
 %endif
+%patch -P 703 -p1
 
 # replace "env" shebang and "/usr/bin/python" with real executable
 find . -name '*.py' -o -name pstotiff | \

++++++ Fix-ReDoS-issue-in-HPLIP-s-SLP-parser.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:43.622904915 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:43.626905079 +0200
@@ -1,7 +1,7 @@
-From 4315485efe9318b18bf859c5bf1a810b9235ae2e Mon Sep 17 00:00:00 2001
+From 1586048802a90d90f039378ef793681d16960176 Mon Sep 17 00:00:00 2001
 From: Wolfgang Frisch <[email protected]>
 Date: Tue, 15 Jul 2025 19:12:53 +0200
-Subject: [PATCH] Fix ReDoS issue in  HPLIP's SLP parser
+Subject: [PATCH 17/33] Fix ReDoS issue in HPLIP's SLP parser
 
 Patch for the ReDoS issue in HPLIP's SLP parser (bsc#1245358).
 https://bugs.launchpad.net/hplip/+bug/2115626
@@ -44,6 +44,6 @@
  def createSocketsWithsetOption(ttl=4):
      s=None
 -- 
-2.50.0
+2.52.0
 
 

++++++ Fix-two-compiler-warnings-that-cause-build-failure-o.patch ++++++
>From 5aeb785fb886de701f1e177a23a8cfbdf236ac67 Mon Sep 17 00:00:00 2001
From: Martin Wilck <[email protected]>
Date: Tue, 14 Jan 2025 21:56:01 +0100
Subject: [PATCH 33/33] Fix two compiler warnings that cause build failure on
 SLE15 (GA)

[  163s] ... running 50-check-gcc-output
[  163s] ... testing for serious compiler warnings
[  163s]     (using /usr/lib/build/checks-data/check_gcc_output)
[  163s]     (using //.build.log)
[  163s]
[  163s] I: Program is using uninitialized variables.
[  163s]    Note the difference between "is used" and "may be used"
[  163s] W: hplip uninitialized-variable scan/sane/hpaio.c:383
[  163s]
[  163s] I: Program returns random data in a function
[  163s] E: hplip no-return-in-nonvoid-function protocol/hp_ipp.c:1375
[  163s]
[  163s] I: Program returns random data in a function
[  163s] E: hplip no-return-in-nonvoid-function protocol/hp_ipp.c:1375

The check has been removed deliberately in later SPs
(https://github.com/openSUSE/post-build-checks/pull/26)

The test also ran on SLE12-SP3, but there apparently the compiler didn't emit
the offending warnings.
---
 protocol/hp_ipp.c | 1 +
 scan/sane/hpaio.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/protocol/hp_ipp.c b/protocol/hp_ipp.c
index e7d4b8c..39107e4 100644
--- a/protocol/hp_ipp.c
+++ b/protocol/hp_ipp.c
@@ -1372,6 +1372,7 @@ int getJobStatus(int iJobID, const char *iPrinterName, 
const char *iDeviceUri)
             return aRetnValue;
         }
     }
+    return HPIPP_ERROR;
 }
 
 HPIPP_RESULT sendFaxJob(const char *iDeviceUri, const char *iPrinterName, 
const char *iFileName, const char *iFaxNumber)
diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c
index 2e52e19..1acc528 100644
--- a/scan/sane/hpaio.c
+++ b/scan/sane/hpaio.c
@@ -379,7 +379,7 @@ extern SANE_Status sane_hpaio_get_devices(const SANE_Device 
***deviceList, SANE_
    ResetDeviceList(&DeviceList);
    DevDiscovery(localOnly);
    *deviceList = (const SANE_Device **)DeviceList;
-   const SANE_Device*** devListi = NULL;
+   const SANE_Device*** devList = NULL;
    orblite_get_devices(devList, localOnly);
 
    return SANE_STATUS_GOOD;
-- 
2.52.0


++++++ Revert-changes-from-3.18.5-that-break-hp-setup-for-f.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:43.670906889 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:43.674907054 +0200
@@ -1,7 +1,7 @@
-From af8ddd502a88f8dc0910c2c9a91471be8434af61 Mon Sep 17 00:00:00 2001
+From f6715cc06a34ea49c17cde8861e6036024195243 Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Mon, 13 Jan 2020 18:20:22 +0100
-Subject: [PATCH] Revert changes from 3.18.5 that break hp-setup for fax
+Subject: [PATCH 15/33] Revert changes from 3.18.5 that break hp-setup for fax
  devices
 
 See bsc#1107711, lp#1773320
@@ -14,10 +14,10 @@
  2 files changed, 5 insertions(+), 8 deletions(-)
 
 diff --git a/base/utils.py b/base/utils.py
-index f268cf8..cc77820 100644
+index e8fe42c..6f1412d 100644
 --- a/base/utils.py
 +++ b/base/utils.py
-@@ -954,10 +954,7 @@ else:
+@@ -986,10 +986,7 @@ else:
  
  
  def printable(s):
@@ -30,10 +30,10 @@
  
  def any(S,f=lambda x:x):
 diff --git a/fax/pmlfax.py b/fax/pmlfax.py
-index adcc1cb..b68ff6a 100644
+index 0ae5f5e..d85b151 100644
 --- a/fax/pmlfax.py
 +++ b/fax/pmlfax.py
-@@ -143,8 +143,8 @@ class PMLFaxDevice(FaxDevice):
+@@ -145,8 +145,8 @@ class PMLFaxDevice(FaxDevice):
  
      def getPhoneNum(self):
          if PY3:
@@ -44,7 +44,7 @@
          else:
              return 
utils.printable(self.getPML(pml.OID_FAX_LOCAL_PHONE_NUM)[1])
      phone_num = property(getPhoneNum, setPhoneNum, 
doc="OID_FAX_LOCAL_PHONE_NUM")
-@@ -155,8 +155,8 @@ class PMLFaxDevice(FaxDevice):
+@@ -157,8 +157,8 @@ class PMLFaxDevice(FaxDevice):
  
      def getStationName(self):
          if PY3:
@@ -56,6 +56,6 @@
              return utils.printable(self.getPML(pml.OID_FAX_STATION_NAME)[1])
  
 -- 
-2.24.1
+2.52.0
 
 

++++++ URLopener-was-removed-in-Python-3.14-and-hplip-trace.patch ++++++
>From ff0ea4370845a314a32730f76f40cc7ff960c7ee Mon Sep 17 00:00:00 2001
From: Zdenek Dohnal <[email protected]>
Date: Fri, 15 Aug 2025 23:36:43 +0200
Subject: [PATCH 26/33] URLopener was removed in Python 3.14 and hplip
 tracebacks without it

URLopener was removed in Python 3.14 in Fedora 43, which causes several hplip 
scripts to traceback.

For now I've applied the attached patch to remove URLopener, since hplip 
modules look like they don't use the methods from the class, but rather the 
method implemented in class LocalOpener, which inherits from URLOpener - major 
scripts like hp-plugin, hp-setup and hp-toolbox look to be working with the fix.

It would be great if URLopener was removed from hplip project and replaced if 
required - Fedora will try the attached patch for now to make hplip working to 
some extent in Fedora 43.

Traceback example:

/usr/share/hplip/prnt/cups.py:699: SyntaxWarning: 'return' in a 'finally' block
  return fax_ppd,expected_fax_ppd_name, nick
Traceback (most recent call last):
  File "/usr/bin/hp-plugin", line 41, in <module>
    from base import device, utils, tui, module, services
  File "/usr/share/hplip/base/device.py", line 2691, in <module>
    class LocalOpener(urllib_request.URLopener):
                      ^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'urllib.request' has no attribute 'URLopener'
---
 base/device.py | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/base/device.py b/base/device.py
index d381363..ef52359 100644
--- a/base/device.py
+++ b/base/device.py
@@ -2525,9 +2525,9 @@ Content-length: %d\r
                 data = None
 
             log.debug("Opening: %s" % url2)
-            opener = LocalOpener({})
+            opener = LocalOpener()
             try:
-                f = opener.open(url2, data)
+                f = opener.open_hp(url2, data)
                 
             except Error:
                 log.error("Status read failed: %s" % url2)
@@ -2547,7 +2547,7 @@ Content-length: %d\r
         try:
             url2 = "%s&loc=%s" % (self.device_uri.replace('hpfax:', 'hp:'), 
url)
             data = self
-            opener = LocalOpenerEWS_LEDM({})
+            opener = LocalOpenerEWS_LEDM()
             try:
                 if footer:
                     return opener.open_hp(url2, data, footer)
@@ -2562,7 +2562,7 @@ Content-length: %d\r
         try:
             url2 = "%s&loc=%s" % (self.device_uri.replace('hpfax:', 'hp:'), 
url)
             data = self
-            opener = LocalOpener_LEDM({})
+            opener = LocalOpener_LEDM()
             try:
                 if footer:
                     return opener.open_hp(url2, data, footer)
@@ -2579,7 +2579,7 @@ Content-length: %d\r
             url="/cdm/supply/v1/suppliesPublic"
             url2 = "%s&loc=%s" % (self.device_uri.replace('hpfax:', 'hp:'), 
url)
             data = self
-            opener = LocalOpener_CDM({})
+            opener = LocalOpener_CDM()
             try:
                 if footer:
                     return opener.open_hp(url2, data, footer)
@@ -2687,7 +2687,7 @@ Content-length: %d\r
 
 
 # URLs: 
hp:/usb/HP_LaserJet_3050?serial=00XXXXXXXXXX&loc=/hp/device/info_device_status.xml
-class LocalOpener(urllib_request.URLopener):
+class LocalOpener():
     def open_hp(self, url, dev):
         log.debug("open_hp(%s)" % url)
 
@@ -2717,7 +2717,7 @@ class LocalOpener(urllib_request.URLopener):
             return response#.fp
 
 # URLs: 
hp:/usb/HP_OfficeJet_7500?serial=00XXXXXXXXXX&loc=/hp/device/info_device_status.xml
-class LocalOpenerEWS_LEDM(urllib_request.URLopener):
+class LocalOpenerEWS_LEDM():
     def open_hp(self, url, dev, foot=""):
         log.debug("open_hp(%s)" % url)
 
@@ -2743,7 +2743,7 @@ class LocalOpenerEWS_LEDM(urllib_request.URLopener):
 
 
 # URLs: 
hp:/usb/HP_OfficeJet_7500?serial=00XXXXXXXXXX&loc=/hp/device/info_device_status.xml
-class LocalOpener_LEDM(urllib_request.URLopener):
+class LocalOpener_LEDM():
     def open_hp(self, url, dev, foot=""):
         log.debug("open_hp(%s)" % url)
 
@@ -2770,7 +2770,7 @@ class LocalOpener_LEDM(urllib_request.URLopener):
 
 
 # URLs: 
hp:/usb/HP_OfficeJet_7500?serial=00XXXXXXXXXX&loc=/hp/device/info_device_status.xml
-class LocalOpener_CDM(urllib_request.URLopener):
+class LocalOpener_CDM():
     def open_hp(self, url, dev, foot=""):
         log.debug("open_hp(%s)" % url)
         match_obj = http_pat_url.search(url)
-- 
2.52.0


++++++ Use-lsb_release-fallback-code-if-import-distro-fails.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:43.714908699 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:43.718908863 +0200
@@ -1,7 +1,7 @@
-From ba542439639453148ea804fc4e396534cd99abb9 Mon Sep 17 00:00:00 2001
+From 1f97ae55acde846513c8634966252865d4a134ca Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Mon, 2 Jan 2023 15:33:07 +0100
-Subject: [PATCH] Use lsb_release fallback code if "import distro" fails
+Subject: [PATCH 11/33] Use lsb_release fallback code if "import distro" fails
 
 With python 3.8, the standard python "platform" module doesn't
 provide the "dist()" function any more. The "distro" module is
@@ -14,10 +14,10 @@
  1 file changed, 8 insertions(+), 4 deletions(-)
 
 diff --git a/base/utils.py b/base/utils.py
-index 94d5c8c..458ddd8 100644
+index d176c0d..e8fe42c 100644
 --- a/base/utils.py
 +++ b/base/utils.py
-@@ -2519,10 +2519,14 @@ def get_distro_name(passwordObj = None):
+@@ -2551,10 +2551,14 @@ def get_distro_name(passwordObj = None):
              name = platform.dist()[0].lower()
              ver = platform.dist()[1]
          except AttributeError:
@@ -37,6 +37,6 @@
              found = False
              log.debug("Not able to detect distro")
 -- 
-2.39.0
+2.52.0
 
 

++++++ _scmsync.obsinfo ++++++
mtime: 1770148292
commit: 9fe62f807fb292b6d8b4e1e1b886816ff58e8b1bf88551ac265b565300a491c0
url: https://src.opensuse.org/mwilck/hplip
revision: factory

++++++ add-missing-includes-and-define-GNU_SOURCE.patch ++++++
>From 935b009caf6de3071675894f4756f99f8e3d46ff 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

---
 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(+)

diff --git a/common/utils.c b/common/utils.c
index d8ecee9..6f5cef9 100644
--- a/common/utils.c
+++ b/common/utils.c
@@ -1,9 +1,14 @@
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
 #include "utils.h"
 #include "string.h"
 #include <dlfcn.h>
 #include <sys/stat.h>
 #include <errno.h>
 #include <stdlib.h>
+#include <string.h>
 
 extern int errno;
 
diff --git a/io/hpmud/jd.c b/io/hpmud/jd.c
index 94474c8..f86f96a 100644
--- a/io/hpmud/jd.c
+++ b/io/hpmud/jd.c
@@ -31,6 +31,7 @@
 #endif
 
 #include <signal.h>
+#include <stdlib.h>
 #include "hpmud.h"
 #include "hpmudi.h"
 
diff --git a/protocol/hp_ipp.c b/protocol/hp_ipp.c
index 6e60ac0..e7d4b8c 100644
--- a/protocol/hp_ipp.c
+++ b/protocol/hp_ipp.c
@@ -18,6 +18,10 @@ Boston, MA 02110-1301, USA.
 
 
\******************************************************************************/
 
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
 #include <cups/cups.h>
 #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
--- a/scan/sane/bb_ledm.c
+++ b/scan/sane/bb_ledm.c
@@ -27,6 +27,7 @@
 # include "xml.h"
 # include <stdlib.h>
 
+# include <unistd.h>
 # include <stdint.h>
 
 # define _STRINGIZE(x) #x
diff --git a/scan/sane/sclpml.c b/scan/sane/sclpml.c
index 9a5975f..3250541 100644
--- a/scan/sane/sclpml.c
+++ b/scan/sane/sclpml.c
@@ -25,11 +25,16 @@
 
 
\************************************************************************************/
 
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
 #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


++++++ 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-02-03 20:59:03.000000000 +0100
@@ -0,0 +1,5 @@
+.osc
+*~
+\#*
+*.rej
+*.orig

++++++ dcheck.py-fix-crash-in-Qt4-version-check.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:43.850914291 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:43.854914456 +0200
@@ -1,7 +1,7 @@
-From 9a7ed59efcf645256f8a07f4fb71bf0f838e3838 Mon Sep 17 00:00:00 2001
+From ea881d92ac3a55d946514a0d8fef260bb2af2173 Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Sat, 9 Jan 2021 01:21:08 +0100
-Subject: [PATCH] dcheck.py: fix crash in Qt4 version check
+Subject: [PATCH 12/33] dcheck.py: fix crash in Qt4 version check
 
 On openSUSE, the "PyQt4" module may be available with no submodules.
 I.e. "import PyQt4" succeeds, wheras "from PyQt4 import QtCore" fails.
@@ -26,7 +26,7 @@
  1 file changed, 12 insertions(+), 4 deletions(-)
 
 diff --git a/installer/dcheck.py b/installer/dcheck.py
-index d684c10..6215b4b 100644
+index 2d1c413..6dd7d51 100644
 --- a/installer/dcheck.py
 +++ b/installer/dcheck.py
 @@ -300,8 +300,12 @@ def get_pyQt4_version():
@@ -60,6 +60,6 @@
  
  def get_reportlab_version():
 -- 
-2.29.2
+2.52.0
 
 

++++++ disable-hp-upgrade.patch ++++++
>From 1b1711f104b38c0b39e76098532846c20761e65b Mon Sep 17 00:00:00 2001
From: Martin Wilck <[email protected]>
Date: Tue, 3 Feb 2026 17:57:25 +0100
Subject: [PATCH 02/33] disable hp-upgrade

---
 upgrade.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/upgrade.py b/upgrade.py
index a3ea6b1..7f1750b 100755
--- a/upgrade.py
+++ b/upgrade.py
@@ -208,6 +208,11 @@ if os.geteuid() == 0:
 if os.getenv("HPLIP_DEBUG"):
     log.set_level('debug')
 
+
+log.info("HPLIP upgrade is disabled by openSUSE for security reasons, see 
https://bugzilla.suse.com/show_bug.cgi?id=853405 - if you like to upgrade 
HPLIP, use an openSUSE software package manager like YaST or zypper.")
+clean_exit(1)
+
+
 for o, a in opts:
     if o in ('-h', '--help'):
         usage()
-- 
2.52.0




++++++ hp-sendfax-avoid-crash-if-python-reportlab-is-missin.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:43.910916759 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:43.914916924 +0200
@@ -1,7 +1,7 @@
-From 8b1bbbb9a3659475367a6f58986ac8248576663b Mon Sep 17 00:00:00 2001
+From 2361ee7133810599690dd52f483fdcd943366cd0 Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Fri, 10 Jan 2020 14:44:51 +0100
-Subject: [PATCH] hp-sendfax: avoid crash if python-reportlab is missing
+Subject: [PATCH 10/33] hp-sendfax: avoid crash if python-reportlab is missing
 
 Avoids this crash:
 
@@ -35,6 +35,6 @@
  
      #
 -- 
-2.24.1
+2.52.0
 
 

++++++ hp_ipp.h-add-missing-prototypes.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:43.934917746 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:43.938917911 +0200
@@ -1,7 +1,7 @@
-From 10fe460cca9536dbb52c30fa8bec5c6a01e94ea0 Mon Sep 17 00:00:00 2001
+From 2092ec111169da87dde1be45f997e9cfd7311ab6 Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Fri, 15 Sep 2023 18:28:47 +0200
-Subject: [PATCH 09/19] hp_ipp.h: add missing prototypes
+Subject: [PATCH 09/33] hp_ipp.h: add missing prototypes
 
 ---
  protocol/hp_ipp.h | 6 ++++++
@@ -32,6 +32,6 @@
  HPIPP_RESULT parseResponseHeader(char* header, int *content_length, int 
*chunked, int* header_size);
  HPIPP_RESULT prepend_http_header(raw_ipp *raw_request,const char *resource);
 -- 
-2.42.0
+2.52.0
 
 

++++++ hpcups-fix-compilation-on-SLE12.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:43.950918404 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:43.958918733 +0200
@@ -1,7 +1,7 @@
-From e95a9cb2e946bec33d7f0afa04850f93ae258477 Mon Sep 17 00:00:00 2001
+From f0c9ccc3a4b1e58b977eb831a311a3c5973ce7e2 Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Wed, 7 May 2025 15:53:46 +0200
-Subject: [PATCH] hpcups: fix compilation on SLE12
+Subject: [PATCH 32/33] hpcups: fix compilation on SLE12
 
 SLE12-SP5 is not using C++11 by default, thus nullptr is not
 defined. NULL is used elsewhere in the file, so we can just
@@ -24,6 +24,6 @@
              }
          }   
 -- 
-2.49.0
+2.52.0
 
 

++++++ hpijs-avoid-segfault-in-DJGenericVIP-DJGenericVIP.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:43.970919226 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:43.982919720 +0200
@@ -1,7 +1,7 @@
-From ca4af49f2979610ff2c6818ebd0072432417ba95 Mon Sep 17 00:00:00 2001
+From dc200dc097ecff4b1573afcd76f2438754fffcd7 Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Fri, 1 Jun 2018 17:09:31 +0200
-Subject: [PATCH] hpijs: avoid segfault in DJGenericVIP::DJGenericVIP()
+Subject: [PATCH 05/33] hpijs: avoid segfault in DJGenericVIP::DJGenericVIP()
 
 DJGenericVIP::DJGenericVIP() doesn't treat an error from VerifyPenInfo() as
 fatal, but the superclass constructor DJ9xxVIP::DJ9xxVIP() does. This
@@ -69,6 +69,6 @@
  
      if (!proto && IOMode.bDevID)
 -- 
-2.17.0
+2.52.0
 
 

++++++ hplip-3.20.6-python-includes.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:43.998920378 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.006920707 +0200
@@ -1,8 +1,17 @@
-Index: b/configure.in
-===================================================================
+From 15c0c0a70812c6793b8d5b21f33d809c2ef586b0 Mon Sep 17 00:00:00 2001
+From: Martin Wilck <[email protected]>
+Date: Tue, 3 Feb 2026 17:57:27 +0100
+Subject: [PATCH 16/33] hplip 3.20.6 python includes
+
+---
+ configure.in | 36 +++++++++++++++++++++++-------------
+ 1 file changed, 23 insertions(+), 13 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index f1919cb..46e8ec3 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -628,20 +628,31 @@ if test "$class_driver" = "no" && test "
+@@ -630,20 +630,31 @@ if test "$class_driver" = "no" && test 
"$hpijs_only_build" = "no" && test "$hpcu
     fi
  fi
  
@@ -46,7 +55,7 @@
  if test "$class_driver" = "no" && test "$hpijs_only_build" = "no" && test 
"$lite_build" = "no" && test "$hpcups_only_build" = "no"; then
     AC_ARG_VAR([PYTHON], [Python interpreter/compiler command])
     AC_CHECK_PROGS(PYTHON,[python python3 python2])
-@@ -655,7 +666,6 @@ if test "$class_driver" = "no" && test "
+@@ -683,7 +694,6 @@ if test "$class_driver" = "no" && test "$hpijs_only_build" 
= "no" && test "$lite
     AS_IF([test "x$FOUND_HEADER" != "xyes"],
            [AC_MSG_ERROR([cannot find python-devel support], 6)])
  fi
@@ -54,4 +63,7 @@
  
  if test "$hpijs_only_build" = "no" && test "$scan_build" = "yes" && test 
"$hpcups_only_build" = "no"; then
     AC_CHECK_LIB([sane], [sane_open], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot 
find sane-backends-devel support (or --disable-scan-build)], 12)])
+-- 
+2.52.0
+
 

++++++ hplip-3.25.6.tar.gz -> hplip-3.26.4.tar.gz ++++++
/work/SRC/openSUSE:Factory/hplip/hplip-3.25.6.tar.gz 
/work/SRC/openSUSE:Factory/.hplip.new.2084/hplip-3.26.4.tar.gz differ: char 13, 
line 1

++++++ hplip-base-Fix-Found-No-Section-error-with-python-2..patch ++++++
>From 6ea289207f5805085bbe36f6e5d4cdb262717e02 Mon Sep 17 00:00:00 2001
From: Martin Wilck <[email protected]>
Date: Thu, 23 Jan 2025 16:47:10 +0100
Subject: [PATCH 30/33] hplip/base: Fix "Found No Section" error with python
 2.7.13

See https://bugs.launchpad.net/hplip/+bug/2095776
---
 base/g.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/base/g.py b/base/g.py
index 123c73e..e659213 100644
--- a/base/g.py
+++ b/base/g.py
@@ -137,8 +137,17 @@ class ConfigBase(object):
                     except Exception as e:
                         log.error(f"Reading file with read_file also failed. 
Error: {e}")
                 except configparser.MissingSectionHeaderError:
-                    print("")
-                    log.error("Found No Section in %s. Please set the http 
proxy for root and try again." % self.filename)
+                    fp.close()
+                    # Workaround for lp#2095776: skip leading whitespace in 
plugin.conf
+                    from StringIO import StringIO
+                    t0 = open(self.filename, "r").read()
+                    t0 = t0[t0.find("["): -1]
+                    fp = StringIO(t0)
+                    try:
+                        self.conf.readfp(fp)
+                    except Exception as e:
+                        print("")
+                        log.error("Found No Section in %s. Please set the http 
proxy for root and try again." % self.filename)
                 except (configparser.DuplicateOptionError):
                     log.warn("Found Duplicate Entery in %s" % self.filename)
                     self.CheckDuplicateEntries()
-- 
2.52.0


++++++ hplip-base-fix-error-in-ConfigBase-handling.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.070923339 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.074923504 +0200
@@ -1,7 +1,7 @@
-From 2a13a15b7f533606667e8586ff5ed736f038f2e8 Mon Sep 17 00:00:00 2001
+From 4aaaf3ce526ff27f7941631889f5edf7b2a1b044 Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Thu, 23 Jan 2025 12:47:43 +0100
-Subject: [PATCH 1/2] hplip/base: fix error in ConfigBase handling
+Subject: [PATCH 24/33] hplip/base: fix error in ConfigBase handling
 
 The code in question was apparently meant to handle the replacement
 of ConfigParser.readfp() by ConfigParser.read_file(). But the code
@@ -12,7 +12,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/base/g.py b/base/g.py
-index 0d1c986..c1f5d24 100644
+index 445372d..123c73e 100644
 --- a/base/g.py
 +++ b/base/g.py
 @@ -128,7 +128,7 @@ class ConfigBase(object):
@@ -25,6 +25,6 @@
                      log.error(f"Error: {e}. Retrying with read_file")
                      try:
 -- 
-2.48.1
+2.52.0
 
 

++++++ hplip-change-udev-rules.patch ++++++
>From 8d6273e18bac296a80593649e617628dc8eefc32 Mon Sep 17 00:00:00 2001
From: Martin Wilck <[email protected]>
Date: Tue, 3 Feb 2026 17:57:25 +0100
Subject: [PATCH 01/33] hplip: change udev rules

---
 data/rules/56-hpmud.rules | 30 ++++++++++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git a/data/rules/56-hpmud.rules b/data/rules/56-hpmud.rules
index 8311063..ec57f57 100644
--- a/data/rules/56-hpmud.rules
+++ b/data/rules/56-hpmud.rules
@@ -1,8 +1,31 @@
 # HPLIP udev rules file. Notify console user if plugin support is required for 
this device.
+#
+# SUSE changed:
+#
+# Exchanged the rule to GOTO hpmud_usb_rules if SUBSYSTEM is "usb"
+# with the rule if SUBSYSTEM is "ppdev" to avoid that the "ppdev" rule
+# is needlessly processed when SUBSYSTEM is "usb".
+#
+# Added GOTO hpmud_rules_end rule to skip the hpmud_usb_rules
+# if SUBSYSTEM is not "usb" or if ENV{DEVTYPE} is not "usb_device" or if 
SUBSYSTEM is not "ppdev"
+# to avoid that the hpmud_usb_rules are needlessly processed.
+#
+# The rule to automatically "check ... plugin status" is disabled
+# because automated installation of non-free proprietary third-party software
+# (here the plugin from HP) should not happen and it can cause whatever kind
+# of strange behaviour see for example https://bugs.launchpad.net/bugs/1197416
+# and https://bugs.launchpad.net/bugs/1221348
+# while in contrast manual printer setup via hp-setup usually "just works"
+# and it is clear for the user what goes on and in case of failure what went 
wrong.
+#
+# Because the rule to automatically "check ... plugin status"
+# is also used to upload firmware into printers that need it
+# see https://bugs.launchpad.net/bugs/1220628
+# a rule that only uploads firmware into printers that need it is added.
 
 ACTION!="add", GOTO="hpmud_rules_end"
-SUBSYSTEM=="ppdev", OWNER="root", GROUP="lp", MODE="0664"
 SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GOTO="hpmud_usb_rules"
+SUBSYSTEM=="ppdev", OWNER="root", GROUP="lp", MODE="0664"
 GOTO="hpmud_rules_end"
 
 LABEL="hpmud_usb_rules"
@@ -13,6 +36,9 @@ ENV{ID_USB_INTERFACES}=="", IMPORT{builtin}="usb_id"
 ATTR{idVendor}=="03f0", ENV{ID_USB_INTERFACES}=="*:0701??:*|*:ffcc00:", 
OWNER="root", GROUP="lp", MODE="0664", ENV{libsane_matched}="yes", 
ENV{hp_test}="yes", ENV{ID_HPLIP}="1"
 
 # 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}'"
+#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}"
 
 LABEL="hpmud_rules_end"
+
-- 
2.52.0


++++++ hplip-fix-driver-probing-using-avahi.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.106924820 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.110924984 +0200
@@ -1,7 +1,7 @@
-From d68d0748c4493ef3192e4f59756ece2bd2fbb004 Mon Sep 17 00:00:00 2001
+From 465a9cccbc48fb6f7b35d89851e0237556bd76da Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Tue, 19 Aug 2025 12:06:17 +0200
-Subject: [PATCH] hplip: fix driver probing using avahi
+Subject: [PATCH 27/33] hplip: fix driver probing using avahi
 
 - _printer._tcp doesn't work for my printer (HP Smart Tank 7300 series).
   mdns.py uses _pdl-datastream._tcp, which works.
@@ -58,6 +58,6 @@
                  bus = ['net']
  
 -- 
-2.50.1
+2.52.0
 
 

++++++ hplip-fix-handling-of-ConfigParser-.readfp-vs.-read_.patch ++++++
>From 29b5c15877f56c01992af5dd28a9ba6c896d5927 Mon Sep 17 00:00:00 2001
From: Martin Wilck <[email protected]>
Date: Tue, 3 Feb 2026 12:10:38 +0100
Subject: [PATCH 31/33] hplip: fix handling of ConfigParser().readfp() vs.
 read_file()

hplip 3.24.4 introduced code to handle the removal of the
ConfigParser.readfp() method in python. But this code was incorrect.
By trying to catch this with an exception, the handling of other possible
exceptions (configparser.DuplicateOptionError) was broken, because
these exceptions wouldn't be caught any more.

It's better to simply check for the availability of the "readfp"
attribute.

Moreover, fix the readfp()/read_file() calls in devmgr5.py as well.

Signed-off-by: Martin Wilck <[email protected]>
---
 base/g.py      | 15 +++++++--------
 ui4/devmgr5.py |  5 ++++-
 ui5/devmgr5.py |  5 ++++-
 3 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/base/g.py b/base/g.py
index e659213..b173985 100644
--- a/base/g.py
+++ b/base/g.py
@@ -128,14 +128,10 @@ class ConfigBase(object):
             try:
                 fp = open(self.filename, "r")
                 try:
-                    self.conf.readfp(fp)
-                except AttributeError as e:
-                    log.error(f"Error: {e}. Retrying with read_file")
-                    try:
-                        # Attempting to use read_file as a fallback
+                    if hasattr(self.conf, "readfp"):
+                        self.conf.readfp(fp)
+                    else:
                         self.conf.read_file(fp)
-                    except Exception as e:
-                        log.error(f"Reading file with read_file also failed. 
Error: {e}")
                 except configparser.MissingSectionHeaderError:
                     fp.close()
                     # Workaround for lp#2095776: skip leading whitespace in 
plugin.conf
@@ -144,7 +140,10 @@ class ConfigBase(object):
                     t0 = t0[t0.find("["): -1]
                     fp = StringIO(t0)
                     try:
-                        self.conf.readfp(fp)
+                        if hasattr(self.conf, "readfp"):
+                            self.conf.readfp(fp)
+                        else:
+                            self.conf.read_file(fp)
                     except Exception as e:
                         print("")
                         log.error("Found No Section in %s. Please set the http 
proxy for root and try again." % self.filename)
diff --git a/ui4/devmgr5.py b/ui4/devmgr5.py
index fc28445..d33fd06 100644
--- a/ui4/devmgr5.py
+++ b/ui4/devmgr5.py
@@ -1024,7 +1024,10 @@ class DevMgr5(QMainWindow,  Ui_MainWindow):
 
                 hplip_conf = configparser.ConfigParser()
                 fp = open("/etc/hp/hplip.conf", "r")
-                hplip_conf.readfp(fp)
+                if hasattr(hplip_conf, "readfp"):
+                    hplip_conf.readfp(fp)
+                else:
+                    hplip_conf.read_file(fp)
                 fp.close()
 
                 try:
diff --git a/ui5/devmgr5.py b/ui5/devmgr5.py
index 8a19840..0c3f1e4 100644
--- a/ui5/devmgr5.py
+++ b/ui5/devmgr5.py
@@ -1075,7 +1075,10 @@ class DevMgr5(Ui_MainWindow_Derived, Ui_MainWindow, 
QMainWindow):
 
                 hplip_conf = configparser.ConfigParser()
                 fp = open("/etc/hp/hplip.conf", "r")
-                hplip_conf.read_file(fp)
+                if hasattr(hplip_conf, "readfp"):
+                    hplip_conf.readfp(fp)
+                else:
+                    hplip_conf.read_file(fp)
                 fp.close()
 
                 try:
-- 
2.52.0


++++++ hplip-fix-python-crash-in-avahi.py.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.138926135 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.142926300 +0200
@@ -1,7 +1,7 @@
-From 5bdb75b1b3397abd58a69aba18c6aacf8d70df77 Mon Sep 17 00:00:00 2001
+From 0045bcf5646e6e24a7f1701dc91be722a93bfb73 Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Tue, 19 Aug 2025 23:38:24 +0200
-Subject: [PATCH] hplip: fix python crash in avahi.py
+Subject: [PATCH 28/33] hplip: fix python crash in avahi.py
 
 The avahi search method may crash on MDNS records that have
 an empty "details" field (field 9). This can happen e.g. for
@@ -24,6 +24,6 @@
                  port = bits[8]
                  # Run through the offered addresses and see if we have a 
bound local
 -- 
-2.50.1
+2.52.0
 
 

++++++ hplip-hpaio-avoid-C99-violations.patch ++++++
>From 1bfe28f76b82fd0627a6ad7185997fbcd973a4b5 Mon Sep 17 00:00:00 2001
From: Martin Wilck <[email protected]>
Date: Tue, 3 Feb 2026 18:01:09 +0100
Subject: [PATCH 23/33] hplip: hpaio: avoid C99 violations

---
 scan/sane/hpaio.c   |  2 +-
 scan/sane/orblite.c | 23 +++++++++++++----------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c
index 087efb1..2e52e19 100644
--- a/scan/sane/hpaio.c
+++ b/scan/sane/hpaio.c
@@ -379,7 +379,7 @@ extern SANE_Status sane_hpaio_get_devices(const SANE_Device 
***deviceList, SANE_
    ResetDeviceList(&DeviceList);
    DevDiscovery(localOnly);
    *deviceList = (const SANE_Device **)DeviceList;
-   SANE_Device*** devList;
+   const SANE_Device*** devListi = NULL;
    orblite_get_devices(devList, localOnly);
 
    return SANE_STATUS_GOOD;
diff --git a/scan/sane/orblite.c b/scan/sane/orblite.c
index 490ad82..177f5d4 100644
--- a/scan/sane/orblite.c
+++ b/scan/sane/orblite.c
@@ -64,28 +64,28 @@ SANE_Option_Descriptor      DefaultOrbOptions[] = {
                SANE_NAME_SCAN_TL_X, SANE_TITLE_SCAN_TL_X, SANE_DESC_SCAN_TL_X, 
 // name, title, desc
                SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, 
unit, size
                SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT,      // 
cap(ability)
-               SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeLeft  // 
constraint_type, constraint
+               SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeLeft  // 
constraint_type, constraint
        },
 
        {
                SANE_NAME_SCAN_TL_Y, SANE_TITLE_SCAN_TL_Y, SANE_DESC_SCAN_TL_Y, 
 // name, title, desc
                SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, 
unit, size
                SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT,      // 
cap(ability)
-               SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeTop  // 
constraint_type, constraint
+               SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeTop  // 
constraint_type, constraint
        },
   
        {
                SANE_NAME_SCAN_BR_X, SANE_TITLE_SCAN_BR_X, SANE_DESC_SCAN_BR_X, 
 // name, title, desc
                SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, 
unit, size
                SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT,      // 
cap(ability)
-               SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeRight  // 
constraint_type, constraint
+               SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeRight  // 
constraint_type, constraint
        },
 
        {
                SANE_NAME_SCAN_BR_Y, SANE_TITLE_SCAN_BR_Y, SANE_DESC_SCAN_BR_Y, 
 // name, title, desc
                SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, 
unit, size
                SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT,      // 
cap(ability)
-               SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeBottom  // 
constraint_type, constraint
+               SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeBottom  // 
constraint_type, constraint
        },
    
        // optResolution,                                       // resolution 
group  
@@ -93,7 +93,7 @@ SANE_Option_Descriptor        DefaultOrbOptions[] = {
                SANE_NAME_SCAN_RESOLUTION, SANE_TITLE_SCAN_RESOLUTION, 
SANE_DESC_SCAN_RESOLUTION, // name, title, desc
                SANE_TYPE_INT, SANE_UNIT_DPI, sizeof(SANE_Word),  // type, 
unit, size,
                SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT,      // 
cap(ability)
-               SANE_CONSTRAINT_WORD_LIST, (SANE_Char**)SANE_resolutions // 
constraint type, constraint
+               SANE_CONSTRAINT_WORD_LIST, (const SANE_Char**)SANE_resolutions 
// constraint type, constraint
        },
 
        // optMode,                                            // color/depth 
group
@@ -101,7 +101,7 @@ SANE_Option_Descriptor      DefaultOrbOptions[] = {
                SANE_NAME_SCAN_MODE, SANE_TITLE_SCAN_MODE, SANE_DESC_SCAN_MODE, 
// name, title, desc
                SANE_TYPE_STRING, SANE_UNIT_NONE, 256,  // type, unit, size,
                SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT,      // 
cap(ability)
-               SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_modes   // 
constraint type, constraint
+               SANE_CONSTRAINT_STRING_LIST, (const SANE_Char**)SANE_modes   // 
constraint type, constraint
        },
  
        // optSource, 
@@ -109,7 +109,7 @@ SANE_Option_Descriptor      DefaultOrbOptions[] = {
                SANE_NAME_SCAN_SOURCE, SANE_TITLE_SCAN_SOURCE, 
SANE_DESC_SCAN_SOURCE, // name, title, desc
                SANE_TYPE_STRING, SANE_UNIT_NONE, 256,  // type, unit, size,
                SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT,      // 
cap(ability)
-               SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_sources   // 
constraint type, constraint
+               SANE_CONSTRAINT_STRING_LIST, (const SANE_Char**)SANE_sources   
// constraint type, constraint
        },
  
        // optPaperSize, 
@@ -117,7 +117,7 @@ SANE_Option_Descriptor      DefaultOrbOptions[] = {
                SANE_NAME_PAPER_SIZE, SANE_TITLE_PAPER_SIZE, 
SANE_DESC_PAPER_SIZE, // name, title, desc
                SANE_TYPE_STRING, SANE_UNIT_NONE, 256,  // type, unit, size,
                SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT,      // 
cap(ability)
-               SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_paper_sizes   // 
constraint type, constraint
+               SANE_CONSTRAINT_STRING_LIST, (const 
SANE_Char**)SANE_paper_sizes   // constraint type, constraint
        },
  
        // optPaperSize, 
@@ -125,7 +125,7 @@ SANE_Option_Descriptor      DefaultOrbOptions[] = {
                SANE_NAME_PAPER_SIZE, SANE_TITLE_PAPER_SIZE, 
SANE_DESC_PAPER_SIZE, // name, title, desc
                SANE_TYPE_INT, SANE_UNIT_DPI, sizeof(SANE_Word),  // type, 
unit, size,
                SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT,      // 
cap(ability)
-               SANE_CONSTRAINT_WORD_LIST, (SANE_Char**)SANE_resolutions // 
constraint type, constraint
+               SANE_CONSTRAINT_WORD_LIST, (const SANE_Char**)SANE_resolutions 
// constraint type, constraint
        },
 #ifdef NOTDEF
 // default template
@@ -253,6 +253,7 @@ orblite_open (SANE_String_Const devicename, SANE_Handle * 
handle)
        SANE_Auth_Callback authorize;
        const SANE_Device *** device_list;
        SANE_Bool local_only;
+       void * temp_handle;
        
        
        // Allocate handle, set all handle values to zero
@@ -284,7 +285,9 @@ orblite_open (SANE_String_Const devicename, SANE_Handle * 
handle)
        if (stat != SANE_STATUS_GOOD)
                return stat;
 
-       stat = g_handle->bb_orblite_open(devicename, &g_handle);
+       temp_handle = g_handle;
+       stat = g_handle->bb_orblite_open(devicename, &temp_handle);
+       g_handle = temp_handle;
        if (stat == SANE_STATUS_GOOD)
                *handle = g_handle;
 
-- 
2.52.0


++++++ hplip-misc-missing-includes-and-definitions.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.174927616 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.178927780 +0200
@@ -1,7 +1,16 @@
-Index: hplip-3.20.9/scan/sane/http.c
-===================================================================
---- hplip-3.20.9.orig/scan/sane/http.c
-+++ hplip-3.20.9/scan/sane/http.c
+From 2833f857a2cf664071a8745d3c40b61581ce1e55 Mon Sep 17 00:00:00 2001
+From: Martin Wilck <[email protected]>
+Date: Tue, 3 Feb 2026 17:57:26 +0100
+Subject: [PATCH 08/33] hplip: misc missing includes and definitions
+
+---
+ scan/sane/http.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/scan/sane/http.c b/scan/sane/http.c
+index 800df91..ae5edf4 100644
+--- a/scan/sane/http.c
++++ b/scan/sane/http.c
 @@ -33,6 +33,7 @@
  
  #include <stdio.h>
@@ -10,4 +19,7 @@
  #include <string.h>
  #include <syslog.h>
  #include <ctype.h>
+-- 
+2.52.0
+
 

++++++ hplip-missing-drivers.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.210929096 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.218929425 +0200
@@ -1,7 +1,7 @@
-From eab655e0f8ab7c7520e0c60970d74e51b25c2061 Mon Sep 17 00:00:00 2001
+From c15938665bca226acd1af751d885e58d41d6298b Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Fri, 15 Sep 2023 18:31:38 +0200
-Subject: [PATCH 18/18] hplip: missing drivers
+Subject: [PATCH 18/33] hplip: missing drivers
 
 ---
  cups_drv.inc           |   2 +
@@ -10,10 +10,10 @@
  3 files changed, 486 insertions(+), 9 deletions(-)
 
 diff --git a/cups_drv.inc b/cups_drv.inc
-index 8a33bfe..dc38978 100644
+index 4a77af6..6612730 100644
 --- a/cups_drv.inc
 +++ b/cups_drv.inc
-@@ -414,6 +414,7 @@ cups_ppd_printers = \
+@@ -416,6 +416,7 @@ cups_ppd_printers = \
     ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \
     ppd/hpcups/hp-laserjet_cp1025.ppd.gz \
     ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \
@@ -21,7 +21,7 @@
     ppd/hpcups/hp-laserjet_m1005.ppd.gz \
     ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \
     ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \
-@@ -531,6 +532,7 @@ cups_ppd_printers = \
+@@ -534,6 +535,7 @@ cups_ppd_printers = \
     ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz \
     ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \
     ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \
@@ -30,7 +30,7 @@
     ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \
     ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \
 diff --git a/data/models/models.dat b/data/models/models.dat
-index a567fdd..ed89569 100644
+index faea8bc..aecd54a 100644
 --- a/data/models/models.dat
 +++ b/data/models/models.dat
 @@ -2104,7 +2104,7 @@ usb-pid=411
@@ -546,10 +546,10 @@
  align-type=0
  clean-type=0
 diff --git a/prnt/drv/hpcups.drv.in b/prnt/drv/hpcups.drv.in
-index 2829168..3c1377a 100644
+index 5e9730b..8865213 100644
 --- a/prnt/drv/hpcups.drv.in
 +++ b/prnt/drv/hpcups.drv.in
-@@ -23107,6 +23107,14 @@ Group "RLT/HP Real Life Technologies"
+@@ -23304,6 +23304,14 @@ Group "RLT/HP Real Life Technologies"
        Attribute "Product" "" "(HP LaserJet Professional p1102 Printer)"
        Attribute "Product" "" "(HP LaserJet Professional p1102s Printer)"
      }
@@ -564,7 +564,7 @@
      {
        ModelName "HP LaserJet Professional p1106"
        Attribute "NickName" "" "HP LaserJet Professional p1106, hpcups 
$Version"
-@@ -23541,6 +23549,14 @@ Group "RLT/HP Real Life Technologies"
+@@ -23738,6 +23746,14 @@ Group "RLT/HP Real Life Technologies"
        PCFileName "hp-laserjet_cp1025nw.ppd"
        Attribute "Product" "" "(HP LaserJet Pro cp1025nw Color Printer Series)"
      }
@@ -580,6 +580,6 @@
  } // End LJZjsColor (for proprietary plugin)
  
 -- 
-2.43.0
+2.52.0
 
 

++++++ hplip-orblite-return-null.patch ++++++
>From f10bf02187e7e2069bc401a0146a9c9deeec686f Mon Sep 17 00:00:00 2001
From: Martin Wilck <[email protected]>
Date: Tue, 3 Feb 2026 17:57:27 +0100
Subject: [PATCH 14/33] hplip: orblite: return null

---
 scan/sane/orblite.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scan/sane/orblite.c b/scan/sane/orblite.c
index ba86640..87c4de8 100644
--- a/scan/sane/orblite.c
+++ b/scan/sane/orblite.c
@@ -331,6 +331,7 @@ if (option >= optCount && option < optLast)
                return &g_handle->Options[option];
        }
        //return g_handle->bb_orblite_get_option_descriptor(g_handle, option);
+       return NULL;
 }
 
 
-- 
2.52.0


++++++ hplip-pserror-c99.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.250930741 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.254930906 +0200
@@ -1,9 +1,14 @@
-prnt/pserror.c: Replace an implicit int with an explicit int
+From 172b9b7b4fc55233015202f5d9a467674e8dcb3f Mon Sep 17 00:00:00 2001
+From: Martin Wilck <[email protected]>
+Date: Tue, 3 Feb 2026 17:57:28 +0100
+Subject: [PATCH 19/33] hplip: pserror c99
 
-Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
+---
+ prnt/hpps/pserror.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/prnt/hpps/pserror.c b/prnt/hpps/pserror.c
-index 114d7e1b5fa364fb..493b49c27917a7e6 100644
+index 114d7e1..493b49c 100644
 --- a/prnt/hpps/pserror.c
 +++ b/prnt/hpps/pserror.c
 @@ -24,7 +24,7 @@ extern char *program ;       /* Defined by main program, 
giving program name */
@@ -15,4 +20,7 @@
    char msgbuf[MAX_MESSAGE] ;  /* buffer in which to put the message */
    char *bufptr = msgbuf ;     /* message buffer pointer */
  
+-- 
+2.52.0
+
 

++++++ hplip-remove-imageprocessor.patch ++++++
>From 4ce96ef1d4ec67f6032b4e8e31839456b71b0a7e 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

---
 Makefile.am | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 5381a24..a03b2bf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -167,7 +167,7 @@ if !HPLIP_CLASS_DRIVER
 dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
 endif #HPLIP_CLASS_DRIVER
 
-dist_noinst_DATA += prnt/drv/hpijs.drv.in.template 
prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so 
prnt/hpcups/libImageProcessor-x86_32.so
+dist_noinst_DATA += prnt/drv/hpijs.drv.in.template 
prnt/drv/hpcups.drv.in.template
 
 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)
-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
 
 install-data-hook:
 if HPLIP_BUILD
-       if [ \( "$(UNAME)" = "x86_64" -a  -d "$(libdir)/" \) ]; then \
-               cp prnt/hpcups/libImageProcessor-x86_64.so $(libdir)/ ; \
-               chmod 775 $(libdir)/libImageProcessor-x86_64.so ; \
-               ln -sf $(libdir)/libImageProcessor-x86_64.so 
$(libdir)/libImageProcessor.so ; \
-       fi; \
-       if [ \( \( "$(UNAME)" = "i686" -o "$(UNAME)" = "i386" \) -a -d 
"$(libdir)/" \) ]; then \
-               cp prnt/hpcups/libImageProcessor-x86_32.so $(libdir)/ ; \
-               chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
-               ln -sf $(libdir)/libImageProcessor-x86_32.so 
$(libdir)/libImageProcessor.so ; \
-       fi
        if [ -d "/usr/share/ipp-usb/quirks/" ]; then \
                echo "ipp-usb directory exists"; \
                cp prnt/ipp-usb/HPLIP.conf /usr/share/ipp-usb/quirks/ ; \
-- 
2.52.0


++++++ hplip-sane-fix-compilation-with-gcc-15.patch ++++++
>From 2b10c4e48befdb14a1271929adc310eefdd080ed Mon Sep 17 00:00:00 2001
From: Martin Wilck <[email protected]>
Date: Wed, 7 May 2025 15:28:19 +0200
Subject: [PATCH 29/33] hplip/sane: fix compilation with gcc 15

bugs.launchpad.net/hplip/+bug/2096650

src.fedoraproject.org/rpms/hplip/blob/f42/f/hplip-gcc15-stdc23.patch
---
 scan/sane/ledmi.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scan/sane/ledmi.h b/scan/sane/ledmi.h
index a987c5d..484ff34 100644
--- a/scan/sane/ledmi.h
+++ b/scan/sane/ledmi.h
@@ -162,7 +162,7 @@ struct ledm_session
 int bb_open(struct ledm_session*);
 int bb_close(struct ledm_session*);
 int bb_get_parameters(struct ledm_session*, SANE_Parameters*, int);
-int bb_is_paper_in_adf();         /* 0 = no paper in adf, 1 = paper in adf, -1 
= error */
+int bb_is_paper_in_adf(struct ledm_session *);         /* 0 = no paper in adf, 
1 = paper in adf, -1 = error */
 SANE_Status bb_start_scan(struct ledm_session*);
 int bb_get_image_data(struct ledm_session*, int); 
 int bb_end_page(struct ledm_session*, int);
-- 
2.52.0


++++++ hplip-scan-hpaio-include.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.318933538 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.322933702 +0200
@@ -1,12 +1,14 @@
-scam/sane/hpaio.c: Include orblite.h for more function prototypes
+From c7421d6de605b1ebbef5664551b33ed0d4db60fd Mon Sep 17 00:00:00 2001
+From: Martin Wilck <[email protected]>
+Date: Tue, 3 Feb 2026 17:57:28 +0100
+Subject: [PATCH 20/33] hplip: scan-hpaio-include
 
-Otherwise the build fails with compilers which do not support
-implicit function declarations.
-
-Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
+---
+ scan/sane/hpaio.c | 1 +
+ 1 file changed, 1 insertion(+)
 
 diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c
-index d342626822fc2190..57d1ddea32fb5816 100644
+index 62d14eb..087efb1 100644
 --- a/scan/sane/hpaio.c
 +++ b/scan/sane/hpaio.c
 @@ -50,6 +50,7 @@
@@ -17,4 +19,7 @@
  #include "orblitei.h"
  
  
+-- 
+2.52.0
+
 

++++++ hplip-scan-orblite-c99.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.338934360 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.342934525 +0200
@@ -1,13 +1,14 @@
-scan/sane/orblite: Include <dflcn.h> for function prototypes
+From b9b39dc4520da4841ab61503ac8429d1ecf5415e Mon Sep 17 00:00:00 2001
+From: Martin Wilck <[email protected]>
+Date: Tue, 3 Feb 2026 17:57:28 +0100
+Subject: [PATCH 21/33] hplip: scan-orblite-c99
 
-This is required for C99 compatibility.  Also delete the unused
-bb_unload function because it calls a call to the undefined
-_DBG function/macro.
-
-Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
+---
+ scan/sane/orblite.c | 22 +---------------------
+ 1 file changed, 1 insertion(+), 21 deletions(-)
 
 diff --git a/scan/sane/orblite.c b/scan/sane/orblite.c
-index ba86640c7528fc9c..ac59dda9c2dba593 100644
+index 87c4de8..490ad82 100644
 --- a/scan/sane/orblite.c
 +++ b/scan/sane/orblite.c
 @@ -20,6 +20,7 @@
@@ -46,4 +47,7 @@
  SANE_Status 
  orblite_init (SANE_Int * version_code, SANE_Auth_Callback authorize)
  {
+-- 
+2.52.0
+
 

++++++ hplip-sclpml-strcasestr.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.358935183 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.362935347 +0200
@@ -1,14 +1,17 @@
-Kludge to support building C99 mode.  This should no longer be needed
-once glibc declares strcasestr by default, and not just with
--D_GNU_SOURCE.
+From 62fefeeef8cd3dff5b25167d6e9060ac85707e6b Mon Sep 17 00:00:00 2001
+From: Martin Wilck <[email protected]>
+Date: Tue, 3 Feb 2026 17:57:28 +0100
+Subject: [PATCH 22/33] hplip: sclpml-strcasestr
 
-Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875>
+---
+ scan/sane/sclpml.c | 3 +++
+ 1 file changed, 3 insertions(+)
 
 diff --git a/scan/sane/sclpml.c b/scan/sane/sclpml.c
-index dc8b32ce02ad1202..f2cacd53e86800ce 100644
+index 3250541..97fa608 100644
 --- a/scan/sane/sclpml.c
 +++ b/scan/sane/sclpml.c
-@@ -47,6 +47,9 @@
+@@ -51,6 +51,9 @@
  #define DEBUG_DECLARE_ONLY
  #include "sanei_debug.h"
  
@@ -18,4 +21,7 @@
  //# define  SCLPML_DEBUG
  # ifdef SCLPML_DEBUG
     # define _DBG(args...) syslog(LOG_INFO, __FILE__ " " STRINGIZE(__LINE__) 
": " args)
+-- 
+2.52.0
+
 

++++++ hplip-udev-rules-in-usr.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.382936170 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.386936334 +0200
@@ -1,8 +1,17 @@
-Index: hplip-3.20.9/Makefile.am
-===================================================================
---- hplip-3.20.9.orig/Makefile.am
-+++ hplip-3.20.9/Makefile.am
-@@ -137,7 +137,7 @@ dist_rulessystem_DATA =data/rules/hplip-
+From 5e4a9b9cfc3f4afb936c458bf7299633afe6dd46 Mon Sep 17 00:00:00 2001
+From: Martin Wilck <[email protected]>
+Date: Tue, 3 Feb 2026 17:57:25 +0100
+Subject: [PATCH 03/33] hplip: udev rules in usr
+
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 605744a..5381a24 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -137,7 +137,7 @@ dist_rulessystem_DATA =data/rules/[email protected]
  
  # hpmud.rules
  if !HPLIP_CLASS_DRIVER
@@ -11,4 +20,7 @@
  if UDEV_SYSFS_RULES
  dist_rules_DATA = data/rules/56-hpmud_sysfs.rules
  else
+-- 
+2.52.0
+
 

++++++ hplip-utils-Fix-plugin-verification-with-sha256.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.402936992 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.406937157 +0200
@@ -1,7 +1,7 @@
-From 8d14912a48e589bee05e0c377c29218132083145 Mon Sep 17 00:00:00 2001
+From 81e1d025b161f82bf3e24ae0710b5488ae2d689a Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Wed, 7 May 2025 15:23:17 +0200
-Subject: [PATCH] hplip/utils: Fix plugin verification with sha256
+Subject: [PATCH 25/33] hplip/utils: Fix plugin verification with sha256
 
 https://bugs.launchpad.net/hplip/+bug/2110100
 ---
@@ -24,7 +24,7 @@
  
      #Validate Digital Signature
 diff --git a/base/utils.py b/base/utils.py
-index d5b3a49..f9de94e 100644
+index 6f1412d..24bcc6d 100644
 --- a/base/utils.py
 +++ b/base/utils.py
 @@ -72,8 +72,18 @@ import hashlib
@@ -64,6 +64,6 @@
  
          #Validate Digital Signatures
 -- 
-2.49.0
+2.52.0
 
 


++++++ pcardext-python3-fixes.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.438938473 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.446938802 +0200
@@ -1,17 +1,17 @@
-From 74ed15a16e7564d0665afc68defbd6d03bdff21d Mon Sep 17 00:00:00 2001
+From 0e635e8c5d97b4ab86a16678c38cd43c8086679e Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Wed, 21 Mar 2018 23:55:12 +0100
-Subject: [PATCH] pcardext: python3 fixes
+Subject: [PATCH 07/33] pcardext: python3 fixes
 
 ---
  pcard/pcardext/pcardext.c | 36 ++++++++++++++++++++++++++++++++++--
  1 file changed, 34 insertions(+), 2 deletions(-)
 
 diff --git a/pcard/pcardext/pcardext.c b/pcard/pcardext/pcardext.c
-index c1a8273e4359..cdf260d62223 100644
+index 131e5e9..e1eb3e1 100644
 --- a/pcard/pcardext/pcardext.c
 +++ b/pcard/pcardext/pcardext.c
-@@ -36,6 +36,12 @@ typedef int Py_ssize_t;
+@@ -39,6 +39,12 @@ typedef int Py_ssize_t;
  #define PY_SSIZE_T_MIN INT_MIN
  #endif
  
@@ -24,7 +24,7 @@
  int verbose=0;
  
  PyObject * readsectorFunc = NULL;
-@@ -78,8 +84,11 @@ int WriteSector(int sector, int nsector, void *buf, int 
size )
+@@ -81,8 +87,11 @@ int WriteSector(int sector, int nsector, void *buf, int 
size )
      
      if( writesectorFunc )
      {
@@ -37,7 +37,7 @@
          return PyInt_AS_LONG( result );
      }
  
-@@ -230,9 +239,31 @@ static PyMethodDef pcardext_methods[] =
+@@ -233,9 +242,31 @@ static PyMethodDef pcardext_methods[] =
      { NULL, NULL }
  };  
  
@@ -70,13 +70,13 @@
  void initpcardext( void )
  {
      PyObject * mod = Py_InitModule4( "pcardext", pcardext_methods, 
-@@ -243,4 +274,5 @@ void initpcardext( void )
+@@ -246,4 +277,5 @@ void initpcardext( void )
        return;
  }
  
 +#endif
  
 -- 
-2.16.1
+2.52.0
 
 

++++++ ui5-systemtray-wait-only-10s-for-system-tray.patch ++++++
--- /var/tmp/diff_new_pack.0xZJb0/_old  2026-05-25 21:52:44.470939788 +0200
+++ /var/tmp/diff_new_pack.0xZJb0/_new  2026-05-25 21:52:44.478940117 +0200
@@ -1,7 +1,7 @@
-From 92ddbb36e2a589fe4d1cf27c30b67a1bb12bf9dc Mon Sep 17 00:00:00 2001
+From 158a81abdd16a9fe05869de1b76baa1075f8a7bd Mon Sep 17 00:00:00 2001
 From: Martin Wilck <[email protected]>
 Date: Fri, 16 Nov 2018 11:00:44 +0100
-Subject: [PATCH] ui5/systemtray: wait only 10s for system tray
+Subject: [PATCH 06/33] ui5/systemtray: wait only 10s for system tray
 
 On GNOME >= 3.26, it will never show up. This may cause hangs on
 logout if users log in and log out quickly again.
@@ -10,7 +10,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/ui5/systemtray.py b/ui5/systemtray.py
-index a0cdaf1..101807a 100644
+index 28078cf..96ec37c 100644
 --- a/ui5/systemtray.py
 +++ b/ui5/systemtray.py
 @@ -841,7 +841,7 @@ def run(read_pipe):
@@ -23,6 +23,6 @@
              break
          time.sleep(1.0)
 -- 
-2.21.0
+2.52.0
 
 

Reply via email to