]> git.pld-linux.org Git - packages/hplip.git/blob - hplip.spec
6515ef98c1e28dc7e04849416f5c7fee25a2c836
[packages/hplip.git] / hplip.spec
1 # WARNING: when updating to 3.18.7+ beware of libImageProcessor binary blob (enigmatic "CDS feature" commonly causing problems);
2 #          see Debian, Fedora or Arch for patch to disable it
3 # TODO:
4 # - add desktop file for toolbox
5 # - separate hpijs package?
6 #
7 # Conditional build:
8 %bcond_without  dbus    # dbus (com.hplip.StatusService) support
9 %bcond_without  fax     # fax support (cups backend+hplip components), depends on dbus
10
11 %if %{without dbus}
12 %undefine       with_fax
13 %endif
14
15 Summary:        Hewlett-Packard Linux Imaging and Printing suite - printing and scanning using HP devices
16 Summary(pl.UTF-8):      Narzędzia Hewlett-Packard Linux Imaging and Printing - drukowanie i skanowanie przy użyciu urządzeń HP
17 Name:           hplip
18 Version:        3.18.6
19 Release:        2
20 License:        BSD (hpijs), MIT (low-level scanning and printing code), GPL v2 (the rest)
21 Group:          Applications/System
22 Source0:        http://downloads.sourceforge.net/hplip/%{name}-%{version}.tar.gz
23 # Source0-md5:  3857eae76c49c00fa185628d4dce7d61
24 Patch0:         %{name}-desktop.patch
25 Patch1:         unresolved.patch
26 Patch2:         pld-distro.patch
27 # note: this patch adds support to fixing only certain binary plugins. Newer plugin
28 # version have different md5 sums, different offsets, so handling new binaries need
29 # to be added
30 Patch3:         %{name}-binary-fixup.patch
31 Patch4:         %{name}-destdir.patch
32 Patch5:         %{name}-udev-rules.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:  python-devel >= 2.2
48 BuildRequires:  python-modules >= 2.2
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:       python-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:       python-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:       python-PyQt4
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 %{?noarchpackage}
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
171 %patch0 -p1
172 %patch1 -p1
173 %patch2 -p1
174 #%patch3 -p1
175 %patch4 -p1
176 %patch5 -p1
177
178 %{__sed} -i -e '1s,^#!/usr/bin/env python$,#!%{__python},' *.py fax/filters/pstotiff prnt/filters/hpps
179 find base fax installer prnt scan ui ui4 -name '*.py' | xargs \
180         %{__sed} -i -e '1s,^#!/usr/bin/env python$,#!%{__python},'
181 %{__sed} -i -e '1s,^#!/usr/bin/python$,#!%{__python},' logcapture.py doctor.py
182
183 %{__sed} -i -e 's#test -d /usr/share/polkit-1#true#' configure.in
184
185 %build
186 %{__libtoolize}
187 %{__aclocal}
188 %{__autoconf}
189 %{__automake}
190 CXXFLAGS="%{rpmcflags} -fno-exceptions -fno-rtti"
191 %configure \
192         %{!?with_dbus:--disable-dbus-build} \
193         %{!?with_fax:--disable-fax-build} \
194         --enable-cups-drv-install \
195         --enable-cups-ppd-install \
196         --enable-foomatic-drv-install  \
197         --enable-foomatic-ppd-install \
198         --disable-foomatic-rip-hplip-install \
199         --enable-hpcups-install \
200         --enable-hpijs-install \
201         --enable-policykit \
202         --enable-pp-build \
203         --with-cupsbackenddir=%{cups_backenddir} \
204         --with-cupsfilterdir=%{cups_filterdir} \
205         --with-hpppddir=%{cups_ppddir} \
206         --with-mimedir=%{_datadir}/cups/mime
207 %{__make}
208
209 %install
210 rm -rf $RPM_BUILD_ROOT
211 install -d $RPM_BUILD_ROOT/var/lib/hp
212
213 %{__make} -j1 install \
214         DESTDIR=$RPM_BUILD_ROOT
215
216 touch $RPM_BUILD_ROOT/var/lib/hp/hplip.state
217
218 for tool in align clean colorcal fab firmware info levels makecopies makeuri print \
219                 probe scan sendfax setup testpage timedate toolbox unload ; do
220         ln -sf %{_datadir}/%{name}/$tool.py $RPM_BUILD_ROOT%{_bindir}/hp-$tool
221 done
222
223 # use filter from cups-filters package, the perl script from hplip does not work
224 # correctly with cups 1.7.x, and is an unnecessary functional duplicate
225 ln -s %{cups_filterdir}/foomatic-rip $RPM_BUILD_ROOT%{cups_filterdir}/foomatic-rip-hplip
226
227 # useless (nothing is going to link to installed libraries/modules)
228 %{__rm} $RPM_BUILD_ROOT{%{_libdir}/libhp*.{so,la},%{_libdir}/sane/*.{so,la},%{py_sitedir}/*.la}
229 # handled by post script
230 %{__rm} $RPM_BUILD_ROOT/etc/sane.d/dll.conf
231 # junk
232 %{__rm} $RPM_BUILD_ROOT{%{_bindir}/hp-{uninstall,upgrade},%{_datadir}/hplip/{uninstall,upgrade}.py}
233 %{__rm} $RPM_BUILD_ROOT/usr/lib/systemd/system/hplip-printer@.service
234
235 %if %{without fax}
236 %{__rm} $RPM_BUILD_ROOT%{cups_filterdir}/pstotiff
237 %endif
238
239 # use udev, hal's dead
240 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/hal
241
242 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
243
244 %clean
245 rm -rf $RPM_BUILD_ROOT
246
247 %post   libs -p /sbin/ldconfig
248 %postun libs -p /sbin/ldconfig
249
250 %post sane
251 /bin/grep -q '^hpaio' /etc/sane.d/dll.conf || echo hpaio >> /etc/sane.d/dll.conf
252
253 %postun sane
254 if [ "$1" = "0" ]; then
255         /bin/sed -e'/^hpaio/d' -i /etc/sane.d/dll.conf || :
256 fi
257
258 %files
259 %defattr(644,root,root,755)
260 %doc doc/*
261 %attr(755,root,root) %{_bindir}/hpijs
262 %attr(755,root,root) %{_bindir}/hp-align
263 %attr(755,root,root) %{_bindir}/hp-check
264 %attr(755,root,root) %{_bindir}/hp-clean
265 %attr(755,root,root) %{_bindir}/hp-colorcal
266 %attr(755,root,root) %{_bindir}/hp-config_usb_printer
267 %attr(755,root,root) %{_bindir}/hp-diagnose_plugin
268 %attr(755,root,root) %{_bindir}/hp-diagnose_queues
269 %attr(755,root,root) %{_bindir}/hp-firmware
270 %attr(755,root,root) %{_bindir}/hp-doctor
271 %attr(755,root,root) %{_bindir}/hp-info
272 %attr(755,root,root) %{_bindir}/hp-levels
273 %attr(755,root,root) %{_bindir}/hp-logcapture
274 %attr(755,root,root) %{_bindir}/hp-makecopies
275 %attr(755,root,root) %{_bindir}/hp-makeuri
276 %attr(755,root,root) %{_bindir}/hp-pkservice
277 %attr(755,root,root) %{_bindir}/hp-plugin
278 %attr(755,root,root) %{_bindir}/hp-probe
279 %attr(755,root,root) %{_bindir}/hp-query
280 %attr(755,root,root) %{_bindir}/hp-scan
281 %attr(755,root,root) %{_bindir}/hp-sendfax
282 %attr(755,root,root) %{_bindir}/hp-setup
283 %attr(755,root,root) %{_bindir}/hp-testpage
284 %attr(755,root,root) %{_bindir}/hp-timedate
285 %attr(755,root,root) %{_bindir}/hp-unload
286 %dir %{_datadir}/hplip
287 %{_datadir}/hplip/__init__.py
288 %dir %{_datadir}/hplip/copier
289 %{_datadir}/hplip/copier/*.py
290 %attr(755,root,root) %{_datadir}/hplip/align.py
291 %attr(755,root,root) %{_datadir}/hplip/check.py
292 %attr(755,root,root) %{_datadir}/hplip/check-plugin.py
293 %attr(755,root,root) %{_datadir}/hplip/clean.py
294 %attr(755,root,root) %{_datadir}/hplip/colorcal.py
295 %attr(755,root,root) %{_datadir}/hplip/config_usb_printer.py
296 %attr(755,root,root) %{_datadir}/hplip/diagnose_plugin.py
297 %attr(755,root,root) %{_datadir}/hplip/diagnose_queues.py
298 %attr(755,root,root) %{_datadir}/hplip/doctor.py
299 %attr(755,root,root) %{_datadir}/hplip/firmware.py
300 %attr(755,root,root) %{_datadir}/hplip/hpdio.py
301 %attr(755,root,root) %{_datadir}/hplip/hplip_clean.sh
302 %attr(755,root,root) %{_datadir}/hplip/hpssd.py
303 %attr(755,root,root) %{_datadir}/hplip/info.py
304 %attr(755,root,root) %{_datadir}/hplip/levels.py
305 %attr(755,root,root) %{_datadir}/hplip/logcapture.py
306 %attr(755,root,root) %{_datadir}/hplip/makecopies.py
307 %attr(755,root,root) %{_datadir}/hplip/makeuri.py
308 %attr(755,root,root) %{_datadir}/hplip/pkservice.py
309 %attr(755,root,root) %{_datadir}/hplip/plugin.py
310 %attr(755,root,root) %{_datadir}/hplip/probe.py
311 %attr(755,root,root) %{_datadir}/hplip/query.py
312 %attr(755,root,root) %{_datadir}/hplip/scan.py
313 %attr(755,root,root) %{_datadir}/hplip/sendfax.py
314 %attr(755,root,root) %{_datadir}/hplip/setup.py
315 %attr(755,root,root) %{_datadir}/hplip/testpage.py
316 %attr(755,root,root) %{_datadir}/hplip/timedate.py
317 %attr(755,root,root) %{_datadir}/hplip/unload.py
318 %{_datadir}/hplip/base
319 %dir %{_datadir}/hplip/data
320 %{_datadir}/hplip/data/ldl
321 %{_datadir}/hplip/data/localization
322 %{_datadir}/hplip/data/models
323 %{_datadir}/hplip/data/pcl
324 %{_datadir}/hplip/data/ps
325 # fax subpackage ?
326 %if %{with fax}
327 %{_datadir}/hplip/fax
328 %endif
329 %{_datadir}/hplip/installer
330 %{_datadir}/hplip/pcard
331 %{_datadir}/hplip/prnt
332 %{_datadir}/hplip/scan
333 %attr(755,root,root) %{_datadir}/hplip/dat2drv
334 %attr(755,root,root) %{_datadir}/hplip/locatedriver
335 %attr(755,root,root) %{py_sitedir}/cupsext.so
336 %attr(755,root,root) %{py_sitedir}/hpmudext.so
337 %attr(755,root,root) %{py_sitedir}/pcardext.so
338 %attr(755,root,root) %{py_sitedir}/scanext.so
339 %dir %{_sysconfdir}/hp
340 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hp/hplip.conf
341 /lib/udev/rules.d/56-hpmud.rules
342 /etc/dbus-1/system.d/com.hp.hplip.conf
343 %{_datadir}/dbus-1/system-services/com.hp.hplip.service
344 %{_datadir}/polkit-1/actions/com.hp.hplip.policy
345
346 %files gui-tools
347 %defattr(644,root,root,755)
348 %attr(755,root,root) %{_bindir}/hp-devicesettings
349 %attr(755,root,root) %{_bindir}/hp-fab
350 %attr(755,root,root) %{_bindir}/hp-faxsetup
351 %attr(755,root,root) %{_bindir}/hp-linefeedcal
352 %attr(755,root,root) %{_bindir}/hp-pqdiag
353 %attr(755,root,root) %{_bindir}/hp-print
354 %attr(755,root,root) %{_bindir}/hp-printsettings
355 %attr(755,root,root) %{_bindir}/hp-systray
356 %attr(755,root,root) %{_bindir}/hp-toolbox
357 %attr(755,root,root) %{_bindir}/hp-wificonfig
358 %attr(755,root,root) %{_datadir}/hplip/devicesettings.py
359 %attr(755,root,root) %{_datadir}/hplip/wificonfig.py
360 %attr(755,root,root) %{_datadir}/hplip/fab.py
361 %attr(755,root,root) %{_datadir}/hplip/faxsetup.py
362 %attr(755,root,root) %{_datadir}/hplip/linefeedcal.py
363 %attr(755,root,root) %{_datadir}/hplip/pqdiag.py
364 %attr(755,root,root) %{_datadir}/hplip/print.py
365 %attr(755,root,root) %{_datadir}/hplip/printsettings.py
366 %attr(755,root,root) %{_datadir}/hplip/systray.py
367 %attr(755,root,root) %{_datadir}/hplip/toolbox.py
368 %{_datadir}/hplip/ui4
369 %{_datadir}/hplip/data/images
370 %{_sysconfdir}/xdg/autostart/hplip-systray.desktop
371 %{_desktopdir}/hplip.desktop
372 %dir /var/lib/hp
373 %verify(not md5 mtime size) /var/lib/hp/hplip.state
374
375 %files libs
376 %defattr(644,root,root,755)
377 %attr(755,root,root) %{_libdir}/libhpdiscovery.so.*.*.*
378 %attr(755,root,root) %ghost %{_libdir}/libhpdiscovery.so.0
379 %attr(755,root,root) %{_libdir}/libhpip.so.*.*.*
380 %attr(755,root,root) %ghost %{_libdir}/libhpip.so.0
381 %attr(755,root,root) %{_libdir}/libhpipp.so.*.*.*
382 %attr(755,root,root) %ghost %{_libdir}/libhpipp.so.0
383 %attr(755,root,root) %{_libdir}/libhpmud.so.*.*.*
384 %attr(755,root,root) %ghost %{_libdir}/libhpmud.so.0
385
386 %files sane
387 %defattr(644,root,root,755)
388 %doc scan/sane/hpaio.desc
389 %attr(755,root,root) %{_libdir}/sane/libsane-hpaio.so.*.*.*
390 %attr(755,root,root) %{_libdir}/sane/libsane-hpaio.so.1
391
392 %files ppd
393 %defattr(644,root,root,755)
394 %if %{with fax}
395 %{cups_ppddir}/HP-Fax*.ppd.gz
396 %endif
397 %{cups_ppddir}/apollo-*.ppd.gz
398 %{cups_ppddir}/hp-*.ppd.gz
399
400 %files -n cups-backend-hp
401 %defattr(644,root,root,755)
402 %attr(755,root,root) %{cups_backenddir}/hp
403 %attr(755,root,root) %{cups_filterdir}/foomatic-rip-hplip
404 %attr(755,root,root) %{cups_filterdir}/hpcups
405 %attr(755,root,root) %{cups_filterdir}/hpps
406 %{cups_datadir}/drv/hp
407
408 %if %{with fax}
409 %files -n cups-backend-hpfax
410 %defattr(644,root,root,755)
411 %attr(755,root,root) %{cups_backenddir}/hpfax
412 %attr(755,root,root) %{cups_filterdir}/hpcupsfax
413 %attr(755,root,root) %{cups_filterdir}/pstotiff
414 %{cups_mimedir}/pstotiff.types
415 %{cups_mimedir}/pstotiff.convs
416 %endif
This page took 0.106864 seconds and 2 git commands to generate.