/[packages]/cauldron/udev/current/SPECS/udev.spec
ViewVC logotype

Contents of /cauldron/udev/current/SPECS/udev.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 202778 - (show annotations) (download)
Sat Jan 28 23:37:59 2012 UTC (12 years, 2 months ago) by dmorgan
File size: 12627 byte(s)
New version 179
Rediff patches

1 %define url ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug
2 %define tarname %{name}-%{version}
3 %define kernel_dir /usr/src/linux
4 %define use_dietlibc 0
5 %define bootstrap 0
6
7 %define main_major 0
8 %define gudev_api 1.0
9 %define gudev_major 0
10
11 %define libname %mklibname %{name} %{main_major}
12 %define gudev_libname %mklibname gudev %{gudev_api} %{main_major}
13 %define gudev_libname_devel %mklibname gudev %{gudev_api} -d
14
15 %define lib_udev_dir /lib/%name
16 %define system_rules_dir %{lib_udev_dir}/rules.d
17 %define user_rules_dir %{_sysconfdir}/%{name}/rules.d
18
19 %{?_without_dietlibc: %{expand: %%global use_dietlibc 0}}
20 %{?_with_dietlibc: %{expand: %%global use_dietlibc 1}}
21
22 %{?_with_bootstrap: %{expand: %%global bootstrap 1}}
23 %{?_without_bootstrap: %{expand: %%global bootstrap 0}}
24
25 %define git_url git://git.kernel.org/pub/scm/linux/hotplug/udev.git
26 %define _with_systemd 1
27
28 Name: udev
29 Version: 179
30 Release: %mkrel 1
31 License: GPLv2
32 Summary: A userspace implementation of devfs
33 Group: System/Configuration/Hardware
34 URL: %{url}
35 Source0: %{url}/%{tarname}.tar.xz
36 Source1: %{url}/%{tarname}.tar.sign
37 Source2: 50-udev-mageia.rules
38 Source3: 69-printeracl.rules
39 Source5: udev.sysconfig
40
41 # Originally from Fedora (dropped due to systemd replacements)
42 Source6: udev-post.init
43 Source7: start_udev
44
45 Source34: udev_import_usermap
46 # from hotplug-2004_09_23
47 Source40: hotplug-usb.distmap
48 Source41: hotplug-usb.handmap
49 # (blino) net rules and helpers
50 Source60: 76-net.rules
51 Source62: udev_net_create_ifcfg
52 Source63: udev_net_action
53 Source64: udev_net.sysconfig
54 # (hk) udev rules for zte 3g modems with drakx-net
55 Source66: 61-mobile-zte-drakx-net.rules
56
57 # from Mageia
58 # disable coldplug for storage and device pci
59 Patch0: udev-152-coldplug.patch
60
61 # allow to boot from live cd in virtualbox
62 Patch1: udev-162-VirtualBox-boot-fix.patch
63
64 # from upstream git
65 Patch2: udev-173-dev-sg-ACL.patch
66
67 Requires: coreutils
68 Requires: setup >= 2.7.16
69 Requires: util-linux-ng >= 2.15
70 Requires: acl
71 # for disk/lp groups
72 Requires(pre): setup
73 Requires(post): rpm-helper
74 Requires(preun): rpm-helper
75
76 %if %use_dietlibc
77 BuildRequires: dietlibc
78 %endif
79 BuildRequires: glibc-static-devel
80 BuildRequires: libblkid-devel
81 %if %{_with_systemd}
82 BuildRequires: systemd-units
83 %endif
84 %if !%{bootstrap}
85 BuildRequires: libacl-devel
86 BuildRequires: glib2-devel
87 BuildRequires: libusb-devel
88 BuildRequires: gperf
89 BuildRequires: gobject-introspection-devel >= 0.6.2
90 BuildRequires: libtool
91 BuildRequires: usbutils
92 BuildRequires: kernel-source
93 Buildrequires: pkgconfig(libkmod)
94 BuildRequires: ldetect-lst >= 0.1.283
95 Requires: ldetect-lst >= 0.1.283
96 %endif
97 Obsoletes: speedtouch eagle-usb
98 Obsoletes: %{name}-tools < 125
99 Provides: %{name}-tools = %{version}-%{release}
100
101 %description
102 Udev is an implementation of devfs/devfsd in userspace using sysfs and
103 /sbin/hotplug. It requires a 2.6 kernel to run properly.
104
105 Like devfs, udev dynamically creates and removes device nodes from /dev/.
106 It responds to /sbin/hotplug device events.
107
108 %package doc
109 Summary: Udev documentation
110 Group: Books/Computer books
111 %description doc
112 This package contains documentation of udev.
113
114 %package -n %{libname}
115 Group: System/Libraries
116 Summary: Library for %{name}
117 License: LGPLv2+
118 %description -n %{libname}
119 Library for %{name}.
120
121 %package -n %{libname}-devel
122 Group: Development/C
123 Summary: Devel library for %{name}
124 License: LGPLv2+
125 Provides: %{name}-devel = %{version}-%{release}
126 Provides: lib%{name}-devel = %{version}-%{release}
127 Requires: %{libname} = %{version}
128 %description -n %{libname}-devel
129 Devel library for udev.
130
131 %package -n %{gudev_libname}
132 Summary: Libraries for adding libudev support to applications that use glib
133 Group: System/Libraries
134 License: LGPLv2+
135 Requires: %{libname} >= 142
136 Provides: libgudev = %{version}-%{release}
137
138 %description -n %{gudev_libname}
139 This package contains the libraries that make it easier to use libudev
140 functionality from applications that use glib.
141
142 %package -n %{gudev_libname_devel}
143 Summary: Header files for adding libudev support to applications that use glib
144 Group: Development/C
145 License: LGPLv2+
146 Requires: %{libname}-devel >= 142
147 Requires: %{gudev_libname} = %{version}-%{release}
148 Provides: libgudev-devel = %{version}-%{release}
149
150 %description -n %{gudev_libname_devel}
151 This package contains the header and pkg-config files for developing
152 glib-based applications using libudev functionality.
153
154 %prep
155 %setup -q
156 %patch0 -p1 -b .coldplug
157 %patch1 -p1 -b .virtualbox_boot
158 %patch2 -p1 -b .dev_sg_ACL
159 cp -a %{SOURCE7} .
160 cp -a %{SOURCE6} .
161
162 %build
163 %serverbuild
164 %configure2_5x \
165 --prefix=%{_prefix} \
166 --sysconfdir=%{_sysconfdir} \
167 --with-rootprefix= \
168 --bindir="/sbin" \
169 --libexecdir="/lib/" \
170 --with-rootlibdir=/%{_lib} \
171 --enable-floppy \
172 --enable-udev-acl \
173 %if !%{_with_systemd}
174 --wiithout-systemdsystemunitdir \
175 %else
176 --with-systemdsystemunitdir="%{_unitdir}" \
177 %endif
178 %if %{bootstrap}
179 --disable-introspection
180 %else
181 --enable-introspection
182 %endif
183
184 %make
185
186 %install
187 %makeinstall_std
188
189 %if %use_dietlibc
190 install -d %{buildroot}%{_prefix}/lib/dietlibc/lib-%{_arch}
191 %endif
192
193 install -Dm 755 start_udev %{buildroot}/sbin/
194
195 install -m 644 %SOURCE2 %{buildroot}%{system_rules_dir}/
196 install -m 644 %SOURCE3 %{buildroot}%{system_rules_dir}/
197
198 install -d %{buildroot}%{_sysconfdir}/sysconfig
199 install -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/sysconfig/udev
200
201 # net rules
202 install -m 0644 %SOURCE60 %{buildroot}%{system_rules_dir}/
203 install -m 0755 %SOURCE62 %{buildroot}%{lib_udev_dir}/net_create_ifcfg
204 install -m 0755 %SOURCE63 %{buildroot}%{lib_udev_dir}/net_action
205 install -m 0644 %SOURCE64 %{buildroot}/etc/sysconfig/udev_net
206
207 mkdir -p %{buildroot}%{_sbindir}
208 install -m 0755 %SOURCE34 %{buildroot}%{_sbindir}
209 mkdir -p %{buildroot}%{_sysconfdir}/%{name}/agents.d/usb
210
211 touch $RPM_BUILD_ROOT%{_sysconfdir}/scsi_id.config
212
213 %{buildroot}%{_sbindir}/udev_import_usermap --no-driver-agent usb %{SOURCE40} %{SOURCE41} > %{buildroot}%{system_rules_dir}/70-hotplug_map.rules
214
215 mkdir -p %{buildroot}%{_initrddir}
216 install -m 0755 udev-post.init %{buildroot}%{_initrddir}/udev-post
217
218 %if %{_with_systemd}
219 # (bor) screen initscript from systemd
220 #ln -s udev-settle.service %{buildroot}/lib/systemd/system/udev-post.service
221 %endif
222
223 ln -s ..%{lib_udev_dir}/udevd %{buildroot}/sbin/
224
225 # udev rules for zte 3g modems and drakx-net
226 install -m 0644 %SOURCE66 %{buildroot}%{system_rules_dir}/
227
228 mkdir -p %{buildroot}/lib/firmware
229
230 rm -rf $RPM_BUILD_ROOT%{_docdir}/udev
231 rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
232
233 # default /dev content, from Fedora RPM
234 mkdir -p %{buildroot}%{lib_udev_dir}/devices/{net,hugepages,pts,shm}
235
236 # From previous Mandriva /etc/udev/devices.d
237 mkdir -p %{buildroot}%{lib_udev_dir}/devices/cpu/0
238
239 %post
240 %_post_service udev-post
241
242 %preun
243 %_preun_service udev-post
244
245 %triggerun -- udev <= 164-1mnb2
246 # migrate from create_static_dev_nodes
247 for i in /etc/udev/devices.d/*.nodes; do
248 [ -e "$i" ] && /sbin/create_static_dev_nodes /lib/udev/devices "$i" || :
249 done
250
251 %files
252 %defattr(0644,root,root,0755)
253 %attr(0755,root,root) %{lib_udev_dir}/udevd
254 %attr(0755,root,root) /sbin/udevadm
255 %attr(0755,root,root) /sbin/udevd
256 %attr(0755,root,root) /sbin/start_udev
257 %attr(0755,root,root) %{_sbindir}/udev_import_usermap
258 %attr(0755,root,root) %{_initrddir}/udev-post
259 %dir %{_sysconfdir}/%{name}/agents.d
260 %dir %{_sysconfdir}/%{name}/agents.d/usb
261 %config(noreplace) %{_sysconfdir}/sysconfig/udev
262 %config(noreplace) %{_sysconfdir}/sysconfig/udev_net
263 %config(noreplace) %{_sysconfdir}/%{name}/*.conf
264 %ghost %config(noreplace,missingok) %attr(0644,root,root) %{_sysconfdir}/scsi_id.config
265 %dir %{system_rules_dir}
266 %{system_rules_dir}/*
267 %dir %{_sysconfdir}/%{name}
268 %dir %{user_rules_dir}
269 %{_mandir}/man7/*
270 %{_mandir}/man8/*
271 %dir /lib/firmware
272 %dir %{lib_udev_dir}
273 %attr(0755,root,root) %{lib_udev_dir}/accelerometer
274 %attr(0755,root,root) %{lib_udev_dir}/ata_id
275 %attr(0755,root,root) %{lib_udev_dir}/cdrom_id
276 %attr(0755,root,root) %{lib_udev_dir}/scsi_id
277 %attr(0755,root,root) %{lib_udev_dir}/collect
278 %attr(0755,root,root) %{lib_udev_dir}/create_floppy_devices
279 #%attr(0755,root,root) %{lib_udev_dir}/firmware
280 %attr(0755,root,root) %{lib_udev_dir}/net_create_ifcfg
281 %attr(0755,root,root) %{lib_udev_dir}/net_action
282 %attr(0755,root,root) %{lib_udev_dir}/v4l_id
283 %attr(0755,root,root) %{lib_udev_dir}/mtd_probe
284 # Default static nodes to copy to /dev on udevd start
285 %dir %{lib_udev_dir}/devices
286 # From Fedora RPM
287 %attr(0755,root,root) %dir %{lib_udev_dir}/devices/net
288 %attr(0755,root,root) %dir %{lib_udev_dir}/devices/hugepages
289 %attr(0755,root,root) %dir %{lib_udev_dir}/devices/pts
290 %attr(0755,root,root) %dir %{lib_udev_dir}/devices/shm
291 %attr(666,root,root) %dev(c,10,200) %{lib_udev_dir}/devices/net/tun
292 %attr(600,root,root) %dev(c,108,0) %{lib_udev_dir}/devices/ppp
293 %attr(666,root,root) %dev(c,10,229) %{lib_udev_dir}/devices/fuse
294 %attr(660,root,lp) %dev(c,6,0) %{lib_udev_dir}/devices/lp0
295 %attr(660,root,lp) %dev(c,6,1) %{lib_udev_dir}/devices/lp1
296 %attr(660,root,lp) %dev(c,6,2) %{lib_udev_dir}/devices/lp2
297 %attr(660,root,lp) %dev(c,6,3) %{lib_udev_dir}/devices/lp3
298 %attr(640,root,disk) %dev(b,7,0) %{lib_udev_dir}/devices/loop0
299 %attr(640,root,disk) %dev(b,7,1) %{lib_udev_dir}/devices/loop1
300 %attr(640,root,disk) %dev(b,7,2) %{lib_udev_dir}/devices/loop2
301 %attr(640,root,disk) %dev(b,7,3) %{lib_udev_dir}/devices/loop3
302 %attr(640,root,disk) %dev(b,7,4) %{lib_udev_dir}/devices/loop4
303 %attr(640,root,disk) %dev(b,7,5) %{lib_udev_dir}/devices/loop5
304 %attr(640,root,disk) %dev(b,7,6) %{lib_udev_dir}/devices/loop6
305 %attr(640,root,disk) %dev(b,7,7) %{lib_udev_dir}/devices/loop7
306
307 # From previous Mandriva /etc/udev/devices.d and patches
308 %attr(0666,root,root) %dev(c,1,3) %{lib_udev_dir}/devices/null
309 %attr(0600,root,root) %dev(b,2,0) %{lib_udev_dir}/devices/fd0
310 %attr(0600,root,root) %dev(b,2,1) %{lib_udev_dir}/devices/fd1
311 %attr(0600,root,root) %dev(c,21,0) %{lib_udev_dir}/devices/sg0
312 %attr(0600,root,root) %dev(c,21,1) %{lib_udev_dir}/devices/sg1
313 %attr(0600,root,root) %dev(c,9,0) %{lib_udev_dir}/devices/st0
314 %attr(0600,root,root) %dev(c,9,1) %{lib_udev_dir}/devices/st1
315 %attr(0600,root,root) %dev(c,99,0) %{lib_udev_dir}/devices/parport0
316 %dir %{lib_udev_dir}/devices/cpu
317 %dir %{lib_udev_dir}/devices/cpu/0
318 %attr(0600,root,root) %dev(c,203,0) %{lib_udev_dir}/devices/cpu/0/cpuid
319 %attr(0600,root,root) %dev(c,10,184) %{lib_udev_dir}/devices/cpu/0/microcode
320 %attr(0600,root,root) %dev(c,202,0) %{lib_udev_dir}/devices/cpu/0/msr
321 %attr(0600,root,root) %dev(c,162,0) %{lib_udev_dir}/devices/rawctl
322 %attr(0600,root,root) %dev(c,195,0) %{lib_udev_dir}/devices/nvidia0
323 %attr(0600,root,root) %dev(c,195,255) %{lib_udev_dir}/devices/nvidiactl
324 %if !%{bootstrap}
325 #%attr(0755,root,root) %{lib_udev_dir}/pci-db
326 #%attr(0755,root,root) %{lib_udev_dir}/usb-db
327 %attr(0755,root,root) %{lib_udev_dir}/keymap
328 %attr(0755,root,root) %{lib_udev_dir}/udev-acl
329 %attr(0755,root,root) %{lib_udev_dir}/findkeyboards
330 %attr(0755,root,root) %{lib_udev_dir}/keyboard-force-release.sh
331 %dir %attr(0755,root,root) %{lib_udev_dir}/keymaps
332 %attr(0755,root,root) %{lib_udev_dir}/keymaps/*
333 %attr(0644,root,root) %{_prefix}/lib/ConsoleKit/run-seat.d/udev-acl.ck
334 %endif
335 %if %{_with_systemd}
336 /lib/systemd/system/basic.target.wants/udev-trigger.service
337 /lib/systemd/system/basic.target.wants/udev.service
338 /lib/systemd/system/sockets.target.wants/udev-control.socket
339 /lib/systemd/system/sockets.target.wants/udev-kernel.socket
340 /lib/systemd/system/udev-control.socket
341 /lib/systemd/system/udev-kernel.socket
342 /lib/systemd/system/udev-settle.service
343 /lib/systemd/system/udev-trigger.service
344 /lib/systemd/system/udev.service
345 %endif
346
347 %files doc
348 %defattr(0644,root,root,0755)
349 %doc COPYING README TODO ChangeLog NEWS
350 #extras/keymap/README.keymap.txt
351
352 %files -n %{libname}
353 %defattr(0644,root,root,0755)
354 /%{_lib}/lib%{name}.so.%{main_major}*
355
356 %files -n %{libname}-devel
357 %defattr(0644,root,root,0755)
358 %doc %{_datadir}/gtk-doc/html/libudev
359 %{_libdir}/lib%{name}.*
360 %if %use_dietlibc
361 %{_prefix}/lib/dietlibc/lib-%{_arch}/lib%{name}.a
362 %endif
363 %{_libdir}/pkgconfig/lib%{name}.pc
364 %{_datadir}/pkgconfig/udev.pc
365 %{_includedir}/lib%{name}.h
366
367 %if !%{bootstrap}
368 %files -n %{gudev_libname}
369 %defattr(0644,root,root,0755)
370 /%{_lib}/libgudev-%{gudev_api}.so.%{gudev_major}*
371 %{_libdir}/girepository-1.0/GUdev-%{gudev_api}.typelib
372
373 %files -n %{gudev_libname_devel}
374 %defattr(0644,root,root,0755)
375 %doc %{_datadir}/gtk-doc/html/gudev
376 %{_libdir}/libgudev-%{gudev_api}.so
377 %{_includedir}/gudev-%{gudev_api}
378 %{_datadir}/gir-1.0/GUdev-%{gudev_api}.gir
379 %{_libdir}/pkgconfig/gudev-%{gudev_api}.pc
380 %endif

  ViewVC Help
Powered by ViewVC 1.1.30