Compare commits
2 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 0e36a88b3f | |||
| 0d27ced5bc |
28
hp-setup-fix-python-crash-when-manually-importing-gz.patch
Normal file
28
hp-setup-fix-python-crash-when-manually-importing-gz.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
From 216b15eb68bd5cacd26ff554e244fc4ea50a1acf Mon Sep 17 00:00:00 2001
|
||||
From: Martin Wilck <mwilck@suse.com>
|
||||
Date: Fri, 15 Aug 2025 23:10:44 +0200
|
||||
Subject: [PATCH 1/2] hp-setup: fix python crash when manually importing
|
||||
gzipped PPD
|
||||
|
||||
data read from gzip.GzipFile must be converted to a string, otherwise
|
||||
the subsequent regex match will cause a python stacktrace.
|
||||
---
|
||||
setup.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 2608f95..962909b 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -552,7 +552,7 @@ else: # INTERACTIVE_MODE
|
||||
if os.path.exists(file_path) and os.path.isfile(file_path):
|
||||
|
||||
if file_path.endswith('.gz'):
|
||||
- nickname = gzip.GzipFile(file_path, 'r').read(4096)
|
||||
+ nickname = gzip.GzipFile(file_path, 'r').read(4096).decode("utf-8")
|
||||
else:
|
||||
nickname = open(file_path, 'r').read(4096)
|
||||
|
||||
--
|
||||
2.50.1
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e872ff28eb2517705a95f6e1839efa1e50a77a33aae8905278df2bd820919653
|
||||
size 30371001
|
||||
@@ -1,6 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iF0EABECAB0WIQRKui9m29WpWJSRDgZz13DNpZBHuQUCZ8BY1gAKCRBz13DNpZBH
|
||||
uS2IAKCA8szJDmNmB9LOn9gqvQtZNKLZGwCgnWs/NEryaAJrtevXQxRtmBn+VeA=
|
||||
=dcBZ
|
||||
-----END PGP SIGNATURE-----
|
||||
BIN
hplip-3.25.6.tar.gz
LFS
Normal file
BIN
hplip-3.25.6.tar.gz
LFS
Normal file
Binary file not shown.
11
hplip-3.25.6.tar.gz.asc
Normal file
11
hplip-3.25.6.tar.gz.asc
Normal file
@@ -0,0 +1,11 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iQEcBAABCAAGBQJoekszAAoJEF5OTSSjTs1XCjUH/3W/RawreKnt4IuIqUqHMTJn
|
||||
haeiPj/jdArhbxreCjvYk3Z91VXJ4n2pyVWAwhW8ZKmSzdubDOEUrSs1fiRLF1qe
|
||||
y/wmCSmDF+ZcQu7/QfLDhZQI7I7IOFKNGTNNlWh1z3HpnHqBywPusM8ej8EgEb76
|
||||
6tGLlNuo8ykFDAQNJAPCN/qexj/LUs+p/s4lhpkNa+A7OIhBmQkfwscHXXrhf67f
|
||||
slavMnkCKbccegOtd9+i2NggtwkJDeNqZfgq6J7yXSxAm8jJjdAgJkqLmc9Vkxku
|
||||
GuUkQffIlHeDKj6jKg8Og+oAeRShLf6rxlFIB/PedJ9bjbZwUZDHUd80dHlAFWU=
|
||||
=VrP+
|
||||
-----END PGP SIGNATURE-----
|
||||
83
hplip-hardcode-new-signing-key-AC69536A2CF3A243.patch
Normal file
83
hplip-hardcode-new-signing-key-AC69536A2CF3A243.patch
Normal file
@@ -0,0 +1,83 @@
|
||||
From b862d309e533c3272795119bfb706a1cc11d4727 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Wilck <mwilck@suse.com>
|
||||
Date: Fri, 15 Aug 2025 23:12:13 +0200
|
||||
Subject: [PATCH 2/2] hplip: hardcode new signing key AC69536A2CF3A243
|
||||
|
||||
hplip as introduced a new GPG key with fingerprint for 3.25.6:
|
||||
|
||||
82FF A7C6 AA74 11D9 34BD E173 AC69 536A 2CF3 A243
|
||||
|
||||
See https://developers.hp.com/hp-linux-imaging-and-printing/hplipDigitalCertificate.html
|
||||
|
||||
This key doesn't seem to be on public keyservers yet.
|
||||
For now, simply hardcode the public key in hplip. It's the same
|
||||
key with which the hplip code is signed, anyway.
|
||||
---
|
||||
base/validation.py | 50 +++++++++++++++++++++++++++++++++++++++++++---
|
||||
1 file changed, 47 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/base/validation.py b/base/validation.py
|
||||
index d555f12..a2e5540 100644
|
||||
--- a/base/validation.py
|
||||
+++ b/base/validation.py
|
||||
@@ -83,10 +83,54 @@ class GPG_Verification(DigiSign_Verification):
|
||||
|
||||
def __acquire_gpg_key(self):
|
||||
|
||||
- cmd = '%s --homedir %s --no-permission-warning --keyserver %s --recv-keys 0x%X' \
|
||||
- % (self.__gpg, self.__gpg_dir, self.__pgp_site, self.__key)
|
||||
+ key_AC69536A2CF3A243 = """
|
||||
+-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
- log.info("Receiving digital keys: %s" % cmd)
|
||||
+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
|
||||
+6saq
|
||||
+=EWRb
|
||||
+-----END PGP PUBLIC KEY BLOCK-----
|
||||
+"""
|
||||
+
|
||||
+ import tempfile
|
||||
+ tf = tempfile.NamedTemporaryFile(mode='w', delete=False, encoding='utf-8')
|
||||
+ tf.write(key_AC69536A2CF3A243)
|
||||
+ tf.close()
|
||||
+
|
||||
+ cmd = '%s --homedir %s --import %s' \
|
||||
+ % (self.__gpg, self.__gpg_dir, tf.name)
|
||||
+
|
||||
+ log.info("Importing digital keys: %s" % cmd)
|
||||
status, output = utils.run(cmd)
|
||||
log.debug(output)
|
||||
|
||||
--
|
||||
2.50.1
|
||||
|
||||
79
hplip-no-urlopener.patch
Normal file
79
hplip-no-urlopener.patch
Normal file
@@ -0,0 +1,79 @@
|
||||
diff --git a/base/device.py b/base/device.py
|
||||
index 2fdb29c..ca0d97e 100644
|
||||
--- a/base/device.py
|
||||
+++ b/base/device.py
|
||||
@@ -2526,9 +2526,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)
|
||||
@@ -2548,7 +2548,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)
|
||||
@@ -2563,7 +2563,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)
|
||||
@@ -2580,7 +2580,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)
|
||||
@@ -2688,7 +2688,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)
|
||||
|
||||
@@ -2718,7 +2718,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)
|
||||
|
||||
@@ -2744,7 +2744,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)
|
||||
|
||||
@@ -2771,7 +2771,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)
|
||||
@@ -1,3 +1,41 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 15 21:38:25 UTC 2025 - Martin Wilck <mwilck@suse.com>
|
||||
|
||||
- Fix verification of HP plugin with new GPG key (lp#2120738)
|
||||
* add hplip-hardcode-new-signing-key-AC69536A2CF3A243.patch
|
||||
- Fix python crash in hp-setup on compressed PPD file (lp#2120739)
|
||||
* add hp-setup-fix-python-crash-when-manually-importing-gz.patch
|
||||
- Fix missing urllib.URLopener in python 3.14 (lp#2115046)
|
||||
* add hplip-no-urlopener.patch
|
||||
- Only run cupstestppd if explicitly requested with "--with testppd"
|
||||
build parameter
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 15 15:59:19 UTC 2025 - Martin Wilck <mwilck@suse.com>
|
||||
|
||||
- Updated hplip gpg public key
|
||||
fingerprint: 82FF A7C6 AA74 11D9 34BD E173 AC69 536A 2CF3 A243
|
||||
https://developers.hp.com/hp-linux-imaging-and-printing/hplipDigitalCertificate.html
|
||||
|
||||
- Update to hplip 3.25.6
|
||||
- Added support for new printers:
|
||||
* HP LaserJet Enterprise Flow MFP 8601z
|
||||
* HP LaserJet Pro MFP M126a plus
|
||||
* HP LaserJet Pro MFP M126nw plus
|
||||
* HP LaserJet Pro MFP M126snw plus
|
||||
* HP Envy Photo 7200 series
|
||||
* HP Envy Photo 7900 series
|
||||
* HP OfficeJet Pro 9110 Series
|
||||
* HP OfficeJet 9120 Series
|
||||
* HP OfficeJet Pro 9120 Series
|
||||
* HP OfficeJet Pro 9130 Series
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 14 19:57:37 UTC 2025 - Lubos Kocman <lubos.kocman@suse.com>
|
||||
|
||||
- Disable hp-scan-utils on Leap 16.0
|
||||
Leap does not want to ship scikit-image -> python-pandas
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 15 17:52:47 UTC 2025 - Martin Wilck <mwilck@suse.com>
|
||||
|
||||
|
||||
@@ -1,39 +1,37 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v2.0.18 (GNU/Linux)
|
||||
|
||||
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
|
||||
=lgaV
|
||||
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
|
||||
6saq
|
||||
=EWRb
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
|
||||
73
hplip.spec
73
hplip.spec
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package hplip
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC and contributors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -36,6 +36,17 @@
|
||||
%global make_install make DESTDIR=%{buildroot} V=1 install
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} == 1600 && 0%{?is_opensuse}
|
||||
# Build without scanning support
|
||||
%bcond_with scan_utils
|
||||
%else
|
||||
# Build scanning support
|
||||
%bcond_without scan_utils
|
||||
%endif
|
||||
|
||||
# Run cupstestppd on the generated PPDs (prints many warnings)
|
||||
%bcond_with testppd
|
||||
|
||||
%if 0%{use_qt5}
|
||||
%global config_qt_opts --disable-qt4 --enable-qt5
|
||||
%global requires_qt %{pymod qt5}
|
||||
@@ -47,7 +58,7 @@
|
||||
%endif
|
||||
|
||||
Name: hplip
|
||||
Version: 3.25.2
|
||||
Version: 3.25.6
|
||||
Release: 0
|
||||
Summary: HP's Printing, Scanning, and Faxing Software
|
||||
License: BSD-3-Clause AND GPL-2.0-or-later AND MIT
|
||||
@@ -119,6 +130,12 @@ Patch604: hplip-sclpml-strcasestr.patch
|
||||
Patch605: hplip-hpaio-gcc14.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#2120738
|
||||
Patch609: hplip-hardcode-new-signing-key-AC69536A2CF3A243.patch
|
||||
# lp#2115046
|
||||
Patch610: hplip-no-urlopener.patch
|
||||
# PATCH-FIX-UPSTREAM https://bugs.launchpad.net/hplip/+bug/2096650
|
||||
Patch651: hplip-3.24.4-gcc15.patch
|
||||
# Compatibility patches for old SUSE releases
|
||||
@@ -196,6 +213,8 @@ Requires: foomatic-filters
|
||||
Requires: ghostscript
|
||||
# hp-plugin requries lsb_release
|
||||
Requires: lsb-release
|
||||
# hp-plugin installation fails without /etc/sane/dll.conf
|
||||
Requires: sane-backends
|
||||
Requires(post): %{_bindir}/find
|
||||
Requires(post): /bin/grep
|
||||
Requires(post): /bin/sed
|
||||
@@ -211,6 +230,12 @@ Obsoletes: hplip3 < 3.9.5
|
||||
# This causes the "postscriptdriver" provides to be generated.
|
||||
# To avoid that, put "Ignore: cups-devel: cups-rpm-helper in the prjconf.
|
||||
|
||||
# Make sure we obsolete old scan-utils
|
||||
# in case we're built without scan_utils
|
||||
%if %{without scan_utils}
|
||||
Obsoletes: hplip-scan-utils < %{version}
|
||||
%endif
|
||||
|
||||
%description
|
||||
The Hewlett-Packard Linux Imaging and Printing project (HPLIP) provides
|
||||
a unified single and multifunction connectivity solution for HP
|
||||
@@ -309,6 +334,7 @@ Supplements: (%{name}-hpijs and sane-backends)
|
||||
This package includes the backend driver for scanning with HP scanners
|
||||
and all-in-one devices using SANE tools like xsane or scanimage.
|
||||
|
||||
%if %{with scan_utils}
|
||||
%package scan-utils
|
||||
Summary: HPLIP scanning frontends hp-scan and hp-uiscan
|
||||
# SLE does not provide python-pillow (PIL) (bsc#1131613)
|
||||
@@ -327,6 +353,7 @@ Obsoletes: %{name}-scan < %{version}-%{release}
|
||||
This package provides the "hp-scan" and "hp-uiscan" frontend utilities. These
|
||||
utilities are alternatives to the SANE frontends "xsane" and "scanimage". They
|
||||
expose some advanced features of certain HP scanner models.
|
||||
%endif
|
||||
|
||||
%package udev-rules
|
||||
Summary: HPLIP udev rules
|
||||
@@ -391,6 +418,9 @@ This sub-package is only required by developers.
|
||||
%patch -P 605 -p1
|
||||
%patch -P 606 -p1
|
||||
%patch -P 607 -p1
|
||||
%patch -P 608 -p1
|
||||
%patch -P 609 -p1
|
||||
%patch -P 610 -p1
|
||||
%patch -P 651 -p1
|
||||
%if 0%{?suse_version} < 1500
|
||||
# python2 compatibility
|
||||
@@ -553,29 +583,13 @@ done
|
||||
# Final test by cupstestppd:
|
||||
# To save disk space gzip the files (gzipped PPDs can also be used by CUPS).
|
||||
# Future goal: Only have files which don't FAIL for cupstestppd.
|
||||
# Ignore FAILs because of errors in UIConstraints and/or NonUIConstraints
|
||||
# which are detected since cupstestppd in CUPS > 1.2.7 (i.e. in openSUSE 10.3).
|
||||
# See Novell/Suse Bugzilla bug #309822: When this bug is fixed, cupstestppd would
|
||||
# no longer result zero exit code.
|
||||
# In the long run the PPDs should be fixed but as far as we know there have been
|
||||
# no problems because of such UIConstraints errors so that it should be o.k.
|
||||
# let those PPDs pass even if they are not strictly compliant.
|
||||
# Ignore FAILs because of missing cupsFilter programs because
|
||||
# in the package build environment the usual HPLIP filters
|
||||
# like "hpcups" and "hpcupsfax" are
|
||||
# installed at an unusual place (in the BuildRoot directory).
|
||||
# For now keep all PPDs even if cupstestppd FAILs.
|
||||
# Reason:
|
||||
# With each CUPS version upgrade cupstestppd finds more and more errors
|
||||
# so that more and more PPDs would be no longer included in the RPM
|
||||
# which have been included before which results a regression.
|
||||
# As far as we know there have been no problems at all because of
|
||||
# not strictly compliant PPDs in HPLIP so that it is much better
|
||||
# to provide all HPLIP PPDs so that the matching printers can be used
|
||||
# than to be rigorous regarding enforcing compliance to the PPD specification:
|
||||
echo "Final testing by cupstestppd..."
|
||||
# Update 2025-08-15: this goal is unrealistic. Skip the testppd step unless
|
||||
# explicitly enabled with --with testppd
|
||||
for p in *.ppd
|
||||
do grep -E -v '^\*UIConstraints:|^\*NonUIConstraints:|^\*cupsFilter:' $p | cupstestppd - || true
|
||||
do
|
||||
%if %{with testppd}
|
||||
grep -E -v '^\*UIConstraints:|^\*NonUIConstraints:|^\*cupsFilter:' $p | cupstestppd - || true
|
||||
%endif
|
||||
gzip -n -9 $p
|
||||
done
|
||||
echo "Moving PPDs that use the hpps filter to %{_datadir}/cups/model/manufacturer-PPDs/hplip-hpps..."
|
||||
@@ -639,6 +653,15 @@ find "%{buildroot}" -type f -name "*.la" -delete -print
|
||||
# so that fdupes can only run for specific directories where linking files is safe:
|
||||
%fdupes -s %{buildroot}%{_datadir}/hplip/data/images
|
||||
|
||||
# Ensure we have no unpackaged files if build
|
||||
# without scan-util
|
||||
%if !%{with scan_utils}
|
||||
rm -f %{buildroot}%{_bindir}/hp-scan
|
||||
rm -f %{buildroot}%{_bindir}/hp-uiscan
|
||||
rm -f %{buildroot}%{python_sitearch}/scanext.so
|
||||
rm -f %{buildroot}%{_datadir}/applications/hp-uiscan.desktop
|
||||
%endif
|
||||
|
||||
%post -p /bin/bash
|
||||
%udev_rules_update
|
||||
%desktop_database_post
|
||||
@@ -733,6 +756,7 @@ exit 0
|
||||
%exclude %{_datadir}/hplip/base/__pycache__/imageprocessing.*
|
||||
%exclude %{_datadir}/hplip/%{ui_dir}/__pycache__/scandialog.*
|
||||
|
||||
%if %{with scan_utils}
|
||||
# The scanning utils depend on PIL and python3-scikit-image,
|
||||
# which are not available in SLE
|
||||
%files scan-utils
|
||||
@@ -751,6 +775,7 @@ exit 0
|
||||
%{_datadir}/hplip/base/__pycache__/imageprocessing.*
|
||||
%{_datadir}/hplip/%{ui_dir}/__pycache__/scandialog.*
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%files hpijs
|
||||
%config %{_sysconfdir}/hp/
|
||||
|
||||
Reference in New Issue
Block a user