2 # - add desktop file for toolbox
3 # - separate hpijs package?
6 %bcond_without dbus # dbus (com.hplip.StatusService) support
7 %bcond_without fax # fax support (cups backend+hplip components), depends on dbus
13 Summary: Hewlett-Packard Linux Imaging and Printing suite - printing and scanning using HP devices
14 Summary(pl.UTF-8): Narzędzia Hewlett-Packard Linux Imaging and Printing - drukowanie i skanowanie przy użyciu urządzeń HP
18 License: BSD (hpijs), MIT (low-level scanning and printing code), GPL v2 (the rest)
19 Group: Applications/System
20 Source0: http://downloads.sourceforge.net/hplip/%{name}-%{version}.tar.gz
21 # Source0-md5: 77eb0b3552f85a46a079d24f4632385f
22 Patch0: %{name}-desktop.patch
23 Patch1: unresolved.patch
24 Patch2: pld-distro.patch
25 # note: this patch adds support to fixing only certain binary plugins. Newer plugin
26 # version have different md5 sums, different offsets, so handling new binaries need
28 Patch3: %{name}-binary-fixup.patch
29 Patch4: %{name}-destdir.patch
30 Patch5: %{name}-udev-rules.patch
31 Patch6: no-undefined-macro.patch
32 Patch7: remove-all-ImageProcessor-functionality.patch
33 URL: http://hplipopensource.com/
34 BuildRequires: autoconf
35 BuildRequires: automake
36 BuildRequires: cups-devel >= 1.2
37 BuildRequires: cups-ppdc >= 1.2
38 %{?with_dbus:BuildRequires: dbus-devel >= 1.0.0}
39 BuildRequires: libjpeg-devel
40 BuildRequires: libstdc++-devel
41 BuildRequires: libtiff-devel
42 BuildRequires: libtool
43 BuildRequires: libusb-devel >= 1.0
44 BuildRequires: net-snmp-devel
45 BuildRequires: openssl-devel
46 BuildRequires: pkgconfig
47 BuildRequires: python3-devel
48 BuildRequires: python3-modules
49 BuildRequires: rpm-pythonprov
50 BuildRequires: rpmbuild(macros) >= 1.752
51 BuildRequires: sane-backends-devel
52 BuildRequires: sed >= 4.0
53 Requires: %{name}-libs = %{version}-%{release}
54 Requires: python3-modules
57 Obsoletes: hplip-daemon
58 Obsoletes: python-hplip
59 Conflicts: ghostscript <= 7.00-3
61 Suggests: python3-ReportLab >= 2.0
62 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64 %define _ulibdir %{_prefix}/lib
66 %define cups_datadir %(cups-config --datadir 2>/dev/null || echo ERROR)
67 %define cups_mimedir %{cups_datadir}/mime
68 %define cups_ppddir %{cups_datadir}/model
69 %define cups_serverdir %(cups-config --serverbin 2>/dev/null || echo ERROR)
70 %define cups_backenddir %{cups_serverdir}/backend
71 %define cups_filterdir %{cups_serverdir}/filter
74 The Hewlett-Packard Linux Imaging and Printing project (HPLIP)
75 provides a unified single and multi-function connectivity solution for
76 Linux. The goal of this project is to provide "radically simple"
77 printing, faxing, scanning, photo-card access, and device management
78 to the consumer and small business desktop Linux users.
80 %description -l pl.UTF-8
81 Projekt Hewlett-Packard Linux Imaging and Printing (HPLIP) udostępnia
82 jednolite, wielofunkcyjne rozwiązanie dla Linuksa. Celem tego projektu
83 jest zapewnienie "radykalnie prostego" drukowania, faksowania,
84 skanowania, dostępu do kart fotograficznych oraz zarządzania
85 urządzeniami końcowym użytkownikom Linuksa.
88 Summary: HPLIP GUI tools
89 Summary(pl.UTF-8): Narzędzia HPLIP z graficznym interfejsem użytkownika
90 Group: Applications/System
91 Requires: %{name} = %{version}-%{release}
92 Requires: python3-PyQt5
94 %description gui-tools
97 %description gui-tools -l pl.UTF-8
98 Narzędzia HPLIP z graficznym interfejsem użytkownika.
101 Summary: HPLIP Libraries
102 Summary(pl.UTF-8): Biblioteki HPLIP
108 %description libs -l pl.UTF-8
112 Summary: HPLIP driver for SANE (scanner access)
113 Summary(pl.UTF-8): Sterownik HPLIP dla SANE (dostęp do skanera)
115 Requires(post): /bin/grep
116 Requires(postun): /bin/sed
117 Requires: %{name} = %{version}-%{release}
120 HPLIP driver for SANE (provides scanner access).
122 %description sane -l pl.UTF-8
123 Sterownik HPLIP dla SANE (umożliwia dostęp do skanera).
126 Summary: PPD database for Hewlett Packard printers
127 Summary(pl.UTF-8): Baza danych PPD dla drukarek Hewlett Packard
128 Group: Applications/System
130 Requires: cups-filters >= 1.0.43
135 PPD database for Hewlett Packard printers.
137 %description ppd -l pl.UTF-8
138 Baza danych PPD dla drukarek Hewlett Packard.
140 %package -n cups-backend-hp
141 Summary: HP backend for CUPS
142 Summary(pl.UTF-8): Backend HP dla CUPS-a
143 Group: Applications/Printing
144 Requires: %{name} = %{version}-%{release}
146 Requires: cups-filters >= 1.0.43
148 %description -n cups-backend-hp
149 This package allows CUPS printing on HP printers.
151 %description -n cups-backend-hp -l pl.UTF-8
152 Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach HP.
154 %package -n cups-backend-hpfax
155 Summary: HP fax backend for CUPS
156 Summary(pl.UTF-8): Backend HP fax dla CUPS-a
157 Group: Applications/Printing
158 Requires: %{name} = %{version}-%{release}
161 %description -n cups-backend-hpfax
162 This package allow CUPS faxing using HP AiO devices.
164 %description -n cups-backend-hpfax -l pl.UTF-8
165 Ten pakiet umożliwia wysyłanie faksów z poziomu CUPS-a poprzez
170 %undos Makefile.am installer/distros.dat
180 %{__sed} -i -e '1s,^#!/usr/bin/env python$,#!%{__python3},' *.py fax/filters/pstotiff prnt/filters/hpps
181 find base fax installer prnt scan ui ui4 -name '*.py' | xargs \
182 %{__sed} -i -e '1s,^#!/usr/bin/env python$,#!%{__python3},'
183 %{__sed} -i -e '1s,^#!/usr/bin/python$,#!%{__python3},' logcapture.py doctor.py
185 %{__sed} -i -e 's#test -d /usr/share/polkit-1#true#' configure.in
193 PYTHON=%{__python3} \
194 %{!?with_dbus:--disable-dbus-build} \
195 %{!?with_fax:--disable-fax-build} \
196 --enable-cups-drv-install \
197 --enable-cups-ppd-install \
198 --enable-foomatic-drv-install \
199 --enable-foomatic-ppd-install \
200 --disable-foomatic-rip-hplip-install \
201 --disable-imageProcessor-build \
202 --enable-hpcups-install \
203 --enable-hpijs-install \
209 --enable-scan-build \
210 --with-cupsbackenddir=%{cups_backenddir} \
211 --with-cupsfilterdir=%{cups_filterdir} \
212 --with-hpppddir=%{cups_ppddir} \
213 --with-mimedir=%{_datadir}/cups/mime
217 rm -rf $RPM_BUILD_ROOT
218 install -d $RPM_BUILD_ROOT/var/lib/hp
220 %{__make} -j1 install \
221 DESTDIR=$RPM_BUILD_ROOT
223 touch $RPM_BUILD_ROOT/var/lib/hp/hplip.state
225 for tool in align clean colorcal fab firmware info levels makecopies makeuri print \
226 probe scan sendfax setup testpage timedate toolbox unload ; do
227 ln -sf %{_datadir}/%{name}/$tool.py $RPM_BUILD_ROOT%{_bindir}/hp-$tool
230 # use filter from cups-filters package, the perl script from hplip does not work
231 # correctly with cups 1.7.x, and is an unnecessary functional duplicate
232 ln -s %{cups_filterdir}/foomatic-rip $RPM_BUILD_ROOT%{cups_filterdir}/foomatic-rip-hplip
234 # useless (nothing is going to link to installed libraries/modules)
235 %{__rm} $RPM_BUILD_ROOT{%{_libdir}/libhp*.{so,la},%{_libdir}/sane/*.{so,la},%{py3_sitedir}/*.la}
236 # handled by post script
237 %{__rm} $RPM_BUILD_ROOT/etc/sane.d/dll.conf
239 %{__rm} $RPM_BUILD_ROOT{%{_bindir}/hp-{uninstall,upgrade},%{_datadir}/hplip/{uninstall,upgrade}.py}
240 %{__rm} $RPM_BUILD_ROOT/usr/lib/systemd/system/hplip-printer@.service
243 %{__rm} $RPM_BUILD_ROOT%{cups_filterdir}/pstotiff
246 # use udev, hal's dead
247 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/hal
249 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
252 rm -rf $RPM_BUILD_ROOT
254 %post libs -p /sbin/ldconfig
255 %postun libs -p /sbin/ldconfig
258 /bin/grep -q '^hpaio' /etc/sane.d/dll.conf || echo hpaio >> /etc/sane.d/dll.conf
261 if [ "$1" = "0" ]; then
262 /bin/sed -e'/^hpaio/d' -i /etc/sane.d/dll.conf || :
266 %defattr(644,root,root,755)
268 %attr(755,root,root) %{_bindir}/hpijs
269 %attr(755,root,root) %{_bindir}/hp-align
270 %attr(755,root,root) %{_bindir}/hp-check
271 %attr(755,root,root) %{_bindir}/hp-clean
272 %attr(755,root,root) %{_bindir}/hp-colorcal
273 %attr(755,root,root) %{_bindir}/hp-config_usb_printer
274 %attr(755,root,root) %{_bindir}/hp-diagnose_plugin
275 %attr(755,root,root) %{_bindir}/hp-diagnose_queues
276 %attr(755,root,root) %{_bindir}/hp-firmware
277 %attr(755,root,root) %{_bindir}/hp-doctor
278 %attr(755,root,root) %{_bindir}/hp-info
279 %attr(755,root,root) %{_bindir}/hp-levels
280 %attr(755,root,root) %{_bindir}/hp-logcapture
281 %attr(755,root,root) %{_bindir}/hp-makecopies
282 %attr(755,root,root) %{_bindir}/hp-makeuri
283 %attr(755,root,root) %{_bindir}/hp-pkservice
284 %attr(755,root,root) %{_bindir}/hp-plugin
285 %attr(755,root,root) %{_bindir}/hp-probe
286 %attr(755,root,root) %{_bindir}/hp-query
287 %attr(755,root,root) %{_bindir}/hp-scan
288 %attr(755,root,root) %{_bindir}/hp-sendfax
289 %attr(755,root,root) %{_bindir}/hp-setup
290 %attr(755,root,root) %{_bindir}/hp-testpage
291 %attr(755,root,root) %{_bindir}/hp-timedate
292 %attr(755,root,root) %{_bindir}/hp-unload
293 %dir %{_datadir}/hplip
294 %{_datadir}/hplip/__init__.py
295 %dir %{_datadir}/hplip/copier
296 %{_datadir}/hplip/copier/*.py
297 %attr(755,root,root) %{_datadir}/hplip/align.py
298 %attr(755,root,root) %{_datadir}/hplip/check.py
299 %attr(755,root,root) %{_datadir}/hplip/check-plugin.py
300 %attr(755,root,root) %{_datadir}/hplip/clean.py
301 %attr(755,root,root) %{_datadir}/hplip/colorcal.py
302 %attr(755,root,root) %{_datadir}/hplip/config_usb_printer.py
303 %attr(755,root,root) %{_datadir}/hplip/diagnose_plugin.py
304 %attr(755,root,root) %{_datadir}/hplip/diagnose_queues.py
305 %attr(755,root,root) %{_datadir}/hplip/doctor.py
306 %attr(755,root,root) %{_datadir}/hplip/firmware.py
307 %attr(755,root,root) %{_datadir}/hplip/hpdio.py
308 %attr(755,root,root) %{_datadir}/hplip/hplip_clean.sh
309 %attr(755,root,root) %{_datadir}/hplip/hpssd.py
310 %attr(755,root,root) %{_datadir}/hplip/info.py
311 %attr(755,root,root) %{_datadir}/hplip/levels.py
312 %attr(755,root,root) %{_datadir}/hplip/logcapture.py
313 %attr(755,root,root) %{_datadir}/hplip/makecopies.py
314 %attr(755,root,root) %{_datadir}/hplip/makeuri.py
315 %attr(755,root,root) %{_datadir}/hplip/pkservice.py
316 %attr(755,root,root) %{_datadir}/hplip/plugin.py
317 %attr(755,root,root) %{_datadir}/hplip/probe.py
318 %attr(755,root,root) %{_datadir}/hplip/query.py
319 %attr(755,root,root) %{_datadir}/hplip/scan.py
320 %attr(755,root,root) %{_datadir}/hplip/sendfax.py
321 %attr(755,root,root) %{_datadir}/hplip/setup.py
322 %attr(755,root,root) %{_datadir}/hplip/testpage.py
323 %attr(755,root,root) %{_datadir}/hplip/timedate.py
324 %attr(755,root,root) %{_datadir}/hplip/unload.py
325 %{_datadir}/hplip/base
326 %dir %{_datadir}/hplip/data
327 %{_datadir}/hplip/data/ldl
328 %{_datadir}/hplip/data/localization
329 %{_datadir}/hplip/data/models
330 %{_datadir}/hplip/data/pcl
331 %{_datadir}/hplip/data/ps
334 %{_datadir}/hplip/fax
336 %{_datadir}/hplip/installer
337 %{_datadir}/hplip/pcard
338 %{_datadir}/hplip/prnt
339 %{_datadir}/hplip/scan
340 %attr(755,root,root) %{_datadir}/hplip/dat2drv
341 %attr(755,root,root) %{_datadir}/hplip/locatedriver
342 %attr(755,root,root) %{py3_sitedir}/cupsext.so
343 %attr(755,root,root) %{py3_sitedir}/hpmudext.so
344 %attr(755,root,root) %{py3_sitedir}/pcardext.so
345 %attr(755,root,root) %{py3_sitedir}/scanext.so
346 %dir %{_sysconfdir}/hp
347 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hp/hplip.conf
348 /lib/udev/rules.d/56-hpmud.rules
349 /etc/dbus-1/system.d/com.hp.hplip.conf
350 %{_datadir}/dbus-1/system-services/com.hp.hplip.service
351 %{_datadir}/polkit-1/actions/com.hp.hplip.policy
354 %defattr(644,root,root,755)
355 %attr(755,root,root) %{_bindir}/hp-devicesettings
356 %attr(755,root,root) %{_bindir}/hp-fab
357 %attr(755,root,root) %{_bindir}/hp-faxsetup
358 %attr(755,root,root) %{_bindir}/hp-linefeedcal
359 %attr(755,root,root) %{_bindir}/hp-pqdiag
360 %attr(755,root,root) %{_bindir}/hp-print
361 %attr(755,root,root) %{_bindir}/hp-printsettings
362 %attr(755,root,root) %{_bindir}/hp-systray
363 %attr(755,root,root) %{_bindir}/hp-toolbox
364 %attr(755,root,root) %{_bindir}/hp-wificonfig
365 %attr(755,root,root) %{_datadir}/hplip/devicesettings.py
366 %attr(755,root,root) %{_datadir}/hplip/wificonfig.py
367 %attr(755,root,root) %{_datadir}/hplip/fab.py
368 %attr(755,root,root) %{_datadir}/hplip/faxsetup.py
369 %attr(755,root,root) %{_datadir}/hplip/linefeedcal.py
370 %attr(755,root,root) %{_datadir}/hplip/pqdiag.py
371 %attr(755,root,root) %{_datadir}/hplip/print.py
372 %attr(755,root,root) %{_datadir}/hplip/printsettings.py
373 %attr(755,root,root) %{_datadir}/hplip/systray.py
374 %attr(755,root,root) %{_datadir}/hplip/toolbox.py
375 %{_datadir}/hplip/ui5
376 %{_datadir}/hplip/data/images
377 %{_sysconfdir}/xdg/autostart/hplip-systray.desktop
378 %{_desktopdir}/hplip.desktop
380 %verify(not md5 mtime size) /var/lib/hp/hplip.state
383 %defattr(644,root,root,755)
384 %attr(755,root,root) %{_libdir}/libhpdiscovery.so.*.*.*
385 %attr(755,root,root) %ghost %{_libdir}/libhpdiscovery.so.0
386 %attr(755,root,root) %{_libdir}/libhpip.so.*.*.*
387 %attr(755,root,root) %ghost %{_libdir}/libhpip.so.0
388 %attr(755,root,root) %{_libdir}/libhpipp.so.*.*.*
389 %attr(755,root,root) %ghost %{_libdir}/libhpipp.so.0
390 %attr(755,root,root) %{_libdir}/libhpmud.so.*.*.*
391 %attr(755,root,root) %ghost %{_libdir}/libhpmud.so.0
394 %defattr(644,root,root,755)
395 %doc scan/sane/hpaio.desc
396 %attr(755,root,root) %{_bindir}/hp-uiscan
397 %{_datadir}/applications/hp-uiscan.desktop
398 %{_datadir}/hplip/uiscan.py
399 %attr(755,root,root) %{_libdir}/sane/libsane-hpaio.so.*.*.*
400 %attr(755,root,root) %{_libdir}/sane/libsane-hpaio.so.1
403 %defattr(644,root,root,755)
405 %{cups_ppddir}/HP-Fax*.ppd.gz
407 %{cups_ppddir}/apollo-*.ppd.gz
408 %{cups_ppddir}/hp-*.ppd.gz
410 %files -n cups-backend-hp
411 %defattr(644,root,root,755)
412 %attr(755,root,root) %{cups_backenddir}/hp
413 %attr(755,root,root) %{cups_filterdir}/foomatic-rip-hplip
414 %attr(755,root,root) %{cups_filterdir}/hpcups
415 %attr(755,root,root) %{cups_filterdir}/hpps
416 %{cups_datadir}/drv/hp
419 %files -n cups-backend-hpfax
420 %defattr(644,root,root,755)
421 %attr(755,root,root) %{cups_backenddir}/hpfax
422 %attr(755,root,root) %{cups_filterdir}/hpcupsfax
423 %attr(755,root,root) %{cups_filterdir}/pstotiff
424 %{cups_mimedir}/pstotiff.types
425 %{cups_mimedir}/pstotiff.convs