diff options
Diffstat (limited to 'sys-fs/udev/files/udev-135-r2.initd')
-rw-r--r-- | sys-fs/udev/files/udev-135-r2.initd | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/sys-fs/udev/files/udev-135-r2.initd b/sys-fs/udev/files/udev-135-r2.initd deleted file mode 100644 index 7bad67f15187..000000000000 --- a/sys-fs/udev/files/udev-135-r2.initd +++ /dev/null @@ -1,209 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -description="Run udevd and create the device-nodes" - -[ -e /etc/udev/udev.conf ] && . /etc/udev/udev.conf -. /lib/udev/shell-compat.sh - -rc_coldplug=${rc_coldplug:-${RC_COLDPLUG:-YES}} - -depend() -{ - if [ -f /etc/init.d/sysfs ]; then - # require new enough openrc with sysinit being extra runlevel - # on linux we just check if sysfs init-script exists - # this is to silence out ugly warnings about not-existing sysfs script - provide dev - need sysfs udev-mount udev-dev-tarball - before checkfs fsck - - # udev does not work inside vservers - keyword novserver - fi -} - -cleanup() -{ - # fail more gracely and not leave udevd running - start-stop-daemon --stop --exec /sbin/udevd - exit 1 -} - -disable_hotplug_agent() -{ - if [ -e /proc/sys/kernel/hotplug ]; then - echo "" >/proc/sys/kernel/hotplug - fi -} - -root_link() -{ - /lib/udev/write_root_link_rule -} - -persistent_net_switch() -{ - # this function disables rules files - # by creating new files with the same name - # in a temp rules directory with higher priority - local d=/dev/.udev/rules.d - if yesno "${persistent_net_disable:-no}"; then - mkdir -p "$d" - echo "# This file disables persistent-net due to /etc/conf.d/udev" \ - > "$d"/75-persistent-net-generator.rules - fi -} - -start_udevd() -{ - # load unix domain sockets if built as module, Bug #221253 - if [ -e /proc/modules ] ; then - modprobe -q unix 2>/dev/null - fi - ebegin "Starting udevd" - start-stop-daemon --start --exec /sbin/udevd -- --daemon - eend $? -} - -# populate /dev with devices already found by the kernel -populate_dev() -{ - if get_bootparam "nocoldplug" ; then - rc_coldplug="NO" - ewarn "Skipping udev coldplug as requested in kernel cmdline" - fi - - ebegin "Populating /dev with existing devices through uevents" - if yesno "${rc_coldplug}"; then - udevadm trigger - else - # Do not run any init-scripts, Bug #206518 - udevadm control --env do_not_run_plug_service=1 - - # only create device nodes - udevadm trigger --attr-match=dev - - # run persistent-net stuff, bug 191466 - udevadm trigger --subsystem-match=net - fi - eend $? - - ebegin "Waiting for uevents to be processed" - udevadm settle --timeout=60 - eend $? - - udevadm control --env do_not_run_plug_service= - return 0 -} - -display_hotplugged_services() { - local svcfile= svc= services= - for svcfile in "${RC_SVCDIR}"/hotplugged/*; do - svc="${svcfile##*/}" - [ -x "${svcfile}" ] || continue - - # do not display this - better: do only inject it later :) - [ "$svc" = "udev-postmount" ] && continue - - services="${services} ${svc}" - done - [ -n "${services}" ] && einfo "Device initiated services:${HILITE}${services}${NORMAL}" -} - -inject_postmount_initd() { - if ! mark_service_hotplugged udev-postmount; then - IN_HOTPLUG=1 /etc/init.d/udev-postmount start >/dev/null 2>&1 - fi - #einfo "Injected udev-postmount service" -} - -check_persistent_net() -{ - # check if there are problems with persistent-net - local syspath= devs= problem=false - for syspath in /sys/class/net/*_rename*; do - if [ -d "${syspath}" ]; then - devs="${devs} ${syspath##*/}" - problem=true - fi - done - - ${problem} || return 0 - - eerror "UDEV: Your system has a problem assigning persistent names" - eerror "to these network interfaces: ${devs}" - - einfo "Checking persistent-net rules:" - # the sed-expression lists all duplicate lines - # from the input, like "uniq -d" does, but uniq - # is installed into /usr/bin and not available at boot. - dups=$( - RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules' - . /lib/udev/rule_generator.functions - find_all_rules 'NAME=' '.*' | \ - tr ' ' '\n' | \ - sort | \ - sed '$!N; s/^\(.*\)\n\1$/\1/; t; D' - ) - if [ -n "${dups}" ]; then - ewarn "The rules create multiple entries assigning these names:" - eindent - ewarn "${dups}" - eoutdent - else - ewarn "Found no duplicate names in persistent-net rules," - ewarn "there must be some other problem!" - fi - return 1 -} - -check_udev_works() -{ - # should exist on every system, else udev failed - if [ ! -e /dev/zero ]; then - eerror "Assuming udev failed somewhere, as /dev/zero does not exist." - return 1 - fi - return 0 -} - -start() -{ - # do not run this on old baselayout where udev-addon gets loaded - if [ ! -f /etc/init.d/sysfs ]; then - eerror "The $SVCNAME init-script is written for baselayout-2!" - eerror "Please do not use it with baselayout-1!". - return 1 - fi - - _start - - display_hotplugged_services - - inject_postmount_initd -} - -_start() -{ - root_link - persistent_net_switch - - disable_hotplug_agent - start_udevd || cleanup - populate_dev || cleanup - - check_persistent_net - - check_udev_works || cleanup - - return 0 -} - -stop() { - ebegin "Stopping udevd" - start-stop-daemon --stop --exec /sbin/udevd - eend $? -} - |