3 %bcond_without doc # disable documentation building
4 %bcond_with policykit # http://lists.pld-linux.org/mailman/pipermail/pld-devel-pl/2010-January/150972.html
5 %bcond_without consolekit # ConsoleKit support
7 Summary: HAL - Hardware Abstraction Layer
8 Summary(pl.UTF-8): HAL - abstrakcyjna warstwa dostępu do sprzętu
12 License: AFL v2.0 or GPL v2
14 Source0: http://hal.freedesktop.org/releases/%{name}-%{version}.tar.gz
15 # Source0-md5: e9163df591a6f38f59fdbfe33e73bf20
16 Source1: %{name}daemon.init
17 Source2: %{name}d.sysconfig
18 Source3: %{name}-storage-policy-fixed-drives.fdi
19 Source4: %{name}daemon.upstart
20 Patch0: %{name}-tools.patch
21 Patch1: %{name}-ac.patch
22 Patch2: %{name}-link.patch
23 Patch3: %{name}-rethink.patch
24 Patch4: %{name}-showexec.patch
25 Patch5: %{name}-x11-zap.patch
26 Patch6: %{name}-out.patch
27 Patch7: %{name}-fixes.patch
28 Patch8: %{name}-kill-v4l1.patch
29 URL: http://freedesktop.org/Software/hal
30 %{?with_consolekit:BuildRequires: ConsoleKit-devel}
31 %{?with_policykit:BuildRequires: PolicyKit-devel >= 0.7}
32 BuildRequires: autoconf >= 2.60
33 BuildRequires: automake >= 1:1.9
34 BuildRequires: dbus-glib-devel >= 0.71
36 BuildRequires: docbook-dtd41-sgml
37 BuildRequires: docbook-dtd412-xml
38 BuildRequires: docbook-utils
39 BuildRequires: doxygen
41 BuildRequires: expat-devel >= 1:1.95.8
42 BuildRequires: gettext-tools
43 BuildRequires: glib2-devel >= 1:2.14.0
46 BuildRequires: gtk-doc >= 1.3
48 BuildRequires: intltool >= 0.22
49 BuildRequires: libblkid-devel >= 2.15
50 %ifarch %{ix86} %{x8664}
51 BuildRequires: libsmbios-devel >= 0.13.4
53 BuildRequires: libtool
54 BuildRequires: libusb-compat-devel
56 BuildRequires: parted-devel >= 1.8.0
57 BuildRequires: pciutils-devel >= 2.2.3
58 BuildRequires: pkgconfig
59 BuildRequires: python-modules
60 BuildRequires: rpm-pythonprov
61 BuildRequires: rpmbuild(macros) >= 1.228
64 # R: cryptsetup-luks >= 1.0.1 (at runtime)
65 Requires(post,preun): /sbin/chkconfig
66 Requires(pre): /bin/id
67 Requires(pre): /usr/bin/getgid
68 Requires(pre): /usr/bin/polkit-auth
69 Requires(pre): /usr/sbin/groupadd
70 Requires(pre): /usr/sbin/useradd
71 Requires: rc-scripts >= 0.4.3.0
73 Requires: %{name}-libs = %{version}-%{release}
75 Requires: PolicyKit >= 0.7
77 %if %{with consolekit}
81 Requires: dbus >= 0.91
82 Requires: dmidecode >= 2.7
83 Requires: glib2 >= 1:2.14.0
85 Requires: python-dbus >= 0.71
87 Requires: udev-core >= 1:125
88 # require pciutils and usbutils with .ids in expected location
89 Requires: /etc/pci.ids
90 Requires: /etc/usb.ids
91 Obsoletes: hal-device-manager
92 Obsoletes: hal-fstab-sync
93 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
95 %define _libexecdir %{_libdir}/%{name}
98 HAL is an implementation of a hardware abstraction layer.
100 %description -l pl.UTF-8
101 HAL jest implementacją abstrakcyjnej warstwy dostępu do sprzętu.
105 Summary(pl.UTF-8): Biblioteka HAL
107 Requires: dbus-libs >= 0.91
112 %description libs -l pl.UTF-8
116 Summary: Header files for HAL library
117 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki HAL
118 Group: Development/Libraries
119 Requires: %{name}-libs = %{version}-%{release}
120 Requires: dbus-devel >= 0.91
123 Header files for HAL library.
125 %description devel -l pl.UTF-8
126 Pliki nagłówkowe biblioteki HAL.
129 Summary: Static HAL library
130 Summary(pl.UTF-8): Statyczna biblioteka HAL
131 Group: Development/Libraries
132 Requires: %{name}-devel = %{version}-%{release}
137 %description static -l pl.UTF-8
138 Statyczna biblioteka HAL.
141 Summary: HAL API documentation
142 Summary(pl.UTF-8): Dokumentacja API biblioteki HAL
144 Requires: gtk-doc-common
147 HAL API documentation.
149 %description apidocs -l pl.UTF-8
150 Dokumentacja API biblioteki HAL.
173 POLKIT_POLICY_FILE_VALIDATE=%{_bindir}/polkit-policy-file-validate \
174 --%{?with_doc:en}%{!?with_doc:dis}able-docbook-docs \
175 --%{?with_doc:en}%{!?with_doc:dis}able-gtk-doc \
176 --disable-silent-rules \
177 %{?with_policykit:--enable-acl-management} \
179 --enable-acpi-toshiba \
180 --%{!?with_consolekit:dis}%{?with_consolekit:en}able-console-kit \
182 --%{!?with_policykit:dis}%{?with_policykit:en}able-policy-kit \
184 --enable-umount-helper \
186 --with-html-dir=%{_gtkdocdir} \
187 --with-hwdata=%{_sysconfdir} \
188 --with-udev-prefix=/lib \
189 %ifarch %{ix86} %{x8664}
193 --with-pid-file=%{_localstatedir}/run/hald.pid \
198 rm -rf $RPM_BUILD_ROOT
199 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
200 $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d,init},%{_desktopdir}} \
201 $RPM_BUILD_ROOT%{_sysconfdir}/hal/fdi/{information,policy,preprobe} \
202 $RPM_BUILD_ROOT/lib/udev/rules.d
205 DESTDIR=$RPM_BUILD_ROOT
207 #find $RPM_BUILD_ROOT%{_datadir}/hal/device-manager -name "*.py" -exec rm -f {} \;
209 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/haldaemon
210 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/init/haldaemon.conf
211 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/hald
213 # policy file to ignore fixed disks.
215 $RPM_BUILD_ROOT%{_datadir}/%{name}/fdi/policy/10osvendor/99-storage-policy-fixed-drives.fdi
217 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/hotplug.d
218 rm -rf $RPM_BUILD_ROOT%{_libdir}/hal.hotplug
219 rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
222 rm -rf $RPM_BUILD_ROOT
225 %groupadd -g 126 -r -f haldaemon
226 %useradd -u 126 -r -d /usr/share/empty -s /bin/false -c "HAL daemon" -g haldaemon haldaemon
227 %{?with_policykit:/usr/bin/polkit-auth --user haldaemon --grant org.freedesktop.policykit.read 2> /dev/null || :}
230 /sbin/chkconfig --add haldaemon
231 %service haldaemon restart
234 if [ "$1" = "0" ]; then
235 %service -q haldaemon stop
236 /sbin/chkconfig --del haldaemon
239 %post libs -p /sbin/ldconfig
240 %postun libs -p /sbin/ldconfig
244 %defattr(644,root,root,755)
245 %doc AUTHORS NEWS README doc/TODO
246 %attr(755,root,root) %{_bindir}/hal-device
247 %attr(755,root,root) %{_bindir}/hal-disable-polling
248 %attr(755,root,root) %{_bindir}/hal-find-by-capability
249 %attr(755,root,root) %{_bindir}/hal-find-by-property
250 %attr(755,root,root) %{_bindir}/hal-get-property
251 %attr(755,root,root) %{_bindir}/hal-is-caller-locked-out
252 %{?with_policykit:%attr(755,root,root) %{_bindir}/hal-is-caller-privileged}
253 %attr(755,root,root) %{_bindir}/hal-lock
254 %attr(755,root,root) %{_bindir}/hal-set-property
255 %attr(755,root,root) %{_bindir}/hal-setup-keymap
256 %attr(755,root,root) %{_bindir}/lshal
257 %attr(755,root,root) %{_sbindir}/hald
258 %attr(755,root,root) /sbin/umount.hal
260 %attr(755,root,root) %{_libexecdir}/hald-*
261 %attr(755,root,root) %{_libexecdir}/hal-*
263 %dir %{_libdir}/hal/scripts
264 %attr(755,root,root) %{_libdir}/hal/scripts/*
266 %dir %{_sysconfdir}/%{name}
267 %{_sysconfdir}/%{name}/fdi
269 %attr(754,root,root) /etc/rc.d/init.d/haldaemon
270 %config(noreplace) %verify(not md5 mtime size) /etc/init/haldaemon.conf
271 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/hald
272 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dbus*/system.d/hal.conf
273 /lib/udev/rules.d/90-hal.rules
274 %{?with_policykit:%config(noreplace) %verify(not md5 mtime size) %{_datadir}/PolicyKit/policy/*.policy}
276 %dir %{_datadir}/%{name}
277 %{_datadir}/%{name}/fdi
281 %dir /var/run/hald/hald-local
282 %dir /var/run/hald/hald-runner
287 %defattr(644,root,root,755)
288 %attr(755,root,root) %{_libdir}/libhal.so.*.*.*
289 %attr(755,root,root) %ghost %{_libdir}/libhal.so.1
290 %attr(755,root,root) %{_libdir}/libhal-storage.so.*.*.*
291 %attr(755,root,root) %ghost %{_libdir}/libhal-storage.so.1
294 %defattr(644,root,root,755)
295 %attr(755,root,root) %{_libdir}/libhal.so
296 %attr(755,root,root) %{_libdir}/libhal-storage.so
298 %{_libdir}/libhal-storage.la
299 %{_includedir}/%{name}
300 %{_pkgconfigdir}/*.pc
303 %defattr(644,root,root,755)
305 %{_libdir}/libhal-storage.a
308 %defattr(644,root,root,755)
310 %{_gtkdocdir}/libhal-storage