]> git.pld-linux.org Git - packages/hplip.git/blob - hplip.spec
2764daa6390175839a4941df4933be885951767d
[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    # build dbus
7 %bcond_without  fax     # build fax, 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.16.5
17 Release:        2
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:  3f50c45c52b2adaee8d9ff32db8c4e6e
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 differend md5 sums, different offsets, so handling new binaries need
27 # to be added
28 Patch3:         %{name}-binary-fixup.patch
29 Patch5:         %{name}-udev-rules.patch
30 URL:            http://hplipopensource.com/
31 BuildRequires:  autoconf
32 BuildRequires:  automake
33 BuildRequires:  cups-devel >= 1.2
34 %{?with_dbus:BuildRequires:     dbus-devel >= 1.0.0}
35 BuildRequires:  libjpeg-devel
36 BuildRequires:  libstdc++-devel
37 BuildRequires:  libtiff-devel
38 BuildRequires:  libtool
39 BuildRequires:  libusb-devel >= 1.0
40 BuildRequires:  net-snmp-devel
41 BuildRequires:  openssl-devel
42 BuildRequires:  pkgconfig
43 BuildRequires:  python-devel >= 2.2
44 BuildRequires:  python-modules >= 2.2
45 BuildRequires:  rpm-pythonprov
46 BuildRequires:  sane-backends-devel
47 BuildRequires:  sed >= 4.0
48 Requires:       %{name}-libs = %{version}-%{release}
49 Requires:       python-modules
50 Obsoletes:      hal-hplip
51 Obsoletes:      hpijs
52 Obsoletes:      hplip-daemon
53 Obsoletes:      python-hplip
54 Conflicts:      ghostscript <= 7.00-3
55 # used in scan.py
56 Suggests:       python-ReportLab >= 2.0
57 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58
59 %define         _ulibdir        %{_prefix}/lib
60
61 %define         cups_datadir    %(cups-config --datadir 2>/dev/null || echo ERROR)
62 %define         cups_mimedir    %{cups_datadir}/mime
63 %define         cups_ppddir     %{cups_datadir}/model
64 %define         cups_serverdir  %(cups-config --serverbin 2>/dev/null || echo ERROR)
65 %define         cups_backenddir %{cups_serverdir}/backend
66 %define         cups_filterdir  %{cups_serverdir}/filter
67
68 %description
69 The Hewlett-Packard Linux Imaging and Printing project (HPLIP)
70 provides a unified single and multi-function connectivity solution for
71 Linux. The goal of this project is to provide "radically simple"
72 printing, faxing, scanning, photo-card access, and device management
73 to the consumer and small business desktop Linux users.
74
75 %description -l pl.UTF-8
76 Projekt Hewlett-Packard Linux Imaging and Printing (HPLIP) udostępnia
77 jednolite, wielofunkcyjne rozwiązanie dla Linuksa. Celem tego projektu
78 jest zapewnienie "radykalnie prostego" drukowania, faksowania,
79 skanowania, dostępu do kart fotograficznych oraz zarządzania
80 urządzeniami końcowym użytkownikom Linuksa.
81
82 %package gui-tools
83 Summary:        HPLIP GUI tools
84 Summary(pl.UTF-8):      Narzędzia HPLIP z graficznym interfejsem użytkownika
85 Group:          Applications/System
86 Requires:       %{name} = %{version}-%{release}
87 Requires:       python-PyQt4
88
89 %description gui-tools
90 HPLIP GUI tools.
91
92 %description gui-tools -l pl.UTF-8
93 Narzędzia HPLIP z graficznym interfejsem użytkownika.
94
95 %package libs
96 Summary:        HPLIP Libraries
97 Summary(pl.UTF-8):      Biblioteki HPLIP
98 Group:          Libraries
99
100 %description libs
101 HPLIP Libraries.
102
103 %description libs -l pl.UTF-8
104 Biblioteki HPLIP.
105
106 %package sane
107 Summary:        HPLIP driver for SANE (scanner access)
108 Summary(pl.UTF-8):      Sterownik HPLIP dla SANE (dostęp do skanera)
109 Group:          Libraries
110 Requires(post): /bin/grep
111 Requires(postun):       /bin/sed
112 Requires:       %{name} = %{version}-%{release}
113
114 %description sane
115 HPLIP driver for SANE (provides scanner access).
116
117 %description sane -l pl.UTF-8
118 Sterownik HPLIP dla SANE (umożliwia dostęp do skanera).
119
120 %package ppd
121 Summary:        PPD database for Hewlett Packard printers
122 Summary(pl.UTF-8):      Baza danych PPD dla drukarek Hewlett Packard
123 Group:          Applications/System
124 Requires:       cups
125 Requires:       cups-filters >= 1.0.43
126 Obsoletes:      hpijs-ppd
127 %if "%{_rpmversion}" >= "5"
128 BuildArch:      noarch
129 %endif
130
131 %description ppd
132 PPD database for Hewlett Packard printers.
133
134 %description ppd -l pl.UTF-8
135 Baza danych PPD dla drukarek Hewlett Packard.
136
137 %package -n cups-backend-hp
138 Summary:        HP backend for CUPS
139 Summary(pl.UTF-8):      Backend HP dla CUPS-a
140 Group:          Applications/Printing
141 Requires:       %{name} = %{version}-%{release}
142 Requires:       cups
143 Requires:       cups-filters >= 1.0.43
144
145 %description -n cups-backend-hp
146 This package allows CUPS printing on HP printers.
147
148 %description -n cups-backend-hp -l pl.UTF-8
149 Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach HP.
150
151 %package -n cups-backend-hpfax
152 Summary:        HP fax backend for CUPS
153 Summary(pl.UTF-8):      Backend HP fax dla CUPS-a
154 Group:          Applications/Printing
155 Requires:       %{name} = %{version}-%{release}
156 Requires:       cups
157
158 %description -n cups-backend-hpfax
159 This package allow CUPS faxing using HP AiO devices.
160
161 %description -n cups-backend-hpfax -l pl.UTF-8
162 Ten pakiet umożliwia wysyłanie faksów z poziomu CUPS-a poprzez
163 urządzenia HP AiO.
164
165 %prep
166 %setup -q
167 %undos Makefile.am
168 %patch0 -p1
169 %patch1 -p1
170 %patch2 -p1
171 #%patch3 -p1
172 %patch5 -p1
173
174 %{__sed} -i -e '1s,^#!/usr/bin/env python$,#!%{__python},' *.py fax/filters/pstotiff prnt/filters/hpps
175 find base fax installer prnt scan ui ui4 -name '*.py' | xargs \
176         %{__sed} -i -e '1s,^#!/usr/bin/env python$,#!%{__python},'
177 %{__sed} -i -e 's#test -d /usr/share/polkit-1#true#' configure.in
178
179 %build
180 %{__libtoolize}
181 %{__aclocal}
182 %{__autoconf}
183 %{__automake}
184 CXXFLAGS="%{rpmcflags} -fno-exceptions -fno-rtti"
185 %configure \
186         %{!?with_dbus:--disable-dbus-build} \
187         %{!?with_fax:--disable-fax-build} \
188         --enable-cups-drv-install \
189         --enable-cups-ppd-install \
190         --enable-foomatic-drv-install  \
191         --enable-foomatic-ppd-install \
192         --disable-foomatic-rip-hplip-install \
193         --enable-hpcups-install \
194         --enable-hpijs-install \
195         --enable-policykit \
196         --enable-pp-build \
197         --with-cupsbackenddir=%{cups_backenddir} \
198         --with-cupsfilterdir=%{cups_filterdir} \
199         --with-hpppddir=%{cups_ppddir} \
200         --with-mimedir=%{_datadir}/cups/mime
201 %{__make}
202
203 %install
204 rm -rf $RPM_BUILD_ROOT
205 install -d $RPM_BUILD_ROOT/var/lib/hp
206
207 %{__make} -j1 install \
208         DESTDIR=$RPM_BUILD_ROOT
209
210 touch $RPM_BUILD_ROOT/var/lib/hp/hplip.state
211
212 for tool in align clean colorcal fab firmware info levels makecopies makeuri print \
213                 probe scan sendfax setup testpage timedate toolbox unload ; do
214         ln -sf %{_datadir}/%{name}/$tool.py $RPM_BUILD_ROOT%{_bindir}/hp-$tool
215 done
216
217 # use filter from cups-filters package, the perl script from hplip does not work
218 # correctly with cups 1.7.x, and is an unnecessary functional duplicate
219 ln -s %{cups_filterdir}/foomatic-rip $RPM_BUILD_ROOT%{cups_filterdir}/foomatic-rip-hplip
220
221 # useless (nothing is going to link to installed libraries/modules)
222 %{__rm} $RPM_BUILD_ROOT{%{_libdir}/*.{so,la},%{_libdir}/sane/*.{so,la},%{py_sitedir}/*.la}
223 # handled by post script
224 %{__rm} $RPM_BUILD_ROOT/etc/sane.d/dll.conf
225 # junk
226 %{__rm} $RPM_BUILD_ROOT{%{_bindir}/hp-{uninstall,upgrade},%{_datadir}/hplip/{uninstall,upgrade}.py}
227 %{__rm} $RPM_BUILD_ROOT/usr/lib/systemd/system/hplip-printer@.service
228
229 %if %{without fax}
230 %{__rm} $RPM_BUILD_ROOT%{cups_filterdir}/pstotiff
231 %endif
232
233 # use udev, hal's dead
234 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/hal
235
236 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
237
238 %clean
239 rm -rf $RPM_BUILD_ROOT
240
241 %post   libs -p /sbin/ldconfig
242 %postun libs -p /sbin/ldconfig
243
244 %post sane
245 /bin/grep -q '^hpaio' /etc/sane.d/dll.conf || echo hpaio >> /etc/sane.d/dll.conf
246
247 %postun sane
248 if [ "$1" = "0" ]; then
249         /bin/sed -e'/^hpaio/d' -i /etc/sane.d/dll.conf || :
250 fi
251
252 %files
253 %defattr(644,root,root,755)
254 %doc doc/*
255 %attr(755,root,root) %{_bindir}/hpijs
256 %attr(755,root,root) %{_bindir}/hp-align
257 %attr(755,root,root) %{_bindir}/hp-check
258 %attr(755,root,root) %{_bindir}/hp-clean
259 %attr(755,root,root) %{_bindir}/hp-colorcal
260 %attr(755,root,root) %{_bindir}/hp-config_usb_printer
261 %attr(755,root,root) %{_bindir}/hp-diagnose_plugin
262 %attr(755,root,root) %{_bindir}/hp-diagnose_queues
263 %attr(755,root,root) %{_bindir}/hp-firmware
264 %attr(755,root,root) %{_bindir}/hp-doctor
265 %attr(755,root,root) %{_bindir}/hp-info
266 %attr(755,root,root) %{_bindir}/hp-levels
267 %attr(755,root,root) %{_bindir}/hp-logcapture
268 %attr(755,root,root) %{_bindir}/hp-makecopies
269 %attr(755,root,root) %{_bindir}/hp-makeuri
270 %attr(755,root,root) %{_bindir}/hp-pkservice
271 %attr(755,root,root) %{_bindir}/hp-plugin
272 %attr(755,root,root) %{_bindir}/hp-probe
273 %attr(755,root,root) %{_bindir}/hp-query
274 %attr(755,root,root) %{_bindir}/hp-scan
275 %attr(755,root,root) %{_bindir}/hp-sendfax
276 %attr(755,root,root) %{_bindir}/hp-setup
277 %attr(755,root,root) %{_bindir}/hp-testpage
278 %attr(755,root,root) %{_bindir}/hp-timedate
279 %attr(755,root,root) %{_bindir}/hp-unload
280 %dir %{_datadir}/hplip
281 %{_datadir}/hplip/__init__.py
282 %dir %{_datadir}/hplip/copier
283 %{_datadir}/hplip/copier/*.py
284 %attr(755,root,root) %{_datadir}/hplip/align.py
285 %attr(755,root,root) %{_datadir}/hplip/check.py
286 %attr(755,root,root) %{_datadir}/hplip/check-plugin.py
287 %attr(755,root,root) %{_datadir}/hplip/clean.py
288 %attr(755,root,root) %{_datadir}/hplip/colorcal.py
289 %attr(755,root,root) %{_datadir}/hplip/config_usb_printer.py
290 %attr(755,root,root) %{_datadir}/hplip/diagnose_plugin.py
291 %attr(755,root,root) %{_datadir}/hplip/diagnose_queues.py
292 %attr(755,root,root) %{_datadir}/hplip/doctor.py
293 %attr(755,root,root) %{_datadir}/hplip/firmware.py
294 %attr(755,root,root) %{_datadir}/hplip/hpdio.py
295 %attr(755,root,root) %{_datadir}/hplip/hplip_clean.sh
296 %attr(755,root,root) %{_datadir}/hplip/hpssd.py
297 %attr(755,root,root) %{_datadir}/hplip/info.py
298 %attr(755,root,root) %{_datadir}/hplip/levels.py
299 %attr(755,root,root) %{_datadir}/hplip/logcapture.py
300 %attr(755,root,root) %{_datadir}/hplip/makecopies.py
301 %attr(755,root,root) %{_datadir}/hplip/makeuri.py
302 %attr(755,root,root) %{_datadir}/hplip/pkservice.py
303 %attr(755,root,root) %{_datadir}/hplip/plugin.py
304 %attr(755,root,root) %{_datadir}/hplip/probe.py
305 %attr(755,root,root) %{_datadir}/hplip/query.py
306 %attr(755,root,root) %{_datadir}/hplip/scan.py
307 %attr(755,root,root) %{_datadir}/hplip/sendfax.py
308 %attr(755,root,root) %{_datadir}/hplip/setup.py
309 %attr(755,root,root) %{_datadir}/hplip/testpage.py
310 %attr(755,root,root) %{_datadir}/hplip/timedate.py
311 %attr(755,root,root) %{_datadir}/hplip/unload.py
312 %{_datadir}/hplip/base
313 %dir %{_datadir}/hplip/data
314 %{_datadir}/hplip/data/ldl
315 %{_datadir}/hplip/data/localization
316 %{_datadir}/hplip/data/models
317 %{_datadir}/hplip/data/pcl
318 %{_datadir}/hplip/data/ps
319 # fax subpackage ?
320 %if %{with fax}
321 %{_datadir}/hplip/fax
322 %endif
323 %{_datadir}/hplip/installer
324 %{_datadir}/hplip/pcard
325 %{_datadir}/hplip/prnt
326 %{_datadir}/hplip/scan
327 %attr(755,root,root) %{py_sitedir}/cupsext.so
328 %attr(755,root,root) %{py_sitedir}/hpmudext.so
329 %attr(755,root,root) %{py_sitedir}/pcardext.so
330 %attr(755,root,root) %{py_sitedir}/scanext.so
331 %dir %{_sysconfdir}/hp
332 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hp/hplip.conf
333 /lib/udev/rules.d/56-hpmud.rules
334 /etc/dbus-1/system.d/com.hp.hplip.conf
335 %{_datadir}/dbus-1/system-services/com.hp.hplip.service
336 %{_datadir}/polkit-1/actions/com.hp.hplip.policy
337
338 %files gui-tools
339 %defattr(644,root,root,755)
340 %attr(755,root,root) %{_bindir}/hp-devicesettings
341 %attr(755,root,root) %{_bindir}/hp-fab
342 %attr(755,root,root) %{_bindir}/hp-faxsetup
343 %attr(755,root,root) %{_bindir}/hp-linefeedcal
344 %attr(755,root,root) %{_bindir}/hp-pqdiag
345 %attr(755,root,root) %{_bindir}/hp-print
346 %attr(755,root,root) %{_bindir}/hp-printsettings
347 %attr(755,root,root) %{_bindir}/hp-systray
348 %attr(755,root,root) %{_bindir}/hp-toolbox
349 %attr(755,root,root) %{_bindir}/hp-wificonfig
350 %attr(755,root,root) %{_datadir}/hplip/devicesettings.py
351 %attr(755,root,root) %{_datadir}/hplip/wificonfig.py
352 %attr(755,root,root) %{_datadir}/hplip/fab.py
353 %attr(755,root,root) %{_datadir}/hplip/faxsetup.py
354 %attr(755,root,root) %{_datadir}/hplip/linefeedcal.py
355 %attr(755,root,root) %{_datadir}/hplip/pqdiag.py
356 %attr(755,root,root) %{_datadir}/hplip/print.py
357 %attr(755,root,root) %{_datadir}/hplip/printsettings.py
358 %attr(755,root,root) %{_datadir}/hplip/systray.py
359 %attr(755,root,root) %{_datadir}/hplip/toolbox.py
360 %{_datadir}/hplip/ui4
361 %{_datadir}/hplip/data/images
362 %{_sysconfdir}/xdg/autostart/hplip-systray.desktop
363 %{_desktopdir}/hplip.desktop
364 %dir /var/lib/hp
365 %verify(not md5 mtime size) /var/lib/hp/hplip.state
366
367 %files libs
368 %defattr(644,root,root,755)
369 %attr(755,root,root) %{_libdir}/libhpdiscovery.so.*.*.*
370 %attr(755,root,root) %ghost %{_libdir}/libhpdiscovery.so.0
371 %attr(755,root,root) %{_libdir}/libhpip.so.*.*.*
372 %attr(755,root,root) %ghost %{_libdir}/libhpip.so.0
373 %attr(755,root,root) %{_libdir}/libhpipp.so.*.*.*
374 %attr(755,root,root) %ghost %{_libdir}/libhpipp.so.0
375 %attr(755,root,root) %{_libdir}/libhpmud.so.*.*.*
376 %attr(755,root,root) %ghost %{_libdir}/libhpmud.so.0
377
378 %files sane
379 %defattr(644,root,root,755)
380 %doc scan/sane/hpaio.desc
381 %attr(755,root,root) %{_libdir}/sane/libsane-hpaio.so.*.*.*
382 %attr(755,root,root) %{_libdir}/sane/libsane-hpaio.so.1
383
384 %files ppd
385 %defattr(644,root,root,755)
386 %if %{with fax}
387 %{cups_ppddir}/HP-Fax*.ppd.gz
388 %endif
389 %{cups_ppddir}/apollo-*.ppd.gz
390 %{cups_ppddir}/hp-*.ppd.gz
391
392 %files -n cups-backend-hp
393 %defattr(644,root,root,755)
394 %attr(755,root,root) %{cups_backenddir}/hp
395 %attr(755,root,root) %{cups_filterdir}/foomatic-rip-hplip
396 %attr(755,root,root) %{cups_filterdir}/hpcups
397 %attr(755,root,root) %{cups_filterdir}/hpps
398 %{cups_datadir}/drv/hp
399
400 %if %{with fax}
401 %files -n cups-backend-hpfax
402 %defattr(644,root,root,755)
403 %attr(755,root,root) %{cups_backenddir}/hpfax
404 %attr(755,root,root) %{cups_filterdir}/hpcupsfax
405 %attr(755,root,root) %{cups_filterdir}/pstotiff
406 %{cups_mimedir}/pstotiff.types
407 %{cups_mimedir}/pstotiff.convs
408 %endif
This page took 0.074086 seconds and 2 git commands to generate.