summaryrefslogtreecommitdiff
path: root/libre/linux-libre/linux-libre.install
blob: 146d349d1d37fa3267956efb894d6b53ab4d5ef2 (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# arg 1:  the new package version
# arg 2:  the old package version

KERNEL_NAME=
KERNEL_VERSION=3.1.4-1-LIBRE

post_install () {
  # updating module dependencies
  echo ">>> Updating module dependencies. Please wait ..."
  depmod ${KERNEL_VERSION}
  echo ">>> Generating initial ramdisk, using mkinitcpio.  Please wait..."
  mkinitcpio -p linux-libre${KERNEL_NAME}

  # compat symlinks for the official kernels only
  if [ -z "${KERNEL_NAME}" -o "${KERNEL_NAME}" = "-lts" ]; then
    loaders="$(find /boot -name syslinux.cfg -or -name extlinux.conf -or -name grub.cfg -or -name menu.lst)"
    [ -f /etc/lilo.conf ] && loaders="$loaders /etc/lilo.conf"
    if [ -n "${loaders}" ] && grep -q -e vmlinuz26 -e kernel26.img -e kernel26-fallback.img $loaders; then
      # add compat symlinks for the initramfs images
      ln -sf initramfs-linux-libre${KERNEL_NAME}.img /boot/kernel26${KERNEL_NAME}.img
      ln -sf initramfs-linux-libre${KERNEL_NAME}-fallback.img /boot/kernel26${KERNEL_NAME}-fallback.img
      ln -sf vmlinuz-linux-libre${KERNEL_NAME} /boot/vmlinuz26${KERNEL_NAME}
    fi
  fi
}

post_upgrade() {
  pacman -Q grub &>/dev/null
  hasgrub=$?
  pacman -Q grub2 &>/dev/null
  hasgrub2=$?
  pacman -Q lilo &>/dev/null
  haslilo=$?
  # reminder notices
  if [ $haslilo -eq 0 ]; then
    echo ">>>"
    if [ $hasgrub -eq 0 -o $hasgrub2 -eq 0 ]; then
      echo ">>> If you use the LILO bootloader, you should run 'lilo' before rebooting."
    else
      echo ">>> You appear to be using the LILO bootloader. You should run"
      echo ">>> 'lilo' before rebooting."
    fi
    echo ">>>"
  fi

  if grep "^[^#]*[[:space:]]/boot" etc/fstab 2>&1 >/dev/null; then
    if ! grep "[[:space:]]/boot" etc/mtab 2>&1 >/dev/null; then
      echo "WARNING: /boot appears to be a seperate partition but is not mounted."
      echo "         You probably just broke your system. Congratulations."
    fi
  fi

  # updating module dependencies
  echo ">>> Updating module dependencies. Please wait ..."
  depmod ${KERNEL_VERSION}
  echo ">>> Generating initial ramdisk, using mkinitcpio.  Please wait..."
  mkinitcpio -p linux-libre${KERNEL_NAME}
}

post_remove() {
  # also remove the compat symlinks
  rm -f boot/{initramfs-linux-libre,kernel26}${KERNEL_NAME}.img
  rm -f boot/{initramfs-linux-libre,kernel26}${KERNEL_NAME}-fallback.img
}