]> git.pld-linux.org Git - packages/hplip.git/blob - hplip.spec
- fix files
[packages/hplip.git] / hplip.spec
1 # TODO:
2 # - add desktop file for toolbox
3 # - separate hpijs package?
4 #
5 # Conditional build:
6 %bcond_without  dbus    # dbus (com.hplip.StatusService) support
7 %bcond_without  fax     # fax support (cups backend+hplip components), depends on dbus
8
9 %if %{without dbus}
10 %undefine       with_fax
11 %endif
12
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
15 Name:           hplip
16 Version:        3.22.6
17 Release:        1
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
27 # to be added
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
55 Obsoletes:      hal-hplip
56 Obsoletes:      hpijs
57 Obsoletes:      hplip-daemon
58 Obsoletes:      python-hplip
59 Conflicts:      ghostscript <= 7.00-3
60 # used in scan.py
61 Suggests:       python3-ReportLab >= 2.0
62 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63
64 %define         _ulibdir        %{_prefix}/lib
65
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
72
73 %description
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.
79
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.
86
87 %package gui-tools
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
93
94 %description gui-tools
95 HPLIP GUI tools.
96
97 %description gui-tools -l pl.UTF-8
98 Narzędzia HPLIP z graficznym interfejsem użytkownika.
99
100 %package libs
101 Summary:        HPLIP Libraries
102 Summary(pl.UTF-8):      Biblioteki HPLIP
103 Group:          Libraries
104
105 %description libs
106 HPLIP Libraries.
107
108 %description libs -l pl.UTF-8
109 Biblioteki HPLIP.
110
111 %package sane
112 Summary:        HPLIP driver for SANE (scanner access)
113 Summary(pl.UTF-8):      Sterownik HPLIP dla SANE (dostęp do skanera)
114 Group:          Libraries
115 Requires(post): /bin/grep
116 Requires(postun):       /bin/sed
117 Requires:       %{name} = %{version}-%{release}
118
119 %description sane
120 HPLIP driver for SANE (provides scanner access).
121
122 %description sane -l pl.UTF-8
123 Sterownik HPLIP dla SANE (umożliwia dostęp do skanera).
124
125 %package ppd
126 Summary:        PPD database for Hewlett Packard printers
127 Summary(pl.UTF-8):      Baza danych PPD dla drukarek Hewlett Packard
128 Group:          Applications/System
129 Requires:       cups
130 Requires:       cups-filters >= 1.0.43
131 Obsoletes:      hpijs-ppd
132 BuildArch:      noarch
133
134 %description ppd
135 PPD database for Hewlett Packard printers.
136
137 %description ppd -l pl.UTF-8
138 Baza danych PPD dla drukarek Hewlett Packard.
139
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}
145 Requires:       cups
146 Requires:       cups-filters >= 1.0.43
147
148 %description -n cups-backend-hp
149 This package allows CUPS printing on HP printers.
150
151 %description -n cups-backend-hp -l pl.UTF-8
152 Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach HP.
153
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}
159 Requires:       cups
160
161 %description -n cups-backend-hpfax
162 This package allow CUPS faxing using HP AiO devices.
163
164 %description -n cups-backend-hpfax -l pl.UTF-8
165 Ten pakiet umożliwia wysyłanie faksów z poziomu CUPS-a poprzez
166 urządzenia HP AiO.
167
168 %prep
169 %setup -q
170 %undos Makefile.am installer/distros.dat
171 %patch0 -p1
172 %patch1 -p1
173 %patch2 -p1
174 #%patch3 -p1
175 %patch4 -p1
176 %patch5 -p1
177 %patch6 -p1
178 %patch7 -p1
179
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
184
185 %{__sed} -i -e 's#test -d /usr/share/polkit-1#true#' configure.in
186
187 %build
188 %{__libtoolize}
189 %{__aclocal}
190 %{__autoconf}
191 %{__automake}
192 %configure \
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 \
204         --enable-policykit \
205         --enable-pp-build \
206         --enable-gui-build \
207         --enable-qt5 \
208         --disable-qt4 \
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
214 %{__make}
215
216 %install
217 rm -rf $RPM_BUILD_ROOT
218 install -d $RPM_BUILD_ROOT/var/lib/hp
219
220 %{__make} -j1 install \
221         DESTDIR=$RPM_BUILD_ROOT
222
223 touch $RPM_BUILD_ROOT/var/lib/hp/hplip.state
224
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
228 done
229
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
233
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
238 # junk
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
241
242 %if %{without fax}
243 %{__rm} $RPM_BUILD_ROOT%{cups_filterdir}/pstotiff
244 %endif
245
246 # use udev, hal's dead
247 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/hal
248
249 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
250
251 %clean
252 rm -rf $RPM_BUILD_ROOT
253
254 %post   libs -p /sbin/ldconfig
255 %postun libs -p /sbin/ldconfig
256
257 %post sane
258 /bin/grep -q '^hpaio' /etc/sane.d/dll.conf || echo hpaio >> /etc/sane.d/dll.conf
259
260 %postun sane
261 if [ "$1" = "0" ]; then
262         /bin/sed -e'/^hpaio/d' -i /etc/sane.d/dll.conf || :
263 fi
264
265 %files
266 %defattr(644,root,root,755)
267 %doc doc/*
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
332 # fax subpackage ?
333 %if %{with fax}
334 %{_datadir}/hplip/fax
335 %endif
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
352
353 %files gui-tools
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
379 %dir /var/lib/hp
380 %verify(not md5 mtime size) /var/lib/hp/hplip.state
381
382 %files libs
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
392
393 %files sane
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
401
402 %files ppd
403 %defattr(644,root,root,755)
404 %if %{with fax}
405 %{cups_ppddir}/HP-Fax*.ppd.gz
406 %endif
407 %{cups_ppddir}/apollo-*.ppd.gz
408 %{cups_ppddir}/hp-*.ppd.gz
409
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
417
418 %if %{with fax}
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
426 %endif
This page took 0.200737 seconds and 4 git commands to generate.