PKGBUILDs/core/udev/udev.install
2011-06-09 17:20:28 -04:00

65 lines
2.5 KiB
Text

# 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
}