Browse Source

hplip-3.18.12-1

Tomohiro "Tomo-p" KATO 5 years ago
parent
commit
71bd7547de
1 changed files with 127 additions and 25 deletions
  1. 127 25
      h/hplip/hplip-vl.spec

+ 127 - 25
h/hplip/hplip-vl.spec

@@ -2,12 +2,12 @@
 Summary:	HP printer drivers & utilities for Linux
 Summary(ja): 	HP プリンタの Linux 向けドライバとユーティリティ
 Name:		hplip
-Version:	3.18.10
+Version:	3.18.12
 Release: 	1%{?_dist_release}
 
 License:	GPLv2+, MIT and BSD
 Group:		Applications/Publishing
-URL:		http://hplip.sourceforge.net/
+URL:		https://developers.hp.com/hp-linux-imaging-and-printing
 
 Source0:	http://downloads.sourceforge.net/sourceforge/hplip/hplip-%{version}.tar.gz
 #Source1:	hpcups-update-ppds.sh
@@ -52,24 +52,78 @@ Patch32: hplip-colorlaserjet-mfp-m278-m281.patch
 Patch33: hplip-error-print.patch
 Patch34: hplip-hpfax-importerror-print.patch
 Patch35: hplip-wifisetup.patch
+# bz1645815, hplaunchpad1802941 - python3.7 treats StopIteration in generators
+# differently than before, now it gets propagated as other exceptions and
+# it cannot silently end the loop (as it was sometimes used) - use 'return'
+# instead of raising StopIteration exception
+Patch36: hplip-stopiteration.patch
+# pgp.mit.edu keyserver got bad connection, so we need to have pool of keyservers
+# to choose (Bz#1641100, launchpad#1799212)
+Patch37: hplip-keyserver.patch
+# QMessagebox call was copy-pasted from Qt4 version, but Qt5 has different arguments,
+# This patch solves most of them
+Patch38: 0026-Call-QMessageBox-constructors-of-PyQT5-with-the-corr.patch
+# HP upstream introduced new binary blob, which is not open-source, so it violates
+# FPG by two ways - shipping binary blob and non open source code - so it needs to be removed.
+# Patch is taken from Debian.
+Patch39: 0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch
+# In hplip-3.18.10 some parts of UI code was commented out, which leaved hp-toolbox
+# unusable (crashed on the start). The patch removes usages of variables, which were
+# commented out.
+# The patch is taken from Debian.
+Patch40: 0027-Fixed-incomplete-removal-of-hp-toolbox-features-whic.patch
+# New tool - hp-uiscan - misses support of -h argument and crashes with traceback
+# Reported as https://bugs.launchpad.net/hplip/+bug/1810943
+Patch41: hplip-uiscan-help.patch
+# hp-setup crashed when user wanted to define a path to PPD file. It was due
+# byte + string variables incompatibility and it is fixed by decoding the 
+# bytes-like variable
+# part of https://bugzilla.redhat.com/show_bug.cgi?id=1666076
+# reported upstream https://bugs.launchpad.net/hplip/+bug/1814272
+Patch42: hplip-add-ppd-crash.patch
+# external scripts, which are downloaded and run by hp-plugin, try to create links
+# in non-existing dirs. These scripts ignore errors, so plugin is installed fine
+# but then internal hp-plugin can check for plugin state, where links are checked too.
+# It results in corrupted plugin state, which breaks printer installation by GUI hp-setup.
+# Temporary workaround is to ignore these bad links and real fix should come from HP,
+# because their external scripts try to create links in non-existing dirs.
+# Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1671513
+# Reported upstream: https://bugs.launchpad.net/hplip/+bug/1814574
+Patch43: hplip-missing-links.patch
+# change in 3.18.9 in scanext.c caused broken scanning for HP LaserJet 3052. Since I cannot figure
+# it out what author wanted by the change (it sets option number 9 to true, but different handles
+# have different options, so I'm not sure what author wanted to set).
+# Remove the change for now, it works for user and me.
+Patch44: hplip-hplj-3052.patch
+# hpmud parses mdns txt record badly
+# upstream tickets: https://bugs.launchpad.net/hplip/+bug/1797501
+#                   https://bugs.launchpad.net/hplip/+bug/1817214
+#                   https://bugs.launchpad.net/hplip/+bug/1821932
+# with no response from upstream
+# Patch taken from Debian https://lists.debian.org/debian-printing/2018/11/msg00049.html
+Patch45: hplip-hpmud-string-parse.patch
+# Part of https://bugzilla.redhat.com/show_bug.cgi?id=1694663
+# It was found out that specific device needs plugin for scanning
+# Reported upstream as https://bugs.launchpad.net/hplip/+bug/1822762
+Patch46: hplip-m278-m281-needs-plugin.patch
+# hpcups crashes when a printer needs a plugin and does not have one installed
+# it crashes in destructor, because pointer is not initialized
+# bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=1695716
+# reported upstream 
+Patch47: hplip-hpcups-crash.patch
 
 # Vine Patches
 Patch70:	hplip-3.11.5-gksu.patch
 Patch80:	hplip-3.16.5-hpijs.patch
 
-# drop dependence on closed-source libImageProcessor.so
-Patch100:	0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch
-
 BuildRoot:	%{_tmppath}/%{name}-%{version}-root
 Requires:	cups
 Requires:	dbus
-Requires:	dbus-python
+Requires:	dbus-python3
 Requires:	foomatic
 Requires:	ghostscript
 Requires:	openssl
-Requires:	python-imaging
 Requires:	%{name}-libs = %{version}-%{release}
-Requires:	gksu
 BuildRequires:	cups-devel
 BuildRequires:	dbus-devel
 BuildRequires:	desktop-file-utils
@@ -77,12 +131,14 @@ BuildRequires:	libusb1-devel
 BuildRequires:	libjpeg-devel
 BuildRequires:	net-snmp-devel
 BuildRequires:	openssl-devel
-BuildRequires:	python-devel >= 2.3
-BuildRequires:	python-cups, cups
+BuildRequires:	python3-devel
+BuildRequires:	python3-rpm-macros
+BuildRequires:	python3-cups, cups
 BuildRequires:	sane-devel
-BuildRequires:	PyQt4-devel
-# to force to use PyQt4
+BuildRequires:	python3-qt5
+# to force to use Qt5
 BuildConflicts:	PyQt
+BuildConflicts:	PyQt4
 
 Provides:	hpijs = %{version}-%{release}
 Obsoletes:	hpijs < %{version}-%{release}
@@ -128,8 +184,11 @@ Summary(ja):	HPLIP 用 GUI ツール
 Group:		Applications/System
 License:	BSD
 Requires:	%{name} = %{version}-%{release}
-Requires:	PyQt4
-Requires:	notify-python
+Requires:	python3-qt5
+#Requires:	python3-reportlab
+Requires:	python3-pygobject
+Requires:	%{name}%{?_isa} = %{version}-%{release}
+Requires:	libsane-hpaio%{?_isa} = %{version}-%{release}
 
 %description gui
 HP Device manager (toolbox) is a graphical utility including 
@@ -290,20 +349,51 @@ rm prnt/hpcups/ErnieFilter.{cpp,h} prnt/hpijs/ernieplatform.h
 # bug caused by typo in wifisetupdialog wifiObj property call
 %patch35 -p1 -b .wifisetup-bad-call-fix
 
+# 1645815 - hp-check --runtime crashes involving FileNotFoundError
+%patch36 -p1 -b .stopiteration
+
+# have pool of keyservers to choose
+%patch37 -p1 -b .keyserver
+
+# TypeError: argument 5 has unexpected type 'StandardButtons' (bug #1594602)
+# upstream bug: https://bugs.launchpad.net/ubuntu/+source/hplip/+bug/1745383
+# bug caused by typo in QMessageBox constructor call
+# this patch fixes more of those typos - some fixed by tkorbar, some taken from ubuntu fix
+%patch38 -p1 -b .qmsgbox-typos-fix
+%patch39 -p1 -b .libimageprocessor-removal
+
+rm prnt/hpcups/libImageProcessor-x86*
+
+%patch40 -p1 -b .toolbox-crash
+%patch41 -p1 -b .uiscan-help
+# part of https://bugzilla.redhat.com/show_bug.cgi?id=1666076
+%patch42 -p1 -b .add-ppd-crash
+# 1671513 - after 'successful' plugin installation it is not installed
+%patch43 -p1 -b .missing-links
+# 1684434 - Scanning broken for HP LaserJet 3052
+%patch44 -p1 -b .hp-laserjet-3052-broken-scanning
+# 1694663 - Cannot scan with M281fdw LaserJet - failed: Error during device I/O (part 1)
+%patch45 -p1 -b .hpmud-string-parse
+# 1694663 - Cannot scan with M281fdw LaserJet - failed: Error during device I/O (part 2)
+%patch46 -p1 -b .m278-m281-needs-plugin
+# 1695716 - hpcups crashes in Compressor destructor
+%patch47 -p1 -b .hpcups-crash
+
 # vine
 
-%patch70 -p1 -b .gksu
+#%patch70 -p1 -b .gksu
 %patch80 -p1 -b .hpijs
 
-%patch100 -p1 -b .libimageprocessor
-
 sed -i.duplex-constraints \
     -e 's,\(UIConstraints.* \*Duplex\),//\1,' \
     prnt/drv/hpcups.drv.in
 
 # Change shebang /usr/bin/env python -> /usr/bin/python3 (bug #618351).
-#find -name '*.py' -print0 | xargs -0 \
-#    sed -i.env-python -e 's,^#!/usr/bin/env python,#!%{__python3},'
+find -name '*.py' -print0 | xargs -0 \
+    sed -i.env-python -e 's,^#!/usr/bin/env python,#!%{__python3},'
+sed -i.env-python -e 's,^#!/usr/bin/env python,#!%{__python3},' \
+    prnt/filters/hpps \
+    fax/filters/pstotiff
 
 rm locatedriver
 
@@ -313,20 +403,22 @@ autoreconf -f -i
 %configure \
         --enable-scan-build --enable-gui-build --enable-fax-build \
         --disable-foomatic-rip-hplip-install --enable-pp-build \
-        --enable-qt4 \
+        --disable-qt4 --enable-qt5 \
         --enable-hpcups-install --enable-cups-drv-install \
         --enable-foomatic-drv-install --enable-dbus-build \
         --enable-hpijs-install \
-	--disable-policykit \
+	--enable-policykit \
 	--with-mimedir=%{_datadir}/cups/mime \
 	--with-cupsbackenddir=%{_libdir}/cups/backend \
 	--with-cupsfilterdir=%{_libdir}/cups/filter \
-	--with-hpppddir=%{_datadir}/foomatic/db/source/PPD/HP
+	--with-hpppddir=%{_datadir}/foomatic/db/source/PPD/HP \
+	PYTHON=%{__python3}
+
 
 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
 
-make
+make %{?_smp_mflags}
 
 
 %install
@@ -538,6 +630,10 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_datadir}/foomatic/db/source/PPD/HP
 %{_datadir}/foomatic/db/source/PPD/HP/*
 
+%{_sysconfdir}/dbus-1/system.d/com.hp.hplip.conf
+%{_datadir}/dbus-1/system-services/com.hp.hplip.service
+%{_datadir}/polkit-1/actions/com.hp.hplip.policy
+
 %files libs
 %defattr(-,root,root)
 %{_libdir}/libhpip.so.*
@@ -546,7 +642,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libhpdiscovery.so*
 %{_libdir}/libhpipp.so*
 # Python extension
-%{python_sitearch}/*
+%{python3_sitearch}/*
 
 %files gui
 %defattr(-,root,root)
@@ -566,7 +662,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/hplip/uiscan.py*
 # Directories
 %{_datadir}/hplip/data/images
-%{_datadir}/hplip/ui4
+%{_datadir}/hplip/ui5
 %{_datadir}/hplip/uiscan.py*
 %files -n libsane-hpaio
 %defattr(-,root,root)
@@ -574,6 +670,12 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %{_sysconfdir}/sane.d/dll.d/hpaio
 
 %changelog
+* Thu May 16 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.18.12-1
+- dropped R:gksu.
+- imported Patche36-47 from rawhide.
+- switched to python3.
+- switched gui to Qt5.
+
 * Wed Nov 07 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.18.10-1
 - new upstream release.
 - updated Patch12.