summaryrefslogtreecommitdiff
path: root/testing/udev/udev.install
diff options
context:
space:
mode:
Diffstat (limited to 'testing/udev/udev.install')
-rw-r--r--testing/udev/udev.install65
1 files changed, 65 insertions, 0 deletions
diff --git a/testing/udev/udev.install b/testing/udev/udev.install
new file mode 100644
index 000000000..5c02dd15b
--- /dev/null
+++ b/testing/udev/udev.install
@@ -0,0 +1,65 @@
+# arg 1: the new package version
+# arg 2: the old package version
+
+post_upgrade() {
+ if [ "$(vercmp $2 100)" -lt 0 ]; then
+ echo "ATTENTION UDEV:"
+ echo "----------"
+ echo "udev >=098 rules syntax has changed, please update your own rules."
+ echo "udev >=099 Added persistent network and CD/DVD Symlink generator rules."
+ echo "Please read the instructions carefully before reboot."
+ echo "They are located in /etc/udev/readme-udev-arch.txt"
+ echo "----------"
+ fi
+ if [ "$(vercmp $2 169)" -lt 0 ]; then
+ echo "ATTENTION UDEV:"
+ echo "---------------"
+ echo "Kernel 2.6.32 or newer is now required."
+ echo "OSS emulation modules are not loaded by default, add to rc.conf if needed."
+ echo "Arch specific cd symlinks are now no longer created."
+ echo "cd and net persistent rules will no longer be autogenerated,"
+ echo "see <https://wiki.archlinux.org/index.php/Udev> for details."
+ echo "Errors are now logged (possibly to the console) by default."
+ echo "---------------"
+ fi
+ if [ "$(vercmp $2 172)" -lt 0 ]; then
+ echo "ATTENTION UDEV:"
+ echo "---------------"
+ echo "Arch's custom blacklisting logic has been removed. MOD_AUTOLOAD and"
+ echo "blacklisting in MODULES no longer works."
+ echo "See 'man modprobe.conf' for a replacement to blacklisting."
+ echo "To disable a module mod1 on the kernel command line, use"
+ echo "mod1.disable=1"
+ echo "or"
+ echo "modprobe.blacklist=mod1"
+ echo " --"
+ echo "The following modules are no longer unconditionally loaded:"
+ echo " pcspkr irtty-sir analog lp ppdev ide-generic"
+ echo "Add them to MODULES in rc.conf if you need them."
+ echo "---------------"
+ fi
+}
+
+post_install() {
+ # If a ramfs is mounted, we still need to make sure that /dev/{console,null,zero} exist
+ # The Archlinux installer bind-mounts /dev to /mnt/dev, thus making the real /dev invisible
+ ROOTDIR=""
+ [ "$(stat -c %D /)" != "$(stat -c %D /dev)" ] && ROOTDIR=$(mktemp -d /tmp/udevinstall.XXXXXX)
+ [ -n "${ROOTDIR}" ] && mount --bind / ${ROOTDIR}
+ if [ ! -c ${ROOTDIR}/dev/console ]; then
+ rm -f ${ROOTDIR}/dev/console
+ mknod -m600 ${ROOTDIR}/dev/console c 5 1
+ fi
+ if [ ! -c ${ROOTDIR}/dev/null ]; then
+ rm -f ${ROOTDIR}/dev/null
+ mknod -m644 ${ROOTDIR}/dev/null c 1 3
+ fi
+ if [ ! -c ${ROOTDIR}/dev/zero ]; then
+ rm -f ${ROOTDIR}/dev/zero
+ mknod -m644 ${ROOTDIR}/dev/zero c 1 5
+ fi
+ if [ -n "${ROOTDIR}" ]; then
+ umount ${ROOTDIR}
+ rmdir ${ROOTDIR}
+ fi
+}