summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/udev/udev.install
blob: b4ce3c81b57b90475118c4cc45afaa7d4a71166a (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
# 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
}