2 # - get rules patches from systemd (if any)
5 %bcond_without selinux # without SELinux support
6 %bcond_with apidocs # with API docs
8 Summary: Device manager for the Linux kernel
9 Summary(pl.UTF-8): Zarządca urządzeń dla jądra Linuksa
14 License: GPL v2+ (udev), LGPL v2.1+ (the rest)
16 Source0: http://dev.gentoo.org/~blueness/eudev/eudev-%{version}.tar.gz
17 # Source0-md5: 07ab33fe310d250f06fc28f010e3fde2
19 Source101: udev-alsa.rules
21 Source103: udev-links.conf
23 Source110: udev-net.helper
26 Source120: udev.blacklist
27 Source121: fbdev.blacklist
28 Patch0: udev-ploop-rules.patch
29 Patch1: udev-libexecdir.patch
30 Patch2: udev-net.ifnames.patch
31 URL: http://www.gentoo.org/proj/en/eudev/
32 BuildRequires: attr-devel
33 BuildRequires: autoconf >= 2.64
34 BuildRequires: automake >= 1:1.11
35 BuildRequires: binutils >= 3:2.22.52.0.1-2
36 BuildRequires: dbus-devel >= 1.3.2
37 BuildRequires: docbook-style-xsl
38 BuildRequires: glib2-devel >= 1:2.22.0
39 BuildRequires: glibc-misc
40 BuildRequires: gobject-introspection-devel >= 1.31.1
42 %{?with_apidocs:BuildRequires: gtk-doc >= 1.18}
43 BuildRequires: kmod-devel >= 14
44 BuildRequires: libblkid-devel >= 2.20
45 %{?with_selinux:BuildRequires: libselinux-devel >= 2.1.9}
46 BuildRequires: libtool >= 2:2.2
47 BuildRequires: libxslt-progs
49 BuildRequires: pkgconfig >= 0.9.0
50 BuildRequires: python-modules
51 BuildRequires: rpmbuild(macros) >= 1.628
52 BuildRequires: sed >= 4.0
53 BuildRequires: usbutils >= 0.82
54 BuildRequires: xz-devel
55 BuildRequires: zlib-devel
56 Requires: udev-core = %{epoch}:%{version}-%{release}
60 Obsoletes: hotplug-input
61 Obsoletes: hotplug-net
62 Obsoletes: hotplug-pci
64 Obsoletes: udev-extras < 20090628
66 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69 %define _sbindir /sbin
70 %define _libexecdir %{_prefix}/lib
73 udev is the device manager for the Linux kernel. Its primary function
74 is managing device nodes in /dev. It is the successor of devfs and
77 %description -l pl.UTF-8
78 udev jest zarządcą urządzeń dla jądra Linuksa. Jego główną funkcją
79 jest zarządzanie węzłami urządzeń w katalogu /dev. Jest następcą devfs
83 Summary: A userspace implementation of devfs - core part of udev
84 Summary(pl.UTF-8): Implementacja devfs w przestrzeni użytkownika - główna część udev
87 Requires: filesystem >= 3.0-45
89 Requires: libblkid >= 2.20
90 %{?with_selinux:Requires: libselinux >= 2.1.9}
91 Requires: setup >= 2.6.1-1
92 Requires: udev-libs = %{epoch}:%{version}-%{release}
93 Requires: uname(release) >= 2.6.32
94 #Suggests: uname(release) >= 3.0
95 Obsoletes: udev-compat
96 Obsoletes: udev-initrd < %{epoch}:%{version}-%{release}}
97 Conflicts: geninitrd < 12639
98 Conflicts: rc-scripts < 0.4.5.3-1
99 Conflicts: systemd-units < 1:183
100 Conflicts: udev < 1:118-1
103 A userspace implementation of devfs - core part of udev.
105 %description core -l pl.UTF-8
106 Implementacja devfs w przestrzeni użytkownika - główna część udev.
109 Summary: Shared library to access udev device information
110 Summary(pl.UTF-8): Biblioteka współdzielona do dostępu do informacji o urządzeniach udev
114 Shared libudev library to access udev device information.
116 %description libs -l pl.UTF-8
117 Biblioteka współdzielona libudev służąca do dostępu do informacji o
121 Summary: Header file for libudev library
122 Summary(pl.UTF-8): Plik nagłówkowy biblioteki libudev
123 Group: Development/Libraries
124 Requires: udev-libs = %{epoch}:%{version}-%{release}
125 Obsoletes: udev-static
128 Header file for libudev library.
130 %description devel -l pl.UTF-8
131 Plik nagłówkowy biblioteki libudev.
134 Summary: libudev API documentation
135 Summary(pl.UTF-8): Dokumentacja API libudev
137 Requires: gtk-doc-common
140 libudev API documentation.
142 %description apidocs -l pl.UTF-8
143 Dokumentacja API libudev.
146 Summary: Shared libgudev library - GObject bindings for libudev
147 Summary(pl.UTF-8): Biblioteka współdzielona libgudev - wiązania GObject do libudev
149 Requires: glib2 >= 1:2.22.0
150 Requires: udev-libs = %{epoch}:%{version}-%{release}
153 Shared libgudev library - GObject bindings for libudev.
155 %description glib -l pl.UTF-8
156 Biblioteka współdzielona libgudev - wiązania GObject do libudev.
159 Summary: Header file for libgudev library
160 Summary(pl.UTF-8): Plik nagłówkowy biblioteki libgudev
161 Group: Development/Libraries
162 Requires: glib2-devel >= 1:2.22.0
163 Requires: udev-devel = %{epoch}:%{version}-%{release}
164 Requires: udev-glib = %{epoch}:%{version}-%{release}
165 Obsoletes: udev-glib-static
167 %description glib-devel
168 Header file for libgudev library.
170 %description glib-devel -l pl.UTF-8
171 Plik nagłówkowy biblioteki libgudev.
173 %package glib-apidocs
174 Summary: libgudev API documentation
175 Summary(pl.UTF-8): Dokumentacja API libgudev
177 Requires: gtk-doc-common
179 %description glib-apidocs
180 libgudev API documentation.
182 %description glib-apidocs -l pl.UTF-8
183 Dokumentacja API libgudev.
186 %setup -q -n eudev-%{version}
202 --bindir=%{_sbindir} \
203 %{?debug:--enable-debug} \
204 %{__enable_disable apidocs gtk-doc} \
205 %{__enable_disable selinux} \
206 --disable-silent-rules \
207 --enable-introspection \
216 --with-html-dir=%{_gtkdocdir} \
217 --with-rootprefix="" \
218 --with-rootlibdir=/%{_lib} \
219 --with-udevlibexecdir=/lib/udev
224 rm -rf $RPM_BUILD_ROOT
225 install -d $RPM_BUILD_ROOT/var/lib/%{name}/coredump \
226 $RPM_BUILD_ROOT{%{_sysconfdir}/{udev/hwdb,modprobe}.d,%{_bindir},%{_sbindir},/usr/lib}
229 DESTDIR=$RPM_BUILD_ROOT
231 # compatibility symlinks to udevd binary
232 %{__ln} -s %{_sbindir}/udevd $RPM_BUILD_ROOT/lib/udev/udevd
234 # compat symlinks for "/ merged into /usr" programs
235 %{__ln} -s %{_sbindir}/udevadm $RPM_BUILD_ROOT/bin/
236 %{__ln} -s /lib/udev $RPM_BUILD_ROOT/usr/lib/
238 # install custom udev rules from pld package
239 %{__cp} -a %{SOURCE101} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/40-alsa-restore.rules
240 %{__cp} -a %{SOURCE102} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/70-udev-pld.rules
242 # install udev configs
243 %{__cp} -a %{SOURCE103} $RPM_BUILD_ROOT%{_sysconfdir}/udev/links.conf
245 # install udev executables (scripts, helpers, etc.)
246 install -p %{SOURCE110} $RPM_BUILD_ROOT/lib/udev/net_helper
247 install -p %{SOURCE111} $RPM_BUILD_ROOT%{_sbindir}/start_udev
249 # install misc udev stuff
250 %{__cp} -a %{SOURCE120} $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/udev_blacklist.conf
251 %{__cp} -a %{SOURCE121} $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/fbdev-blacklist.conf
253 :>$RPM_BUILD_ROOT%{_sysconfdir}/udev/hwdb.bin
255 install -d $RPM_BUILD_ROOT/var/log
256 :> $RPM_BUILD_ROOT/var/log/btmp
257 :> $RPM_BUILD_ROOT/var/log/wtmp
260 rm -rf $RPM_BUILD_ROOT
262 %triggerpostun core -- dev
263 if [ "$2" = 0 ]; then
264 # need to kill and restart udevd as after obsoleting dev package the
265 # /dev tree will remain empty. umask is needed as otherwise udev will
266 # create devices with strange permissions (udev bug probably)
268 /sbin/start_udev || exit 0
271 %triggerpostun core -- udev < 108
272 %{__sed} -i -e 's#IMPORT{program}="/sbin/#IMPORT{program}="#g' /etc/udev/rules.d/*.rules
273 %if "%{_lib}" != "lib"
274 %{__sed} -i -e 's#/%{_lib}/udev/#/lib/udev/#g' /etc/udev/rules.d/*.rules
277 %triggerpostun core -- udev < 165
278 /sbin/udevadm info --convert-db
281 /sbin/udevadm hwdb --update || :
282 if [ $1 -gt 1 ]; then
283 if grep -qs devtmpfs /proc/mounts && [ -n "$(pidof udevd)" ]; then
284 /sbin/udevadm control --exit
285 /lib/udev/udevd --daemon
289 %post libs -p /sbin/ldconfig
290 %postun libs -p /sbin/ldconfig
292 %post glib -p /sbin/ldconfig
293 %postun glib -p /sbin/ldconfig
296 %defattr(644,root,root,755)
297 %dev(c,1,3) %attr(666,root,root) /dev/null
298 %dev(c,5,1) %attr(660,root,console) /dev/console
299 %dev(c,1,5) %attr(666,root,root) /dev/zero
302 %defattr(644,root,root,755)
306 %attr(755,root,root) /lib/udev/collect
308 %attr(755,root,root) /lib/udev/net_helper
310 %attr(755,root,root) /lib/udev/ata_id
311 %attr(755,root,root) /lib/udev/cdrom_id
312 %attr(755,root,root) /lib/udev/mtd_probe
313 %attr(755,root,root) /lib/udev/scsi_id
314 %attr(755,root,root) /lib/udev/v4l_id
316 %attr(755,root,root) /lib/udev/udevd
318 %attr(755,root,root) /lib/udev/accelerometer
319 %dir /lib/udev/hwdb.d
320 /lib/udev/hwdb.d/20-OUI.hwdb
321 /lib/udev/hwdb.d/20-acpi-vendor.hwdb
322 /lib/udev/hwdb.d/20-bluetooth-vendor-product.hwdb
323 /lib/udev/hwdb.d/20-pci-classes.hwdb
324 /lib/udev/hwdb.d/20-pci-vendor-model.hwdb
325 /lib/udev/hwdb.d/20-sdio-classes.hwdb
326 /lib/udev/hwdb.d/20-sdio-vendor-model.hwdb
327 /lib/udev/hwdb.d/20-usb-classes.hwdb
328 /lib/udev/hwdb.d/20-usb-vendor-model.hwdb
329 /lib/udev/hwdb.d/60-evdev.hwdb
330 /lib/udev/hwdb.d/60-keyboard.hwdb
331 /lib/udev/hwdb.d/70-mouse.hwdb
332 /lib/udev/hwdb.d/70-touchpad.hwdb
334 %attr(755,root,root) %{_sbindir}/start_udev
335 %attr(755,root,root) %{_sbindir}/udevd
336 %attr(755,root,root) %{_sbindir}/udevadm
337 %attr(755,root,root) %{_bindir}/udevadm
339 %dir %{_sysconfdir}/udev
340 %dir %{_sysconfdir}/udev/rules.d
341 %dir %{_sysconfdir}/udev/hwdb.d
342 %ghost %{_sysconfdir}/udev/hwdb.bin
344 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/modprobe.d/fbdev-blacklist.conf
345 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/modprobe.d/udev_blacklist.conf
346 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/links.conf
347 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/rules.d/40-alsa-restore.rules
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/rules.d/70-udev-pld.rules
350 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/udev/udev.conf
352 # rules below are NOT supposed to be changed by users
353 /lib/udev/rules.d/42-usb-hid-pm.rules
354 /lib/udev/rules.d/50-udev-default.rules
355 /lib/udev/rules.d/60-cdrom_id.rules
356 /lib/udev/rules.d/60-block.rules
357 /lib/udev/rules.d/60-drm.rules
358 /lib/udev/rules.d/60-evdev.rules
359 /lib/udev/rules.d/60-persistent-alsa.rules
360 /lib/udev/rules.d/60-persistent-input.rules
361 /lib/udev/rules.d/60-persistent-storage-tape.rules
362 /lib/udev/rules.d/60-persistent-storage.rules
363 /lib/udev/rules.d/60-persistent-v4l.rules
364 /lib/udev/rules.d/60-serial.rules
365 /lib/udev/rules.d/61-accelerometer.rules
366 /lib/udev/rules.d/64-btrfs.rules
367 /lib/udev/rules.d/70-mouse.rules
368 /lib/udev/rules.d/70-touchpad.rules
369 /lib/udev/rules.d/75-net-description.rules
370 /lib/udev/rules.d/75-probe_mtd.rules
371 /lib/udev/rules.d/78-sound-card.rules
372 /lib/udev/rules.d/80-drivers.rules
373 /lib/udev/rules.d/80-net-name-slot.rules
374 %{_mandir}/man5/udev.conf.5*
375 %{_mandir}/man7/udev.7*
376 %{_mandir}/man8/udevadm.8*
377 %{_mandir}/man8/udevd.8*
380 %defattr(644,root,root,755)
381 %attr(755,root,root) /%{_lib}/libudev.so.*.*.*
382 %attr(755,root,root) %ghost /%{_lib}/libudev.so.1
385 %defattr(644,root,root,755)
386 %attr(755,root,root) %{_libdir}/libudev.so
387 %{_includedir}/libudev.h
388 %{_includedir}/udev.h
389 %{_pkgconfigdir}/libudev.pc
390 %{_npkgconfigdir}/udev.pc
394 %defattr(644,root,root,755)
395 %{_gtkdocdir}/libudev
399 %defattr(644,root,root,755)
400 %attr(755,root,root) %{_libdir}/libgudev-1.0.so.*.*.*
401 %attr(755,root,root) %ghost %{_libdir}/libgudev-1.0.so.0
402 %{_libdir}/girepository-1.0/GUdev-1.0.typelib
405 %defattr(644,root,root,755)
406 %attr(755,root,root) %{_libdir}/libgudev-1.0.so
407 %{_includedir}/gudev-1.0
408 %{_pkgconfigdir}/gudev-1.0.pc
409 %{_datadir}/gir-1.0/GUdev-1.0.gir
413 %defattr(644,root,root,755)