Gentoo Archives: gentoo-commits

From: "Matthias Schwarzott (zzam)" <zzam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-fs/udev: udev-168-r1.ebuild ChangeLog
Date: Sat, 30 Apr 2011 20:07:19
Message-Id: 20110430200708.7E18720054@flycatcher.gentoo.org
1 zzam 11/04/30 20:07:08
2
3 Modified: ChangeLog
4 Added: udev-168-r1.ebuild
5 Log:
6 fixed install location of baselayout-1 scripts, bug #364375.
7
8 (Portage version: 2.1.9.46/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.574 sys-fs/udev/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/ChangeLog?rev=1.574&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/ChangeLog?rev=1.574&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/ChangeLog?r1=1.573&r2=1.574
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v
20 retrieving revision 1.573
21 retrieving revision 1.574
22 diff -u -r1.573 -r1.574
23 --- ChangeLog 30 Apr 2011 13:15:40 -0000 1.573
24 +++ ChangeLog 30 Apr 2011 20:07:08 -0000 1.574
25 @@ -1,6 +1,11 @@
26 # ChangeLog for sys-fs/udev
27 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.573 2011/04/30 13:15:40 zzam Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.574 2011/04/30 20:07:08 zzam Exp $
30 +
31 +*udev-168-r1 (30 Apr 2011)
32 +
33 + 30 Apr 2011; Matthias Schwarzott <zzam@g.o> +udev-168-r1.ebuild:
34 + fixed install location of baselayout-1 scripts, bug #364375.
35
36 30 Apr 2011; Matthias Schwarzott <zzam@g.o> udev-168.ebuild,
37 udev-9999.ebuild:
38
39
40
41 1.1 sys-fs/udev/udev-168-r1.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-168-r1.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-fs/udev/udev-168-r1.ebuild?rev=1.1&content-type=text/plain
45
46 Index: udev-168-r1.ebuild
47 ===================================================================
48 # Copyright 1999-2011 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-168-r1.ebuild,v 1.1 2011/04/30 20:07:08 zzam Exp $
51
52 EAPI="1"
53
54 inherit eutils flag-o-matic multilib toolchain-funcs linux-info autotools
55
56 #PATCHSET=${P}-gentoo-patchset-v1
57 scriptversion=164-v2
58 scriptname=${PN}-gentoo-scripts-${scriptversion}
59
60 if [[ ${PV} == "9999" ]]; then
61 SRC_URI="mirror://gentoo/${scriptname}.tar.bz2"
62 EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/hotplug/udev.git"
63 EGIT_BRANCH="master"
64 inherit git autotools
65 else
66 # please update testsys-tarball whenever udev-xxx/test/sys/ is changed
67 SRC_URI="mirror://kernel/linux/utils/kernel/hotplug/${P}.tar.bz2
68 test? ( mirror://gentoo/${PN}-151-testsys.tar.bz2 )
69 mirror://gentoo/${scriptname}.tar.bz2"
70 [[ -n "${PATCHSET}" ]] && SRC_URI="${SRC_URI} mirror://gentoo/${PATCHSET}.tar.bz2"
71 fi
72 DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
73 HOMEPAGE="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
74
75 LICENSE="GPL-2"
76 SLOT="0"
77 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
78 IUSE="selinux extras test"
79
80 COMMON_DEPEND="selinux? ( sys-libs/libselinux )
81 extras? (
82 sys-apps/acl
83 >=sys-apps/usbutils-0.82
84 virtual/libusb:0
85 sys-apps/pciutils
86 dev-libs/glib:2
87 )
88 >=sys-apps/util-linux-2.16
89 >=sys-libs/glibc-2.9"
90
91 DEPEND="${COMMON_DEPEND}
92 extras? (
93 dev-util/gperf
94 dev-util/pkgconfig
95 )
96 virtual/os-headers
97 !<sys-kernel/linux-headers-2.6.29
98 test? ( app-text/tree )"
99
100 RDEPEND="${COMMON_DEPEND}
101 !sys-apps/coldplug
102 !<sys-fs/lvm2-2.02.45
103 !sys-fs/device-mapper
104 >=sys-apps/baselayout-1.12.5"
105
106 if [[ ${PV} == "9999" ]]; then
107 # for documentation processing with xsltproc
108 DEPEND="${DEPEND}
109 app-text/docbook-xsl-stylesheets
110 app-text/docbook-xml-dtd
111 dev-util/gtk-doc"
112 fi
113
114 # required kernel options
115 CONFIG_CHECK="~INOTIFY_USER ~SIGNALFD ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2
116 ~!IDE"
117
118 udev_check_KV() {
119 local ok=0
120 if [[ ${KV_MAJOR} == 2 && ${KV_MINOR} == 6 ]]
121 then
122 if kernel_is -ge 2 6 ${KV_PATCH_reliable} ; then
123 ok=2
124 elif kernel_is -ge 2 6 ${KV_PATCH_min} ; then
125 ok=1
126 fi
127 fi
128 return $ok
129 }
130
131 pkg_setup() {
132 linux-info_pkg_setup
133
134 # udev requires signalfd introduced in kernel 2.6.25,
135 # but a glibc compiled against >=linux-headers-2.6.27 uses the
136 # new signalfd syscall introduced in kernel 2.6.27 without falling back
137 # to the old one. So we just depend on 2.6.27 here, see Bug #281312.
138 KV_PATCH_min=25
139 KV_PATCH_reliable=31
140 KV_min=2.6.${KV_PATCH_min}
141 KV_reliable=2.6.${KV_PATCH_reliable}
142
143 # always print kernel version requirements
144 ewarn
145 ewarn "${P} does not support Linux kernel before version ${KV_min}!"
146 if [[ ${KV_PATCH_min} != ${KV_PATCH_reliable} ]]; then
147 ewarn "For a reliable udev, use at least kernel ${KV_reliable}"
148 fi
149
150 echo
151 # We don't care about the secondary revision of the kernel.
152 # 2.6.30.4 -> 2.6.30 is all we check
153 udev_check_KV
154 case "$?" in
155 2) einfo "Your kernel version (${KV_FULL}) is new enough to run ${P} reliably." ;;
156 1) ewarn "Your kernel version (${KV_FULL}) is new enough to run ${P},"
157 ewarn "but it may be unreliable in some cases."
158 ebeep ;;
159 0) eerror "Your kernel version (${KV_FULL}) is too old to run ${P}"
160 ebeep ;;
161 esac
162 echo
163
164 KV_FULL_SRC=${KV_FULL}
165 get_running_version
166 udev_check_KV
167 if [[ "$?" = "0" ]]; then
168 eerror
169 eerror "udev cannot be restarted after emerging,"
170 eerror "as your running kernel version (${KV_FULL}) is too old."
171 eerror "You really need to use a newer kernel after a reboot!"
172 NO_RESTART=1
173 ebeep
174 fi
175 }
176
177 src_unpack() {
178 unpack ${A}
179 if [[ ${PV} == "9999" ]] ; then
180 git_src_unpack
181 else
182 if use test; then
183 mv "${WORKDIR}"/test/sys "${S}"/test/
184 fi
185 fi
186
187 cd "${WORKDIR}/${scriptname}"
188
189 sed -e '/^LIBEXECDIR/s-$(LIBDIR)-lib-' -i Makefile \
190 || die "patching Makefile failed"
191
192 cd "${S}"
193
194 # patches go here...
195
196 # backport some patches
197 if [[ -n "${PATCHSET}" ]]; then
198 EPATCH_SOURCE="${WORKDIR}/${PATCHSET}" EPATCH_SUFFIX="patch" \
199 EPATCH_FORCE="yes" epatch
200 fi
201
202 # change rules back to group uucp instead of dialout for now
203 sed -e 's/GROUP="dialout"/GROUP="uucp"/' \
204 -i rules/{rules.d,arch}/*.rules \
205 || die "failed to change group dialout to uucp"
206
207 if [[ ${PV} != 9999 ]]; then
208 # Make sure there is no sudden changes to upstream rules file
209 # (more for my own needs than anything else ...)
210 MD5=$(md5sum < "${S}/rules/rules.d/50-udev-default.rules")
211 MD5=${MD5/ -/}
212 if [[ ${MD5} != a9954d57e97aa0ad2e0ed53899d9559a ]]
213 then
214 echo
215 eerror "50-udev-default.rules has been updated, please validate!"
216 eerror "md5sum: ${MD5}"
217 die "50-udev-default.rules has been updated, please validate!"
218 fi
219 fi
220
221 if [[ ${PV} == 9999 ]]; then
222 gtkdocize --copy || die "gtkdocize failed"
223 eautoreconf
224 fi
225 }
226
227 src_compile() {
228 filter-flags -fprefetch-loop-arrays
229
230 econf \
231 --prefix=/usr \
232 --sysconfdir=/etc \
233 --sbindir=/sbin \
234 --libdir=/usr/$(get_libdir) \
235 --with-rootlibdir=/$(get_libdir) \
236 --libexecdir=/lib/udev \
237 --enable-logging \
238 --enable-static \
239 $(use_with selinux) \
240 $(use_enable extras) \
241 --disable-introspection \
242 --without-systemdsystemunitdir
243 # we don't have gobject-introspection in portage tree
244
245 emake || die "compiling udev failed"
246 }
247
248 src_install() {
249 emake -C "${WORKDIR}/${scriptname}" \
250 DESTDIR="${D}" LIBDIR="$(get_libdir)" \
251 KV_min="${KV_min}" KV_reliable="${KV_reliable}" \
252 install || die "make install failed"
253
254 into /
255 emake DESTDIR="${D}" install || die "make install failed"
256
257 exeinto /lib/udev
258 keepdir /lib/udev/state
259 keepdir /lib/udev/devices
260
261 # create symlinks for these utilities to /sbin
262 # where multipath-tools expect them to be (Bug #168588)
263 dosym "../lib/udev/scsi_id" /sbin/scsi_id
264
265 # Add gentoo stuff to udev.conf
266 echo "# If you need to change mount-options, do it in /etc/fstab" \
267 >> "${D}"/etc/udev/udev.conf
268
269 # let the dir exist at least
270 keepdir /etc/udev/rules.d
271
272 # Now installing rules
273 cd "${S}"/rules
274 insinto /lib/udev/rules.d/
275
276 # support older kernels
277 doins misc/30-kernel-compat.rules
278
279 # Adding arch specific rules
280 if [[ -f arch/40-${ARCH}.rules ]]
281 then
282 doins "arch/40-${ARCH}.rules"
283 fi
284 cd "${S}"
285
286 insinto /etc/modprobe.d
287 newins "${FILESDIR}"/blacklist-146 blacklist.conf
288 newins "${FILESDIR}"/pnp-aliases pnp-aliases.conf
289
290 # documentation
291 dodoc ChangeLog README TODO || die "failed installing docs"
292
293 # keep doc in just one directory, Bug #281137
294 rm -rf "${D}/usr/share/doc/${PN}"
295 if use extras; then
296 dodoc extras/keymap/README.keymap.txt || die "failed installing docs"
297 fi
298 }
299
300 pkg_preinst() {
301 # moving old files to support newer modprobe, 12 May 2009
302 local f dir=${ROOT}/etc/modprobe.d/
303 for f in pnp-aliases blacklist; do
304 if [[ -f $dir/$f && ! -f $dir/$f.conf ]]
305 then
306 elog "Moving $dir/$f to $f.conf"
307 mv -f "$dir/$f" "$dir/$f.conf"
308 fi
309 done
310
311 if [[ -d ${ROOT}/lib/udev-state ]]
312 then
313 mv -f "${ROOT}"/lib/udev-state/* "${D}"/lib/udev/state/
314 rm -r "${ROOT}"/lib/udev-state
315 fi
316
317 if [[ -f ${ROOT}/etc/udev/udev.config &&
318 ! -f ${ROOT}/etc/udev/udev.rules ]]
319 then
320 mv -f "${ROOT}"/etc/udev/udev.config "${ROOT}"/etc/udev/udev.rules
321 fi
322
323 # delete the old udev.hotplug symlink if it is present
324 if [[ -h ${ROOT}/etc/hotplug.d/default/udev.hotplug ]]
325 then
326 rm -f "${ROOT}"/etc/hotplug.d/default/udev.hotplug
327 fi
328
329 # delete the old wait_for_sysfs.hotplug symlink if it is present
330 if [[ -h ${ROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug ]]
331 then
332 rm -f "${ROOT}"/etc/hotplug.d/default/05-wait_for_sysfs.hotplug
333 fi
334
335 # delete the old wait_for_sysfs.hotplug symlink if it is present
336 if [[ -h ${ROOT}/etc/hotplug.d/default/10-udev.hotplug ]]
337 then
338 rm -f "${ROOT}"/etc/hotplug.d/default/10-udev.hotplug
339 fi
340
341 has_version "=${CATEGORY}/${PN}-103-r3"
342 previous_equal_to_103_r3=$?
343
344 has_version "<${CATEGORY}/${PN}-104-r5"
345 previous_less_than_104_r5=$?
346
347 has_version "<${CATEGORY}/${PN}-106-r5"
348 previous_less_than_106_r5=$?
349
350 has_version "<${CATEGORY}/${PN}-113"
351 previous_less_than_113=$?
352 }
353
354 # 19 Nov 2008
355 fix_old_persistent_net_rules() {
356 local rules=${ROOT}/etc/udev/rules.d/70-persistent-net.rules
357 [[ -f ${rules} ]] || return
358
359 elog
360 elog "Updating persistent-net rules file"
361
362 # Change ATTRS to ATTR matches, Bug #246927
363 sed -i -e 's/ATTRS{/ATTR{/g' "${rules}"
364
365 # Add KERNEL matches if missing, Bug #246849
366 sed -ri \
367 -e '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \
368 "${rules}"
369 }
370
371 # See Bug #129204 for a discussion about restarting udevd
372 restart_udevd() {
373 if [[ ${NO_RESTART} = "1" ]]; then
374 ewarn "Not restarting udevd, as your kernel is too old!"
375 return
376 fi
377
378 # need to merge to our system
379 [[ ${ROOT} = / ]] || return
380
381 # check if root of init-process is identical to ours (not in chroot)
382 [[ -r /proc/1/root && /proc/1/root/ -ef /proc/self/root/ ]] || return
383
384 # abort if there is no udevd running
385 [[ -n $(pidof udevd) ]] || return
386
387 # abort if no /dev/.udev exists
388 [[ -e /dev/.udev ]] || return
389
390 elog
391 elog "restarting udevd now."
392
393 killall -15 udevd &>/dev/null
394 sleep 1
395 killall -9 udevd &>/dev/null
396
397 /sbin/udevd --daemon
398 sleep 3
399 if [[ ! -n $(pidof udevd) ]]; then
400 eerror "FATAL: udev died, please check your kernel is"
401 eerror "new enough and configured correctly for ${P}."
402 eerror
403 eerror "Please have a look at this before rebooting."
404 eerror "If in doubt, please downgrade udev back to your old version"
405 ebeep
406 fi
407 }
408
409 postinst_init_scripts() {
410 # FIXME: we may need some code that detects if this is a system bootstrap
411 # and auto-enables udev then
412 #
413 # FIXME: inconsistent handling of init-scripts here
414 # * udev is added to sysinit in openrc-ebuild
415 # * we add udev-postmount to default in here
416 #
417
418 # migration to >=openrc-0.4
419 if [[ -e "${ROOT}"/etc/runlevels/sysinit && ! -e "${ROOT}"/etc/runlevels/sysinit/udev ]]
420 then
421 ewarn
422 ewarn "You need to add the udev init script to the runlevel sysinit,"
423 ewarn "else your system will not be able to boot"
424 ewarn "after updating to >=openrc-0.4.0"
425 ewarn "Run this to enable udev for >=openrc-0.4.0:"
426 ewarn "\trc-update add udev sysinit"
427 ewarn
428 fi
429
430 # add udev-postmount to default runlevel instead of that ugly injecting
431 # like a hotplug event, 2009/10/15
432
433 # already enabled?
434 [[ -e "${ROOT}"/etc/runlevels/default/udev-postmount ]] && return
435
436 local enable_postmount=0
437 [[ -e "${ROOT}"/etc/runlevels/sysinit/udev ]] && enable_postmount=1
438 [[ "${ROOT}" = "/" && -d /dev/.udev/ ]] && enable_postmount=1
439
440 if [[ ${enable_postmount} = 1 ]]
441 then
442 local initd=udev-postmount
443
444 if [[ -e ${ROOT}/etc/init.d/${initd} ]] && \
445 [[ ! -e ${ROOT}/etc/runlevels/default/${initd} ]]
446 then
447 ln -snf /etc/init.d/${initd} "${ROOT}"/etc/runlevels/default/${initd}
448 elog "Auto-adding '${initd}' service to your default runlevel"
449 fi
450 else
451 elog "You should add the udev-postmount service to default runlevel."
452 elog "Run this to add it:"
453 elog "\trc-update add udev-postmount default"
454 fi
455 }
456
457 pkg_postinst() {
458 fix_old_persistent_net_rules
459
460 # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
461 # So try to remove it here (will only work if empty).
462 rmdir "${ROOT}"/dev/loop 2>/dev/null
463 if [[ -d "${ROOT}"/dev/loop ]]; then
464 ewarn "Please make sure your remove /dev/loop,"
465 ewarn "else losetup may be confused when looking for unused devices."
466 fi
467
468 restart_udevd
469
470 postinst_init_scripts
471
472 # people want reminders, I'll give them reminders. Odds are they will
473 # just ignore them anyway...
474
475 # delete 40-scsi-hotplug.rules, it is integrated in 50-udev.rules, 19 Jan 2007
476 if [[ $previous_equal_to_103_r3 = 0 ]] &&
477 [[ -e ${ROOT}/etc/udev/rules.d/40-scsi-hotplug.rules ]]
478 then
479 ewarn "Deleting stray 40-scsi-hotplug.rules"
480 ewarn "installed by sys-fs/udev-103-r3"
481 rm -f "${ROOT}"/etc/udev/rules.d/40-scsi-hotplug.rules
482 fi
483
484 # Removing some device-nodes we thought we need some time ago, 25 Jan 2007
485 if [[ -d ${ROOT}/lib/udev/devices ]]
486 then
487 rm -f "${ROOT}"/lib/udev/devices/{null,zero,console,urandom}
488 fi
489
490 # Removing some old file, 29 Jan 2007
491 if [[ $previous_less_than_104_r5 = 0 ]]
492 then
493 rm -f "${ROOT}"/etc/dev.d/net/hotplug.dev
494 rmdir --ignore-fail-on-non-empty "${ROOT}"/etc/dev.d/net 2>/dev/null
495 fi
496
497 # 19 Mar 2007
498 if [[ $previous_less_than_106_r5 = 0 ]] &&
499 [[ -e ${ROOT}/etc/udev/rules.d/95-net.rules ]]
500 then
501 rm -f "${ROOT}"/etc/udev/rules.d/95-net.rules
502 fi
503
504 # Try to remove /etc/dev.d as that is obsolete, 23 Apr 2007
505 if [[ -d ${ROOT}/etc/dev.d ]]
506 then
507 rmdir --ignore-fail-on-non-empty "${ROOT}"/etc/dev.d/default "${ROOT}"/etc/dev.d 2>/dev/null
508 if [[ -d ${ROOT}/etc/dev.d ]]
509 then
510 ewarn "You still have the directory /etc/dev.d on your system."
511 ewarn "This is no longer used by udev and can be removed."
512 fi
513 fi
514
515 # 64-device-mapper.rules now gets installed by sys-fs/device-mapper
516 # remove it if user don't has sys-fs/device-mapper installed, 27 Jun 2007
517 if [[ $previous_less_than_113 = 0 ]] &&
518 [[ -f ${ROOT}/etc/udev/rules.d/64-device-mapper.rules ]] &&
519 ! has_version sys-fs/device-mapper
520 then
521 rm -f "${ROOT}"/etc/udev/rules.d/64-device-mapper.rules
522 einfo "Removed unneeded file 64-device-mapper.rules"
523 fi
524
525 # requested in bug #275974, added 2009/09/05
526 ewarn
527 ewarn "If after the udev update removable devices or CD/DVD drives"
528 ewarn "stop working, try re-emerging HAL before filling a bug report"
529
530 # requested in Bug #225033:
531 elog
532 elog "persistent-net does assigning fixed names to network devices."
533 elog "If you have problems with the persistent-net rules,"
534 elog "just delete the rules file"
535 elog "\trm ${ROOT}etc/udev/rules.d/70-persistent-net.rules"
536 elog "and then reboot."
537 elog
538 elog "This may however number your devices in a different way than they are now."
539
540 ewarn
541 ewarn "If you build an initramfs including udev, then please"
542 ewarn "make sure that the /sbin/udevadm binary gets included,"
543 ewarn "and your scripts changed to use it,as it replaces the"
544 ewarn "old helper apps udevinfo, udevtrigger, ..."
545
546 ewarn
547 ewarn "mount options for directory /dev are no longer"
548 ewarn "set in /etc/udev/udev.conf, but in /etc/fstab"
549 ewarn "as for other directories."
550
551 ewarn
552 ewarn "If you use /dev/md/*, /dev/loop/* or /dev/rd/*,"
553 ewarn "then please migrate over to using the device names"
554 ewarn "/dev/md*, /dev/loop* and /dev/ram*."
555 ewarn "The devfs-compat rules have been removed."
556 ewarn "For reference see Bug #269359."
557
558 ewarn
559 ewarn "Rules for /dev/hd* devices have been removed"
560 ewarn "Please migrate to libata."
561
562 elog
563 elog "For more information on udev on Gentoo, writing udev rules, and"
564 elog " fixing known issues visit:"
565 elog " http://www.gentoo.org/doc/en/udev-guide.xml"
566 }