summaryrefslogtreecommitdiff
path: root/source/a/eudev
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/eudev')
-rw-r--r--source/a/eudev/0001-Remove-obsolete-udev_root-references.patch68
-rw-r--r--source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch38
-rw-r--r--source/a/eudev/60-cdrom_id.rules.diff30
-rw-r--r--source/a/eudev/config/modprobe.d/8139cp.conf7
-rw-r--r--source/a/eudev/config/modprobe.d/README11
-rw-r--r--source/a/eudev/config/modprobe.d/bcm43xx.conf7
-rw-r--r--source/a/eudev/config/modprobe.d/eepro100.conf8
-rw-r--r--source/a/eudev/config/modprobe.d/eth1394.conf8
-rw-r--r--source/a/eudev/config/modprobe.d/evbug.conf7
-rw-r--r--source/a/eudev/config/modprobe.d/framebuffers.conf48
-rw-r--r--source/a/eudev/config/modprobe.d/hostap.conf12
-rw-r--r--source/a/eudev/config/modprobe.d/hw_random.conf7
-rw-r--r--source/a/eudev/config/modprobe.d/isapnp.conf24
-rw-r--r--source/a/eudev/config/modprobe.d/isdn.conf11
-rw-r--r--source/a/eudev/config/modprobe.d/oss.conf61
-rw-r--r--source/a/eudev/config/modprobe.d/pcspkr.conf9
-rw-r--r--source/a/eudev/config/modprobe.d/psmouse.conf10
-rw-r--r--source/a/eudev/config/modprobe.d/scsi-sata-controllers.conf81
-rw-r--r--source/a/eudev/config/modprobe.d/sound-modems.conf10
-rw-r--r--source/a/eudev/config/modprobe.d/tulip.conf11
-rw-r--r--source/a/eudev/config/modprobe.d/usb-controller.conf9
-rw-r--r--source/a/eudev/config/modprobe.d/via-ircc.conf7
-rw-r--r--source/a/eudev/config/modprobe.d/watchdog.conf59
-rwxr-xr-xsource/a/eudev/config/rc.d/rc.udev.new185
-rw-r--r--source/a/eudev/config/rules.d/40-slackware.rules25
-rw-r--r--source/a/eudev/config/rules.d/65-permissions.rules41
-rw-r--r--source/a/eudev/config/udev.conf8
-rw-r--r--source/a/eudev/doinst.sh36
-rwxr-xr-xsource/a/eudev/eudev.SlackBuild161
-rw-r--r--source/a/eudev/slack-desc20
30 files changed, 1019 insertions, 0 deletions
diff --git a/source/a/eudev/0001-Remove-obsolete-udev_root-references.patch b/source/a/eudev/0001-Remove-obsolete-udev_root-references.patch
new file mode 100644
index 00000000..e09f82e0
--- /dev/null
+++ b/source/a/eudev/0001-Remove-obsolete-udev_root-references.patch
@@ -0,0 +1,68 @@
+From 26b8f53163c0efd9c638f9798bb8e36be2a3d719 Mon Sep 17 00:00:00 2001
+From: Robby Workman <rworkman@slackware.com>
+Date: Sun, 15 Nov 2015 15:07:37 -0600
+Subject: [PATCH] Remove obsolete udev_root references
+
+This was removed in 6ada823a9a0979ea145fd70add1007c21caa45c0
+---
+ man/udev.7 | 5 -----
+ man/udev.xml | 7 -------
+ test/udev-test.pl | 8 --------
+ 3 files changed, 20 deletions(-)
+
+diff --git a/man/udev.7 b/man/udev.7
+index b54683d..293f404 100644
+--- a/man/udev.7
++++ b/man/udev.7
+@@ -515,11 +515,6 @@ The current name of the device\&. If not changed by a rule, it is the name of th
+ A space\-separated list of the current symlinks\&. The value is only set during a remove event or if an earlier rule assigned a value\&.
+ .RE
+ .PP
+-\fB$root\fR, \fB%r\fR
+-.RS 4
+-The udev_root value\&.
+-.RE
+-.PP
+ \fB$sys\fR, \fB%S\fR
+ .RS 4
+ The sysfs mount point\&.
+diff --git a/man/udev.xml b/man/udev.xml
+index fd7df34..d1ade24 100644
+--- a/man/udev.xml
++++ b/man/udev.xml
+@@ -703,13 +703,6 @@
+ </varlistentry>
+
+ <varlistentry>
+- <term><option>$root</option>, <option>%r</option></term>
+- <listitem>
+- <para>The udev_root value.</para>
+- </listitem>
+- </varlistentry>
+-
+- <varlistentry>
+ <term><option>$sys</option>, <option>%S</option></term>
+ <listitem>
+ <para>The sysfs mount point.</para>
+diff --git a/test/udev-test.pl b/test/udev-test.pl
+index 14f11df..9a425bb 100755
+--- a/test/udev-test.pl
++++ b/test/udev-test.pl
+@@ -889,14 +889,6 @@ SUBSYSTEMS=="scsi", KERNEL=="sda1", SYMLINK+="%P-part-1"
+ EOF
+ },
+ {
+- desc => "udev_root substitution",
+- devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1",
+- exp_name => "start-/dev-end",
+- rules => <<EOF
+-SUBSYSTEMS=="scsi", KERNEL=="sda1", SYMLINK+="start-%r-end"
+-EOF
+- },
+- {
+ desc => "last_rule option",
+ devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1",
+ exp_name => "last",
+--
+2.6.3
+
diff --git a/source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch b/source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch
new file mode 100644
index 00000000..55e2bccf
--- /dev/null
+++ b/source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch
@@ -0,0 +1,38 @@
+From 71ff5b6886946dacca8ae685ac85cdc174cfdece Mon Sep 17 00:00:00 2001
+From: Richard Narron <richard@aaazen.com>
+Date: Sun, 22 Nov 2015 02:27:58 -0500
+Subject: [PATCH 2/2] src/udev/udevd.c: add eudev startup message for kmsg
+
+Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
+---
+ src/udev/udevd.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index b1de97a..b3fbc27 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -1125,6 +1125,7 @@ static int parse_argv(int argc, char *argv[]) {
+ int main(int argc, char *argv[]) {
+ struct udev *udev;
+ sigset_t mask;
++ FILE *f;
+ int fd_ctrl = -1;
+ int fd_netlink = -1;
+ int fd_worker = -1;
+@@ -1277,6 +1278,12 @@ int main(int argc, char *argv[]) {
+
+ udev_list_node_init(&event_list);
+
++ f = fopen("/dev/kmsg", "w");
++ if (f != NULL) {
++ fprintf(f, "<30>udevd[%u]: starting eudev-" VERSION "\n", getpid());
++ fclose(f);
++ }
++
+ if (!arg_debug) {
+ int fd;
+
+--
+2.6.3
+
diff --git a/source/a/eudev/60-cdrom_id.rules.diff b/source/a/eudev/60-cdrom_id.rules.diff
new file mode 100644
index 00000000..c785dcca
--- /dev/null
+++ b/source/a/eudev/60-cdrom_id.rules.diff
@@ -0,0 +1,30 @@
+diff -rNaud eudev-3.1.old/rules/60-cdrom_id.rules eudev-3.1/rules/60-cdrom_id.rules
+--- eudev-3.1.old/rules/60-cdrom_id.rules 2015-03-19 22:57:28.000000000 +0100
++++ eudev-3.1/rules/60-cdrom_id.rules 2015-10-24 12:36:13.350966101 +0200
+@@ -20,6 +20,25 @@
+ # stale mounts after ejecting
+ ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0"
+
+-KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100"
++# create default links to the first detected device
++KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_CD_R}=="1", SYMLINK+="cdr", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_CD_R}=="1", SYMLINK+="cdwriter", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdr", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdwriter", OPTIONS+="link_priority=-100"
++KERNEL=="sr0", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw", OPTIONS+="link_priority=-100"
++
++# create all other device links
++KERNEL=="sr[0-9]*", ENV{ID_CDROM}=="1", SYMLINK+="cdrom%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_CD_R}=="1", SYMLINK+="cdr%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_CD_R}=="1", SYMLINK+="cdwriter%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdr%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdwriter%n", OPTIONS+="link_priority=-100"
++KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw%n", OPTIONS+="link_priority=-100"
++
+
+ LABEL="cdrom_end"
diff --git a/source/a/eudev/config/modprobe.d/8139cp.conf b/source/a/eudev/config/modprobe.d/8139cp.conf
new file mode 100644
index 00000000..65f0af0d
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/8139cp.conf
@@ -0,0 +1,7 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Alternate 8139 driver. Some 8139 cards need this specific driver, though...
+blacklist 8139cp
+
diff --git a/source/a/eudev/config/modprobe.d/README b/source/a/eudev/config/modprobe.d/README
new file mode 100644
index 00000000..43355e82
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/README
@@ -0,0 +1,11 @@
+# /etc/modprobe.d/README
+#
+# The monolithic "blacklist" file (and others) that used to be here in this
+# directory have been split into several more fine-grained files and moved
+# to the /lib/modprobe.d/ directory. Any file in /lib/modprobe.d/ will be
+# overridden by an identically named file in this directory (/etc/modprobe.d/)
+# or /run/modprobe.d/ (but since /run is on a tmpfs, it's not persistent
+# across reboots, so you probably don't want to use it).
+#
+# See "man modprobe.d" for more information.
+#
diff --git a/source/a/eudev/config/modprobe.d/bcm43xx.conf b/source/a/eudev/config/modprobe.d/bcm43xx.conf
new file mode 100644
index 00000000..55b3c2ab
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/bcm43xx.conf
@@ -0,0 +1,7 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Deprecated BCM4318 driver.
+blacklist bcm43xx
+
diff --git a/source/a/eudev/config/modprobe.d/eepro100.conf b/source/a/eudev/config/modprobe.d/eepro100.conf
new file mode 100644
index 00000000..a7ca4aae
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/eepro100.conf
@@ -0,0 +1,8 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Alternate Intel EtherExpress Pro/100 support driver. List it
+# here so it won't conflict with an already-loaded e100 module.
+blacklist eepro100
+
diff --git a/source/a/eudev/config/modprobe.d/eth1394.conf b/source/a/eudev/config/modprobe.d/eth1394.conf
new file mode 100644
index 00000000..a2f475af
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/eth1394.conf
@@ -0,0 +1,8 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Ethernet over IEEE1394 module. In too many cases this will load
+# when there's no eth1394 device present (just an IEEE1394 port)
+blacklist eth1394
+
diff --git a/source/a/eudev/config/modprobe.d/evbug.conf b/source/a/eudev/config/modprobe.d/evbug.conf
new file mode 100644
index 00000000..0af0a83c
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/evbug.conf
@@ -0,0 +1,7 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+#evbug is a debug tool and should be loaded explicitly
+blacklist evbug
+
diff --git a/source/a/eudev/config/modprobe.d/framebuffers.conf b/source/a/eudev/config/modprobe.d/framebuffers.conf
new file mode 100644
index 00000000..770ce420
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/framebuffers.conf
@@ -0,0 +1,48 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# 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
+blacklist viafb
+blacklist virgefb
+
diff --git a/source/a/eudev/config/modprobe.d/hostap.conf b/source/a/eudev/config/modprobe.d/hostap.conf
new file mode 100644
index 00000000..4254d3da
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/hostap.conf
@@ -0,0 +1,12 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Modules used to run a wireless adapter 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
+
diff --git a/source/a/eudev/config/modprobe.d/hw_random.conf b/source/a/eudev/config/modprobe.d/hw_random.conf
new file mode 100644
index 00000000..b912e012
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/hw_random.conf
@@ -0,0 +1,7 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# This module has also been known to cause crashes with some hardware.
+blacklist hw_random
+
diff --git a/source/a/eudev/config/modprobe.d/isapnp.conf b/source/a/eudev/config/modprobe.d/isapnp.conf
new file mode 100644
index 00000000..a89ad6bb
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/isapnp.conf
@@ -0,0 +1,24 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# These aliases are here because many PnP modules do not provide them.
+#
+# NOTE: Commented out due to noise pollution from udev.
+# In the unlikely event that your machine needs these aliases, copy this
+# file to /etc/modprobe.d/isapnp.conf and uncomment them there.
+
+#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/eudev/config/modprobe.d/isdn.conf b/source/a/eudev/config/modprobe.d/isdn.conf
new file mode 100644
index 00000000..7f736753
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/isdn.conf
@@ -0,0 +1,11 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# These two come from the hwdata project
+# Bug numbers are Fedora/RH specific
+
+# ISDN - see bugs 154799, 159068
+blacklist hisax
+blacklist hisax_fcpcipnp
+
diff --git a/source/a/eudev/config/modprobe.d/oss.conf b/source/a/eudev/config/modprobe.d/oss.conf
new file mode 100644
index 00000000..52ed2f59
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/oss.conf
@@ -0,0 +1,61 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# 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
+
diff --git a/source/a/eudev/config/modprobe.d/pcspkr.conf b/source/a/eudev/config/modprobe.d/pcspkr.conf
new file mode 100644
index 00000000..66de6b74
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/pcspkr.conf
@@ -0,0 +1,9 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# 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
+
diff --git a/source/a/eudev/config/modprobe.d/psmouse.conf b/source/a/eudev/config/modprobe.d/psmouse.conf
new file mode 100644
index 00000000..cc414141
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/psmouse.conf
@@ -0,0 +1,10 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# 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/eudev/config/modprobe.d/scsi-sata-controllers.conf b/source/a/eudev/config/modprobe.d/scsi-sata-controllers.conf
new file mode 100644
index 00000000..61470416
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/scsi-sata-controllers.conf
@@ -0,0 +1,81 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# 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
+
diff --git a/source/a/eudev/config/modprobe.d/sound-modems.conf b/source/a/eudev/config/modprobe.d/sound-modems.conf
new file mode 100644
index 00000000..f458346d
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/sound-modems.conf
@@ -0,0 +1,10 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# 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
+
diff --git a/source/a/eudev/config/modprobe.d/tulip.conf b/source/a/eudev/config/modprobe.d/tulip.conf
new file mode 100644
index 00000000..64b6a5ca
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/tulip.conf
@@ -0,0 +1,11 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# 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
+
diff --git a/source/a/eudev/config/modprobe.d/usb-controller.conf b/source/a/eudev/config/modprobe.d/usb-controller.conf
new file mode 100644
index 00000000..f5e4e502
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/usb-controller.conf
@@ -0,0 +1,9 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# The EHCI driver should be loaded before the ones for low speed controllers
+# or some devices may be confused when they are disconnected and reconnected.
+softdep uhci-hcd pre: ehci-hcd
+softdep ohci-hcd pre: ehci-hcd
+
diff --git a/source/a/eudev/config/modprobe.d/via-ircc.conf b/source/a/eudev/config/modprobe.d/via-ircc.conf
new file mode 100644
index 00000000..3dfa5731
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/via-ircc.conf
@@ -0,0 +1,7 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# The kernel lists this as "experimental", but for now it's "broken"
+blacklist via-ircc
+
diff --git a/source/a/eudev/config/modprobe.d/watchdog.conf b/source/a/eudev/config/modprobe.d/watchdog.conf
new file mode 100644
index 00000000..22a5c829
--- /dev/null
+++ b/source/a/eudev/config/modprobe.d/watchdog.conf
@@ -0,0 +1,59 @@
+##############################################################################
+# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
+##############################################################################
+
+# Blacklist all watchdog modules. Many motherboards hang with them, and
+# if you really need a watchdog, you probably know how to load the module
+blacklist acquirewdt
+blacklist advantechwdt
+blacklist alim1535_wdt
+blacklist alim7101_wdt
+blacklist bcm7038_wdt
+blacklist cadence_wdt
+blacklist cpu5wdt
+blacklist dw_wdt
+blacklist eurotechwdt
+blacklist f71808e_wdt
+blacklist hpwdt
+blacklist i6300esb
+blacklist i8xx_tco
+blacklist iTCO_vendor_support
+blacklist iTCO_wdt
+blacklist ib700wdt
+blacklist ibmasr
+blacklist ie6xx_wdt
+blacklist it8712f_wdt
+blacklist it87_wdt
+blacklist machzwd
+blacklist max63xx_wdt
+blacklist mena21_wdt
+blacklist menf21bmc_wdt
+blacklist mixcomwd
+blacklist nv_tco
+blacklist pc87413_wdt
+blacklist pcwd
+blacklist pcwd_pci
+blacklist pcwd_usb
+blacklist retu_wdt
+blacklist rn5t618_wdt
+blacklist sbc60xxwdt
+blacklist sbc7240_wdt
+blacklist sbc8360
+blacklist sbc_epx_c3
+blacklist sbc_fitpc2_wdt
+blacklist sc1200wdt
+blacklist sc520_wdt
+blacklist sch311x_wdt
+blacklist scx200_wdt
+blacklist smsc37b787_wdt
+blacklist softdog
+blacklist sp5100_tco
+blacklist via_wdt
+blacklist w83627hf_wdt
+blacklist w83697hf_wdt
+blacklist w83877f_wdt
+blacklist w83977f_wdt
+blacklist wafer5823wdt
+blacklist wdt
+blacklist wdt_pci
+
diff --git a/source/a/eudev/config/rc.d/rc.udev.new b/source/a/eudev/config/rc.d/rc.udev.new
new file mode 100755
index 00000000..aaa1eb15
--- /dev/null
+++ b/source/a/eudev/config/rc.d/rc.udev.new
@@ -0,0 +1,185 @@
+#!/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"
+
+check_mounted() {
+ grep -E -q "^[^[:space:]]+ $1 $2" /proc/mounts
+ return $?
+}
+
+mount_devpts() {
+ if ! check_mounted /dev/pts devpts ; then
+ mkdir /dev/pts 2> /dev/null
+ mount -n -o mode=0620,gid=5 -t devpts devpts /dev/pts
+ fi
+}
+
+mount_devshm() {
+ if ! check_mounted /dev/shm tmpfs ; then
+ mkdir /dev/shm 2> /dev/null
+ mount /dev/shm
+ fi
+}
+
+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 "32" ]; then
+ echo "Sorry, but you need a 2.6.32+ kernel to use this 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 0644 /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 grep -qw devtmpfs /proc/filesystems ; then
+ if ! check_mounted /dev devtmpfs ; then
+ # umount shm if needed
+ check_mounted /dev/shm tmpfs && umount -l /dev/shm
+
+ # Umount pts if needed, we will remount it later:
+ check_mounted /dev/pts devpts && umount -l /dev/pts
+
+ # Mount tmpfs on /dev:
+ mount -n -t devtmpfs devtmpfs /dev
+ fi
+ else
+ # Mount tmpfs on /dev:
+ if ! check_mounted /dev tmpfs ; then
+ # umount shm if needed
+ check_mounted /dev/shm tmpfs && umount -l /dev/shm
+
+ # Umount pts if needed, we will remount it later:
+ check_mounted /dev/pts devpts && umount -l /dev/pts
+
+ # Mount tmpfs on /dev:
+ # the -n is because we don't want /dev umounted when
+ # someone (rc.[06]) calls umount -a
+ mount -n -o mode=0755 -t tmpfs tmpfs /dev
+ fi
+ fi
+
+ # Mount devpts
+ mount_devpts
+ mount_devshm
+
+ if ! /sbin/pidof udevd 1>/dev/null 2>/dev/null; then # start udevd
+ echo "Creating static nodes in /dev."
+ kmod static-nodes -f tmpfiles --output /run/static-nodes
+ grep "^d\ " /run/static-nodes | while read line ; do
+ mkdir -p -m $(echo $line | cut -f 3 -d ' ') $(echo $line | cut -f 2 -d ' ')
+ done
+ grep -v "^d\ " /run/static-nodes | while read line ; do
+ mknod -m $(echo $line | cut -f 3 -d ' ') \
+ $(echo $line | cut -f 2 -d ' ') \
+ $(echo $line | cut -b1 ) \
+ $(echo $line | cut -f 7 -d ' ' | cut -f 1 -d :) \
+ $(echo $line | cut -f 7 -d ' ' | cut -f 2 -d :) 2> /dev/null
+ done
+ rm -f /run/static-nodes
+ # Add any system defined additional device nodes:
+ cp --preserve=all --recursive --update /lib/udev/devices/* /dev 2> /dev/null
+ # Add any locally defined additional device nodes:
+ cp --preserve=all --recursive --update /etc/udev/devices/* /dev 2> /dev/null
+ echo "Starting udevd: /sbin/udevd --daemon"
+ /sbin/udevd --daemon
+ # Since udev is just now being started we want to use add events:
+ echo "Triggering udev events: /sbin/udevadm trigger --action=add"
+ # Call udevtrigger and udevsettle to do the device configuration:
+ /sbin/udevadm trigger --type=subsystems --action=add
+ /sbin/udevadm trigger --type=devices --action=add
+ else # trigger changes for already running udevd
+ # If the persistent network rules file does not exist, trigger an add event:
+ if [ ! -r /etc/udev/rules.d/70-persistent-net.rules ]; then
+ # Test that we can actually write to the directory first:
+ if touch /etc/udev/rules.d/testfile 2> /dev/null ; then
+ rm -f /etc/udev/rules.d/testfile
+ # This should add persistent net rules:
+ echo "Triggering udev to write persistent rules to /etc/udev/rules.d/"
+ /sbin/udevadm trigger --type=devices --action=add
+ sleep 3
+ # Create the files if they don't exist at this point.
+ # If a machine does not have a network device or an optical
+ # device, we don't want to waste time trying to generate
+ # rules at every boot.
+ # To force another attempt, delete the file(s).
+ touch /etc/udev/rules.d/70-persistent-net.rules
+ fi
+ fi
+ # Update the hardware database index (/etc/udev/hwdb.bin), if possible:
+ if touch /etc/udev/testfile 2> /dev/null ; then
+ rm -f /etc/udev/testfile
+ echo "Updating hardware database index: /sbin/udevadm hwdb --update"
+ /sbin/udevadm hwdb --update
+ fi
+ # Since udevd is running, most of the time we only need change events:
+ echo "Triggering udev events: /sbin/udevadm trigger --action=change"
+ /sbin/udevadm trigger --type=subsystems --action=change
+ /sbin/udevadm trigger --type=devices --action=change
+ fi
+ /sbin/udevadm settle --timeout=120
+ ;;
+ stop)
+ echo "Stopping udevd is STRONGLY discouraged and not supported."
+ echo "If you are sure you want to do this, use 'force-stop' instead."
+ ;;
+ force-stop)
+ echo "Stopping udevd"
+ udevadm control --exit
+ killall udevd 2>/dev/null
+ ;;
+ restart)
+ echo "Restarting udevd is STRONGLY discouraged and not supported."
+ echo "If you are sure you want to do this, use 'force-restart' instead."
+ ;;
+ force-restart)
+ echo "Restarting udevd"
+ udevadm control --exit
+ sleep 3
+ udevd --daemon
+ ;;
+ reload)
+ echo "Reloading udev rules"
+ udevadm control --reload
+ ;;
+ force-reload)
+ echo "Updating all available device nodes in /dev"
+ udevadm control --reload
+ rm -rf /dev/.udev /dev/disk
+ cp --preserve=all --recursive --update /lib/udev/devices/* /dev 2> /dev/null
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart|reload|force-reload}"
+ exit 1
+ ;;
+esac
diff --git a/source/a/eudev/config/rules.d/40-slackware.rules b/source/a/eudev/config/rules.d/40-slackware.rules
new file mode 100644
index 00000000..3240b29e
--- /dev/null
+++ b/source/a/eudev/config/rules.d/40-slackware.rules
@@ -0,0 +1,25 @@
+# /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"
+
+# Set rfkill device writable by netdev group
+KERNEL=="rfkill", GROUP:="netdev", MODE:="0664"
+
+# Mount fusectl filesystem
+KERNEL=="fuse", ACTION=="add", RUN+="/bin/mount -t fusectl fusectl /sys/fs/fuse/connections"
+
+# Set default perms for /dev/ppp:
+KERNEL=="ppp", MODE="0660", GROUP="dialout", OPTIONS+="static_node=ppp"
+
diff --git a/source/a/eudev/config/rules.d/65-permissions.rules b/source/a/eudev/config/rules.d/65-permissions.rules
new file mode 100644
index 00000000..6f82b0f3
--- /dev/null
+++ b/source/a/eudev/config/rules.d/65-permissions.rules
@@ -0,0 +1,41 @@
+# 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"
+
+# put all removable devices in 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"
+
+# Make the real time clock readable by all, and writable by root:
+KERNEL=="rtc|rtc0", MODE="0644"
+
diff --git a/source/a/eudev/config/udev.conf b/source/a/eudev/config/udev.conf
new file mode 100644
index 00000000..e507e116
--- /dev/null
+++ b/source/a/eudev/config/udev.conf
@@ -0,0 +1,8 @@
+# /etc/udev/udev.conf
+
+# This file can be used to override some of udev's default values
+# See udev(7) for details
+
+# udev_log - The initial syslog(3) priority: "err", "info", "debug"
+udev_log="err"
+
diff --git a/source/a/eudev/doinst.sh b/source/a/eudev/doinst.sh
new file mode 100644
index 00000000..2912e5c8
--- /dev/null
+++ b/source/a/eudev/doinst.sh
@@ -0,0 +1,36 @@
+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 [ "$modfile" = README ]; then
+ true # do nothing
+ elif [ -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
+
diff --git a/source/a/eudev/eudev.SlackBuild b/source/a/eudev/eudev.SlackBuild
new file mode 100755
index 00000000..c82107f4
--- /dev/null
+++ b/source/a/eudev/eudev.SlackBuild
@@ -0,0 +1,161 @@
+#!/bin/sh
+
+# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, 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:-$(echo eudev-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-8}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-eudev
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/lib/udev
+cd $TMP
+rm -rf eudev-$VERSION
+tar xvf $CWD/eudev-$VERSION.tar.xz || exit 1
+cd eudev-$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 {} \;
+
+# Patch 60-cdrom_id.rules to create a full set of symlinks:
+zcat $CWD/60-cdrom_id.rules.diff.gz | patch -p1 --verbose || exit 1
+
+zcat $CWD/0001-Remove-obsolete-udev_root-references.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch.gz | patch -p1 --verbose || exit 1
+
+./configure \
+ --prefix=/usr \
+ --with-rootprefix=/ \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-rootlibdir=/lib${LIBDIRSUFFIX} \
+ --with-rootrundir=/run \
+ --with-rootlibexecdir=/lib/udev \
+ --sysconfdir=/etc \
+ --bindir=/sbin \
+ --sbindir=/sbin \
+ --libexecdir=/lib \
+ --enable-introspection \
+ --enable-hwdb \
+ --enable-manpages \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/eudev-$VERSION \
+ --disable-static \
+ --enable-rule_generator \
+ --enable-split-usr \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# scsi_id is needed by multipath
+( cd $PKG/sbin ; ln -s ../lib/udev/scsi_id scsi_id )
+
+# Move system installed hwdb files under /lib:
+mkdir -p $PKG/lib/udev/hwdb.d
+mv $PKG/etc/udev/hwdb.d/* $PKG/lib/udev/hwdb.d
+
+mkdir -p \
+ $PKG/run \
+ $PKG/{etc,lib}/modprobe.d \
+ $PKG/etc/rc.d \
+ $PKG/etc/udev/rules.d \
+ $PKG/lib/firmware
+
+# Yes, this 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/
+
+# Now the init script and kmod stuff:
+cp -a $CWD/config/rc.d/rc.udev.new $PKG/etc/rc.d/rc.udev.new
+cp -a $CWD/config/modprobe.d/*.conf $PKG/lib/modprobe.d/
+cp -a $CWD/config/modprobe.d/README $PKG/etc/modprobe.d/
+
+chown -R root:root $PKG/etc $PKG/lib/modprobe.d
+find $PKG/etc $PKG/lib/modprobe.d -type f -exec chmod 644 {} \;
+find $PKG/etc -type d -exec chmod 755 {} \;
+chmod 0755 $PKG/etc/rc.d/rc.udev.new
+
+# Add extra device nodes to the package that udev doesn't make:
+mkdir -p $PKG/lib/udev/devices
+if [ -r $CWD/udev-fixed-devices.tar.gz ]; then
+ tar xvf $CWD/udev-fixed-devices.tar.gz -C $PKG
+fi
+
+# Support locally added additional devices found in this directory:
+mkdir -p $PKG/etc/udev/devices
+
+chown -R root:root $PKG/lib/udev
+chmod 0755 $PKG/lib/udev/*
+
+mkdir -p $PKG/usr/doc/eudev-$VERSION
+cp -a \
+ COPYING* README* TODO \
+ $PKG/usr/doc/eudev-$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/eudev-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/a/eudev/slack-desc b/source/a/eudev/slack-desc
new file mode 100644
index 00000000..c709d6e0
--- /dev/null
+++ b/source/a/eudev/slack-desc
@@ -0,0 +1,20 @@
+# 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-------------------------------------------------------|
+eudev: eudev (dynamic device directory system)
+eudev:
+eudev: eudev provides a dynamic device directory containing only the files
+eudev: for the devices which are actually present. It creates or removes
+eudev: device node files usually located in the /dev directory. eudev is a
+eudev: fork of git://anongit.freedesktop.org/systemd/systemd with the aim of
+eudev: isolating udev from any particular flavor of system initialization.
+eudev:
+eudev: Homepage: https://wiki.gentoo.org/wiki/Project:Eudev
+eudev:
+eudev:
+