# arg 1:  the new package version
# arg 2:  the old package version

post_upgrade() {
  if [ "$(vercmp $2 165)" -lt 0 ]; then
    echo "The udev database has changed. Converting database, to let the new"
    echo "udev/libudev version read the already stored data."
    udevadm info --convert-db
  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
}
