summaryrefslogtreecommitdiffstats
path: root/abs/core/udev/udev.install
blob: bb8b16642baed48dfe8e8cb314f7bea7159f07a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 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
}

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}
  [ -c ${ROOTDIR}/dev/console ] || mknod -m600 ${ROOTDIR}/dev/console c 5 1
  [ -c ${ROOTDIR}/dev/null ]    || mknod -m644 ${ROOTDIR}/dev/null c 1 3
  [ -c ${ROOTDIR}/dev/zero ]    || mknod -m644 ${ROOTDIR}/dev/zero c 1 5
  if [ -n "${ROOTDIR}" ]; then
    umount ${ROOTDIR}
    rmdir ${ROOTDIR}
  fi
}

op=$1
shift
$op $*