summaryrefslogtreecommitdiffstats
path: root/source/a/udev
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/udev')
-rw-r--r--source/a/udev/config/modprobe.d/blacklist.conf.new270
-rw-r--r--source/a/udev/config/modprobe.d/isapnp.conf.new15
-rw-r--r--source/a/udev/config/modprobe.d/psmouse.conf.new6
-rw-r--r--source/a/udev/config/modprobe.d/usb-controller.conf.new4
-rw-r--r--source/a/udev/config/rc.d/rc.udev.new133
-rw-r--r--source/a/udev/config/rules.d/40-slackware.rules16
-rw-r--r--source/a/udev/config/rules.d/65-permissions.rules52
-rw-r--r--source/a/udev/config/rules.d/90-network.rules5
-rwxr-xr-xsource/a/udev/config/scripts/nethelper.sh62
-rw-r--r--source/a/udev/config/udev.conf14
-rw-r--r--source/a/udev/doinst.sh39
-rw-r--r--source/a/udev/rule_generator.diff80
-rw-r--r--source/a/udev/slack-desc19
-rw-r--r--source/a/udev/udev-141.tar.bz2.sign8
-rwxr-xr-xsource/a/udev/udev.SlackBuild140
15 files changed, 863 insertions, 0 deletions
diff --git a/source/a/udev/config/modprobe.d/blacklist.conf.new b/source/a/udev/config/modprobe.d/blacklist.conf.new
new file mode 100644
index 000000000..25811703d
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/blacklist.conf.new
@@ -0,0 +1,270 @@
+#
+# Listing a module here prevents the hotplug scripts from loading it.
+# Usually that'd be so that some other driver will bind it instead,
+# no matter which driver happens to get probed first. Sometimes user
+# mode tools can also control driver binding.
+
+# PC Speaker support:
+# This one is loaded by /etc/rc.d/rc.modules. If you don't like
+# the beeps and buzz from speaker, edit /etc/rc.d/rc.modules.
+blacklist pcspkr
+
+# tulip ... de4x5, xircom_tulip_cb, dmfe (...) handle same devices
+blacklist de4x5
+
+# At least 2.4.3 and later xircom_tulip doesn't have that conflict
+# xircom_tulip_cb
+blacklist dmfe
+
+#evbug is a debug tool and should be loaded explicitly
+blacklist evbug
+
+# Alternate Intel EtherExpress Pro/100 support driver. List it
+# here so it won't conflict with an already-loaded e100 module.
+blacklist eepro100
+
+# Alternate 8139 driver. Some 8139 cards need this specific driver,
+# though...
+blacklist 8139cp
+
+# Deprecated BCM4318 driver.
+blacklist bcm43xx
+
+# Modules used to run a wireless adaptor as an access point. These
+# conflict with the normal driver for the device, and so should be
+# loaded manually.
+blacklist hostap_cs
+blacklist hostap_pci
+blacklist hostap_plx
+blacklist hostap
+
+# Ethernet over IEEE1394 module. In too many cases this will load
+# when there's no eth1394 device present (just an IEEE1394 port)
+blacklist eth1394
+
+# This module has also been known to cause crashes with some hardware.
+blacklist hw_random
+
+# The kernel lists this as "experimental", but for now it's "broken"
+blacklist via-ircc
+
+# ALSA modules to support sound modems. These should be loaded manually
+# if needed. For most people they just break sound support...
+blacklist snd-atiixp-modem
+blacklist snd-intel8x0m
+blacklist snd-via82xx-modem
+
+# OSS (Open Sound System) modules. This is the old and deprecated Linux
+# sound system. If you want to use OSS, remove the alsa-driver package
+# and cut out (or comment out) this list. With these modules
+# blacklisted ALSA will load by default.
+blacklist ac97
+blacklist ac97_codec
+blacklist aci
+blacklist ad1816
+blacklist ad1848
+blacklist ad1889
+blacklist adlib_card
+blacklist aedsp16
+blacklist ali5455
+blacklist awe_wave
+blacklist btaudio
+blacklist cmpci
+blacklist cs4232
+blacklist cs4281
+blacklist cs46xx
+blacklist emu10k1
+blacklist es1370
+blacklist es1371
+blacklist esssolo1
+blacklist forte
+blacklist gus
+blacklist i810_audio
+blacklist kahlua
+blacklist mad16
+blacklist maestro
+blacklist maestro3
+blacklist maui
+blacklist mpu401
+blacklist msnd
+blacklist msnd_classic
+blacklist msnd_pinnacle
+blacklist nm256_audio
+blacklist opl3
+blacklist opl3sa
+blacklist opl3sa2
+blacklist pas2
+blacklist pss
+blacklist rme96xx
+blacklist sb
+blacklist sb_lib
+blacklist sgalaxy
+blacklist sonicvibes
+blacklist sound
+blacklist sscape
+blacklist trident
+blacklist trix
+blacklist uart401
+blacklist uart6850
+blacklist v_midi
+blacklist via82cxxx_audio
+blacklist wavefront
+blacklist ymfpci
+
+# Hardware specific video framebuffer modules. If the user wants
+# these, they can load them manually or de-blacklist them. Having
+# them load automatically may lead to funny side effects with
+# certain revisions of video hardware.
+blacklist arcfb
+blacklist aty128fb
+blacklist atyfb
+blacklist cirrusfb
+blacklist clgenfb
+blacklist cyber2000fb
+blacklist fbcon-cfb2
+blacklist fbcon-cfb4
+blacklist fbcon-hga
+blacklist fbcon-mfb
+blacklist fbcon-vga-planes
+blacklist fbgen
+blacklist hgafb
+blacklist i2c-matroxfb
+blacklist i810fb
+blacklist intelfb
+blacklist kyrofb
+blacklist matroxfb_DAC1064
+blacklist matroxfb_Ti3026
+blacklist matroxfb_accel
+blacklist matroxfb_base
+blacklist matroxfb_crtc2
+blacklist matroxfb_g450
+blacklist matroxfb_maven
+blacklist matroxfb_misc
+blacklist neofb
+blacklist nvidiafb
+blacklist pm2fb
+blacklist pm3fb
+blacklist radeonfb
+blacklist rivafb
+blacklist savagefb
+blacklist sisfb
+blacklist sstfb
+blacklist tdfxfb
+blacklist tridentfb
+blacklist vga16fb
+
+# SCSI and SATA controller modules. Typically these are either
+# built into the kernel or loaded with an initrd already.
+blacklist 3w-xxxx
+blacklist 53c7,8xx
+blacklist AM53C974
+blacklist BusLogic
+blacklist NCR53c406a
+blacklist a100u2w
+blacklist advansys
+blacklist aha152x
+blacklist aha1542
+blacklist aha1740
+blacklist aic79xx
+blacklist aic7xxx
+blacklist aic7xxx_old
+blacklist aic94xx
+blacklist ata_piix
+blacklist atp870u
+blacklist cpqfc
+blacklist dc395x
+blacklist dmx3191d
+blacklist dpt_i2o
+blacklist dtc
+blacklist eata
+blacklist eata_dma
+blacklist eata_pio
+blacklist fdomain
+blacklist g_NCR5380
+blacklist g_NCR5380_mmio
+blacklist gdth
+blacklist ide-scsi
+blacklist imm
+blacklist in2000
+blacklist initio
+blacklist ipr
+blacklist ips
+blacklist libata
+blacklist megaraid
+blacklist ncr53c8xx
+blacklist nsp32
+blacklist osst
+blacklist pas16
+blacklist pci2000
+blacklist pci2220i
+blacklist ppa
+blacklist psi240i
+blacklist qla1280
+blacklist qla2100
+blacklist qla2200
+blacklist qla2300
+blacklist qla2322
+blacklist qla2xxx
+blacklist qla6312
+blacklist qla6322
+blacklist qlogicfas
+blacklist qlogicfas408
+blacklist qlogicfc
+blacklist qlogicisp
+blacklist seagate
+blacklist sim710
+blacklist sata_promise
+blacklist sata_sil
+blacklist sata_sis
+blacklist sata_svw
+blacklist sata_sx4
+blacklist sata_via
+blacklist sata_vsc
+blacklist scsi_debug
+blacklist scsi_transport_fc
+blacklist scsi_transport_spi
+blacklist sym53c416
+blacklist sym53c8xx
+blacklist sym53c8xx
+blacklist t128
+blacklist tmscsim
+blacklist u14-34f
+
+# Blacklist all watchdog modules. Many motherboards hangs with them and,
+# if you really need an watchdog you probably know how to load the module
+blacklist acquirewdt
+blacklist advantechwdt
+blacklist alim1535_wdt
+blacklist alim7101_wdt
+blacklist cpu5wdt
+blacklist eurotechwdt
+blacklist hpwdt
+blacklist i6300esb
+blacklist iTCO_vendor_support
+blacklist iTCO_wdt
+blacklist ib700wdt
+blacklist ibmasr
+blacklist it8712f_wdt
+blacklist machzwd
+blacklist mixcomwd
+blacklist pc87413_wdt
+blacklist pcwd
+blacklist pcwd_pci
+blacklist pcwd_usb
+blacklist sbc60xxwdt
+blacklist sbc7240_wdt
+blacklist sbc8360
+blacklist sbc_epx_c3
+blacklist sc1200wdt
+blacklist sc520_wdt
+blacklist scx200_wdt
+blacklist smsc37b787_wdt
+blacklist softdog
+blacklist w83627hf_wdt
+blacklist w83697hf_wdt
+blacklist w83877f_wdt
+blacklist w83977f_wdt
+blacklist wafer5823wdt
+blacklist wdt
+blacklist wdt_pci
+
diff --git a/source/a/udev/config/modprobe.d/isapnp.conf.new b/source/a/udev/config/modprobe.d/isapnp.conf.new
new file mode 100644
index 000000000..2ed9305ee
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/isapnp.conf.new
@@ -0,0 +1,15 @@
+# These aliases are here because many PnP modules do not
+# provide aliases for them.
+alias pnp:dPNP0400 parport_pc
+alias pnp:dPNP0401 parport_pc
+alias pnp:dPNP0510 irtty-sir
+alias pnp:dPNP0511 irtty-sir
+alias pnp:dPNP0700 floppy
+alias pnp:dPNP0B00 rtc
+alias acpi:PNP0B00: rtc-cmos
+alias acpi:PNP0B01: rtc-cmos
+alias acpi:PNP0B02: rtc-cmos
+alias pnp:dPNPB02F analog
+alias pnp:dPNP0F13 psmouse
+alias pnp:dPNP0800 pcspkr
+alias pnp:dPNP0303 atkbd
diff --git a/source/a/udev/config/modprobe.d/psmouse.conf.new b/source/a/udev/config/modprobe.d/psmouse.conf.new
new file mode 100644
index 000000000..70c0d8195
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/psmouse.conf.new
@@ -0,0 +1,6 @@
+# PS/2 mouse support:
+# The default options when the psmouse module can cause problems with KVM
+# switches. If you experience this, you may want to uncomment the line
+# below to use a more basic mouse protocol with the psmouse module:
+#options psmouse proto=imps
+
diff --git a/source/a/udev/config/modprobe.d/usb-controller.conf.new b/source/a/udev/config/modprobe.d/usb-controller.conf.new
new file mode 100644
index 000000000..4b77fd825
--- /dev/null
+++ b/source/a/udev/config/modprobe.d/usb-controller.conf.new
@@ -0,0 +1,4 @@
+# Make sure that ehci-hcd is always loaded before uhci-hci
+# # or ohci-hcd to prevent a kernel warning:
+install uhci-hcd /sbin/modprobe ehci-hcd ; /sbin/modprobe -i uhci-hcd
+install ohci-hcd /sbin/modprobe ehci-hcd ; /sbin/modprobe -i ohci-hcd
diff --git a/source/a/udev/config/rc.d/rc.udev.new b/source/a/udev/config/rc.d/rc.udev.new
new file mode 100644
index 000000000..8c238b0dd
--- /dev/null
+++ b/source/a/udev/config/rc.d/rc.udev.new
@@ -0,0 +1,133 @@
+#!/bin/sh
+# This is a script to initialize udev, which populates the /dev
+# directory with device nodes, scans for devices, loads the
+# appropriate kernel modules, and configures the devices.
+
+PATH="/sbin:/bin"
+OPT=""
+
+. /etc/udev/udev.conf
+
+# remove trailing slash from udev_root
+UDEV_ROOT=$(echo "${udev_root}" |sed 's/\/*$//')
+
+case "$1" in
+ start)
+ # Sanity check #1, udev requires that the kernel support tmpfs:
+ if ! grep -wq tmpfs /proc/filesystems ; then
+ echo "Sorry, but you need tmpfs support in the kernel to use udev."
+ echo
+ echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
+ exit 1
+ fi
+
+ # Sanity check #2, make sure that a 2.6.x kernel is new enough:
+ if [ "$(uname -r | cut -f 1,2 -d .)" = "2.6" ]; then
+ if [ "$(uname -r | cut -f 3 -d . | sed 's/[^[:digit:]].*//')" -lt "15" ]; then
+ echo "Sorry, but you need a 2.6.15+ kernel to use udev."
+ echo "Your kernel version is only $(uname -r)."
+ echo
+ echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
+ exit 1
+ fi
+ fi
+
+ # Sanity check #3, make sure the udev package was not removed. If udevd
+ # is not there, this will also shut off this script to prevent further
+ # problems:
+ if [ ! -x /sbin/udevd ]; then
+ chmod 644 /etc/rc.d/rc.udev
+ echo "No udevd daemon found."
+ echo "Turning off udev: chmod 644 /etc/rc.d/rc.udev"
+ echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
+ exit 1
+ fi
+
+ # Disable hotplug helper since udevd listens to netlink:
+ if [ -e /proc/sys/kernel/hotplug ]; then
+ echo "" > /proc/sys/kernel/hotplug
+ fi
+
+ # if udevd is already running, rc.udev start will try to re-run
+ # failed events. Else, it will start udevd.
+ if ps axc | grep -q udevd ; then
+ OPT="--type=failed $OPT"
+ ( cd ${UDEV_ROOT}/.udev
+ for TMPFILE in tmp-rules-*.rules ; do
+ mv $TMPFILE /etc/udev/rules.d/${TMPFILE/tmp-rules--/} 2>/dev/null
+ done
+ )
+ else
+ # Mount tmpfs on $UDEV_ROOT:
+ if ! grep -E -q "^[^[:space:]]+ $UDEV_ROOT tmpfs" /proc/mounts; then
+ # umount shm if needed
+ if grep -E -q "^[^[:space:]]+ $UDEV_ROOT/shm tmpfs" /proc/mounts; then
+ umount -l $UDEV_ROOT/shm
+ fi
+
+ # Umount pts if needed, we will remount it later:
+ if grep -E -q "^[^[:space:]]+ $UDEV_ROOT/pts devpts" /proc/mounts; then
+ umount -l $UDEV_ROOT/pts
+ fi
+
+ # Mount tmpfs on $UDEV_ROOT:
+ # the -n is because we don't want $UDEV_ROOT umounted when
+ # someone (rc.[06]) calls umount -a
+ mount -n -o mode=0755 -t tmpfs tmpfs $UDEV_ROOT
+
+ # Remount pts:
+ mkdir $UDEV_ROOT/pts 2> /dev/null
+ mount -n -o mode=0620,gid=5 -t devpts devpts $UDEV_ROOT/pts
+ fi
+
+ # Add the static nodes to $UDEV_ROOT:
+ cp --preserve=all --recursive --remove-destination /lib/udev/devices/* $UDEV_ROOT
+
+ # Start udevd:
+ echo "Starting udevd: /sbin/udevd --daemon"
+ /sbin/udevd --daemon
+
+ # Create rootdev rules
+ DEVICENUMBER=$( /bin/stat -c %d / )
+ MAJORNUMBER=$(($DEVICENUMBER / 256))
+ MINORNUMBER=$(($DEVICENUMBER % 256))
+
+ echo 'ACTION=="add|change", SUBSYSTEM=="block", ENV{MAJOR}=="'$MAJORNUMBER'", ENV{MINOR}=="'$MINORNUMBER'", SYMLINK+="root"' > /dev/.udev/rules.d/61-dev-root-link.rules
+
+ fi
+
+ echo "Triggering udev events: /sbin/udevadm trigger $OPT"
+ # Call udevtrigger and udevsettle to do the device configuration:
+ /sbin/udevadm trigger $OPT && /sbin/udevadm settle --timeout=120
+
+ ;;
+ stop)
+ echo "Stopping udevd"
+ if [ -e /proc/sys/kernel/hotplug ]; then
+ echo /sbin/hotplug > /proc/sys/kernel/hotplug
+ fi
+ killall udevd
+ ;;
+ restart)
+ echo "Restarting udevd"
+ killall udevd
+ sleep 5
+ udevd --daemon
+ ;;
+ reload)
+ echo "Reloading udev rules"
+ udevadm control --reload-rules
+ cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT
+ ;;
+ force-reload)
+ echo "Updating all available device nodes in $UDEV_ROOT"
+ udevadm control --reload-rules
+ rm -rf $UDEV_ROOT/.udev $UDEV_ROOT/disk
+ cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart|reload|force-reload}"
+ exit 1
+ ;;
+esac
diff --git a/source/a/udev/config/rules.d/40-slackware.rules b/source/a/udev/config/rules.d/40-slackware.rules
new file mode 100644
index 000000000..29b6071e0
--- /dev/null
+++ b/source/a/udev/config/rules.d/40-slackware.rules
@@ -0,0 +1,16 @@
+# /lib/udev/rules.d/40-slackware.rules
+#
+# Slackware custom udev rules
+# Also see the following Slackware-provided custom rules files:
+# 65-permissions.rules and 90-network.rules
+#
+# Any change in this file will be overwritten in upgrades. Put your
+# custom rules somewhere else (90-local.rules is a good idea).
+#
+# See the udev man page to know the parameters you can use in udev
+# rules.
+#
+
+# input devices
+KERNEL=="mice", SYMLINK+="mouse"
+
diff --git a/source/a/udev/config/rules.d/65-permissions.rules b/source/a/udev/config/rules.d/65-permissions.rules
new file mode 100644
index 000000000..b0cfb2590
--- /dev/null
+++ b/source/a/udev/config/rules.d/65-permissions.rules
@@ -0,0 +1,52 @@
+# Slackware permission rules
+#
+# These rules are here instead of 40-slackware.rules because
+# many of them need to run after the block section in
+# 50-udev.default.rules
+#
+# Remember, in any upgrade, this file will be overwritten.
+# Put your custom rules somewhere else (90-local.rules is
+# a good idea).
+#
+
+# all disks with group disk
+KERNEL!="fd*", SUBSYSTEM=="block", GROUP="disk"
+
+# permissions for IDE floppy devices
+KERNEL=="hd*[!0-9]", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", \
+ SYMLINK+="floppy floppy-%k", OPTIONS+="ignore_remove"
+KERNEL=="hd*[0-9]", ATTRS{media}=="floppy", ATTRS{removable}=="1", \
+ SYMLINK+="floppy-%k", OPTIONS+="ignore_remove"
+
+# put all removable devices in group "plugdev"
+KERNEL=="hd*[!0-9]", ATTR{removable}=="1", GROUP="plugdev"
+KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GROUP="plugdev"
+KERNEL=="sd*[!0-9]", ATTR{removable}=="1", GROUP="plugdev"
+KERNEL=="sd*[0-9]", ATTRS{removable}=="1", GROUP="plugdev"
+
+# Many hot-pluggable devices (ZIP, Jazz, LS-120, etc...)
+# need to be in plugdev, too.
+KERNEL=="diskonkey*", GROUP="plugdev"
+KERNEL=="jaz*", GROUP="plugdev"
+KERNEL=="pocketzip*", GROUP="plugdev"
+KERNEL=="zip*", GROUP="plugdev"
+KERNEL=="ls120", GROUP="plugdev"
+KERNEL=="microdrive*", GROUP="plugdev"
+
+# CD group and permissions
+ENV{ID_CDROM}=="?*", GROUP="cdrom", MODE="0660"
+KERNEL=="pktcdvd", GROUP="cdrom", MODE="0660"
+KERNEL=="pktcdvd[0-9]*", GROUP="cdrom", MODE="0660"
+# permissions for SCSI sg devices
+SUBSYSTEMS=="scsi", KERNEL=="s[gt][0-9]*", ATTRS{type}=="5", \
+ GROUP="cdrom", MODE="0660"
+
+# Make DRI video devices usable by anyone in group "video":
+KERNEL=="card[0-9]*",GROUP:="video"
+
+# alsa devices
+SUBSYSTEM=="sound", GROUP="audio"
+
+# Make the real time clock readable by all, and writable by root:
+KERNEL=="rtc|rtc0", MODE="0644"
+
diff --git a/source/a/udev/config/rules.d/90-network.rules b/source/a/udev/config/rules.d/90-network.rules
new file mode 100644
index 000000000..03f2ddc76
--- /dev/null
+++ b/source/a/udev/config/rules.d/90-network.rules
@@ -0,0 +1,5 @@
+# This file will be overwritten in next upgrade. Please put your
+# custom rules somewhere else (90-local.rules is a good idea)
+
+SUBSYSTEM=="net", NAME=="?*", ACTION=="add", RUN+="nethelper.sh $env{INTERFACE} start"
+SUBSYSTEM=="net", NAME=="?*", ACTION=="remove", RUN+="nethelper.sh $env{INTERFACE} stop"
diff --git a/source/a/udev/config/scripts/nethelper.sh b/source/a/udev/config/scripts/nethelper.sh
new file mode 100755
index 000000000..9e1720271
--- /dev/null
+++ b/source/a/udev/config/scripts/nethelper.sh
@@ -0,0 +1,62 @@
+#!/bin/sh
+DEVNAME="$1"
+COMMAND="$2"
+
+testwrite() {
+ if touch /var/run/checkrw 2>/dev/null ; then
+ rm -rf /var/run/checkrw
+ RW=1
+ fi
+}
+
+case $DEVNAME in
+ eth*|ath*|wlan*|ra*|sta*|ctc*|lcs*|hsi*)
+ case $COMMAND in
+ 'start')
+ testwrite
+
+ if [ $RW ]; then
+ if [ -x /etc/rc.d/rc.inet1 ]; then
+ if ! /sbin/ifconfig | /bin/grep -q "^${DEVNAME} "; then
+ /etc/rc.d/rc.inet1 ${DEVNAME}_start
+ fi
+ fi
+ exit 0
+ else
+ exit 1
+ fi
+ ;;
+ 'stop')
+ if [ -x /etc/rc.d/rc.inet1 ]; then
+ if /sbin/ifconfig | /bin/grep -q "^${DEVNAME} "; then
+ /etc/rc.d/rc.inet1 ${DEVNAME}_stop
+ fi
+ fi
+ # Does dhcpcd appear to still be running on the
+ # interface? If so, try to stop it.
+ if [ -r /etc/dhcpc/dhcpcd-$DEVNAME.pid -o -r /var/run/dhcpcd-$DEVNAME.pid ]; then
+ /sbin/dhcpcd -k -d $DEVNAME
+ # Force garbage removal, if needed:
+ if [ -r /etc/dhcpc/dhcpcd-$DEVNAME.pid ]; then
+ /bin/rm -f /etc/dhcpc/dhcpcd-$DEVNAME.pid
+ elif [ -r /var/run/dhcpcd-$DEVNAME.pid ]; then
+ /bin/rm -f /var/run/dhcpcd-$DEVNAME.pid
+ fi
+ fi
+ # If the interface is now down, exit with a status of 0:
+ if /sbin/ifconfig | /bin/grep -q "^${DEVNAME} " ; then
+ exit 0
+ fi
+ ;;
+ *)
+ echo "usage $0 interface start|stop"
+ exit 1
+ ;;
+ esac
+ ;;
+ *)
+ echo "Interface $DEVNAME not supported."
+ exit 1
+ ;;
+esac
+exit 0
diff --git a/source/a/udev/config/udev.conf b/source/a/udev/config/udev.conf
new file mode 100644
index 000000000..b0421a08b
--- /dev/null
+++ b/source/a/udev/config/udev.conf
@@ -0,0 +1,14 @@
+# udev.conf
+# The main config file for udev
+#
+# This file can be used to override some of udev's default values for where it
+# looks for files, and where it places device nodes.
+
+# udev_root - where in the filesystem to place the device nodes
+udev_root="/dev/"
+
+# udev_log - The initial syslog(3) priority: "err", "info", "debug" or
+# its numerical equivalent. For runtime debugging, the daemons
+# internal state can be changed with: udevcontrol log_priority=<value>
+udev_log="err"
+
diff --git a/source/a/udev/doinst.sh b/source/a/udev/doinst.sh
new file mode 100644
index 000000000..5e737ca0c
--- /dev/null
+++ b/source/a/udev/doinst.sh
@@ -0,0 +1,39 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+# Keep same perms on rc.udev.new:
+if [ -e etc/rc.d/rc.udev ]; then
+ cp -a etc/rc.d/rc.udev etc/rc.d/rc.udev.new.incoming
+ cat etc/rc.d/rc.udev.new > etc/rc.d/rc.udev.new.incoming
+ mv etc/rc.d/rc.udev.new.incoming etc/rc.d/rc.udev.new
+fi
+
+# There's no reason for a user to edit rc.udev, so overwrite it:
+if [ -r etc/rc.d/rc.udev.new ]; then
+ mv etc/rc.d/rc.udev.new etc/rc.d/rc.udev
+fi
+
+# This should catch *all* files in /etc/modprobe.d/ and move them over to
+# have .conf extensions
+for modfile in $(ls etc/modprobe.d/ | grep -v "\.\(conf\|bak\|orig\|new\)"); do
+ if [ -e etc/modprobe.d/$modfile -a ! -e etc/modprobe.d/$modfile.conf ]; then
+ mv etc/modprobe.d/$modfile etc/modprobe.d/$modfile.conf
+ elif [ -e etc/modprobe.d/$modfile -a -e etc/modprobe.d/$modfile.conf ]; then
+ mv etc/modprobe.d/$modfile etc/modprobe.d/$modfile.bak
+ fi
+done
+
+config etc/modprobe.d/blacklist.conf.new
+config etc/modprobe.d/isapnp.conf.new
+config etc/modprobe.d/psmouse.conf.new
+config etc/modprobe.d/usb-controller.conf.new
+
diff --git a/source/a/udev/rule_generator.diff b/source/a/udev/rule_generator.diff
new file mode 100644
index 000000000..0ff218a6c
--- /dev/null
+++ b/source/a/udev/rule_generator.diff
@@ -0,0 +1,80 @@
+diff -Naur udev-114/extras/rule_generator/write_cd_rules udev-114slk/extras/rule_generator/write_cd_rules
+--- udev-114/extras/rule_generator/write_cd_rules 2007-08-05 09:08:47.000000000 -0300
++++ udev-114slk/extras/rule_generator/write_cd_rules 2007-08-22 20:17:24.000000000 -0300
+@@ -3,7 +3,8 @@
+ # This script is run if an optical drive lacks a rule for persistent naming.
+ #
+ # It adds symlinks for optical drives based on the device class determined
+-# by cdrom_id and used ID_PATH to identify the device.
++# by cdrom_id and used ID_PATH or ID_SERIAL or ID_MODEL and ID_REVISION
++# to identify the device.
+ #
+ # (C) 2006 Marco d'Itri <md@Linux.IT>
+ #
+@@ -97,18 +98,59 @@
+ choose_rules_file
+
+ link_num=$(find_next_available 'cdrom[0-9]*')
++[ "$link_num" = "" ] && link_num=0
+
+ match="ENV{ID_CDROM}==\"?*\", $RULE"
+
+ comment="$ID_MODEL ($ID_PATH)"
+-
+ write_rule "$match" "cdrom$link_num" "$comment"
+-[ "$ID_CDROM_CD_R" -o "$ID_CDROM_CD_RW" ] && \
+- write_rule "$match" "cdrw$link_num"
+-[ "$ID_CDROM_DVD" ] && \
+- write_rule "$match" "dvd$link_num"
+-[ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ] && \
+- write_rule "$match" "dvdrw$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' cdrom)" = "" ]; then
++ write_rule "$match" "cdrom"
++ fi
++
++ if [ "$ID_CDROM_CD_R" ]; then
++ write_rule "$match" "cdr$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' cdr)" = "" ]; then
++ write_rule "$match" "cdr"
++ fi
++
++ write_rule "$match" "cdwriter$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' cdwriter)" = "" ]; then
++ write_rule "$match" "cdwriter"
++ fi
++
++ if [ "$ID_CDROM_CD_RW" ]; then
++ write_rule "$match" "cdrw$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' cdrw)" = "" ]; then
++ write_rule "$match" "cdrw"
++ fi
++ fi
++
++ if [ "$(find_all_rules 'SYMLINK+=' writer)" = "" ]; then
++ write_rule "$match" "writer"
++ fi
++ fi
++
++ if [ "$ID_CDROM_DVD" ]; then
++ write_rule "$match" "dvd$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' dvd)" = "" ]; then
++ write_rule "$match" "dvd"
++ fi
++
++ if [ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ]; then
++ write_rule "$match" "dvdrw$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' dvdrw)" = "" ]; then
++ write_rule "$match" "dvdrw"
++ fi
++
++ write_rule "$match" "dvdwriter$link_num"
++ if [ "$(find_all_rules 'SYMLINK+=' dvdwriter)" = "" ]; then
++ write_rule "$match" "dvdwriter"
++ fi
++ fi
++ fi
++
++
+
+ unlock_rules_file
+
diff --git a/source/a/udev/slack-desc b/source/a/udev/slack-desc
new file mode 100644
index 000000000..c411756c8
--- /dev/null
+++ b/source/a/udev/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler-------------------------------------------------------|
+udev: udev (dynamic device directory system)
+udev:
+udev: udev provides a dynamic device directory containing only the files
+udev: for the devices which are actually present. It creates or removes
+udev: device node files usually located in the /dev directory.
+udev:
+udev: udev requires a 2.6 or newer kernel.
+udev:
+udev: Kay Sievers is the udev maintainer.
+udev:
+udev:
diff --git a/source/a/udev/udev-141.tar.bz2.sign b/source/a/udev/udev-141.tar.bz2.sign
new file mode 100644
index 000000000..a30826919
--- /dev/null
+++ b/source/a/udev/udev-141.tar.bz2.sign
@@ -0,0 +1,8 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+Comment: See http://www.kernel.org/signature.html for info
+
+iD8DBQBJ3TgkyGugalF9Dw4RAtJCAJ4+ns9bz4ZIu+3ecfra/BWrn3euqwCeOFQZ
+6A7UqbHlTlD48sOk249ZATA=
+=AY1A
+-----END PGP SIGNATURE-----
diff --git a/source/a/udev/udev.SlackBuild b/source/a/udev/udev.SlackBuild
new file mode 100755
index 000000000..0c6327486
--- /dev/null
+++ b/source/a/udev/udev.SlackBuild
@@ -0,0 +1,140 @@
+#!/bin/sh
+
+# Copyright 2006, 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-141}
+ARCH=${ARCH:-x86_64}
+BUILD=${BUILD:-3}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-udev
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/lib/udev
+cd $TMP
+rm -rf udev-$VERSION
+tar xvf $CWD/udev-$VERSION.tar.bz2 || exit 1
+cd udev-$VERSION || exit 1
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+zcat $CWD/rule_generator.diff.gz | patch -p1 --verbose || exit 1
+
+./configure \
+ --prefix=/usr \
+ --exec-prefix=/ \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --with-libdir-name=lib${LIBDIRSUFFIX} \
+ --build=$ARCH-slackware-linux
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null || true
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+ xargs strip --strip-unneeded 2> /dev/null
+)
+
+# scsi_id and vol_id are needed by multipath
+( cd $PKG/sbin
+ ln -s ../lib/udev/scsi_id scsi_id
+ ln -s ../lib/udev/vol_id vol_id
+)
+
+mkdir -p \
+ $PKG/etc/modprobe.d \
+ $PKG/etc/rc.d \
+ $PKG/etc/udev/rules.d \
+ $PKG/lib/firmware
+
+# Yes, these will clobber existing config files.
+cp -a $CWD/config/udev.conf $PKG/etc/udev/udev.conf
+# Copy Slackware custom rules
+cp -a $CWD/config/rules.d/* $PKG/lib/udev/rules.d/
+# Copy some files from upstream
+cp -a rules/packages/40-alsa.rules $PKG/lib/udev/rules.d/
+cp -a rules/packages/40-isdn.rules $PKG/lib/udev/rules.d/
+cp -a rules/packages/40-zaptel.rules $PKG/lib/udev/rules.d/
+cp -a rules/packages/40-infiniband.rules $PKG/lib/udev/rules.d/
+#cp -a rules/packages/40-pilot-links.rules $PKG/etc/udev/rules.d/
+#cp -a rules/packages/64-md-raid.rules $PKG/etc/udev/rules.d/
+# Now the init script and module-init-tools stuff
+cp -a $CWD/config/rc.d/rc.udev.new $PKG/etc/rc.d/rc.udev.new
+cp -a $CWD/config/modprobe.d/* $PKG/etc/modprobe.d
+
+chown -R root:root $PKG/etc
+find $PKG/etc -type f -exec chmod 644 {} \;
+find $PKG/etc -type d -exec chmod 755 {} \;
+chmod 755 $PKG/etc/rc.d/rc.udev.new
+
+# Add extra device nodes to the package that udev doesn't make:
+tar xvf $CWD/udev-fixed-devices.tar.gz -C $PKG
+
+# Add various helper scripts:
+for file in $CWD/config/scripts/* ; do
+ cp -a $file $PKG/lib/udev/
+done
+chown -R root:root $PKG/lib/udev
+chmod 755 $PKG/lib/udev/*
+
+mkdir -p $PKG/usr/doc/udev-$VERSION
+cp -a \
+ COPYING* FAQ README* TODO RELEASE-NOTES docs \
+ $PKG/usr/doc/udev-$VERSION
+
+# Compress and fix manpage symlinks:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c y $TMP/udev-$VERSION-$ARCH-$BUILD.txz