584dcd0244fec94d1a63ba54981ace536352d9c5
[live-boot-grml.git] / scripts / live-bottom / 40install_driver_updates
1 #!/bin/sh
2
3 #set -e
4
5 # initramfs-tools header
6
7 PREREQ=""
8
9 prereqs()
10 {
11         echo "${PREREQ}"
12 }
13
14 case "${1}" in
15         prereqs)
16                 prereqs
17                 exit 0
18                 ;;
19 esac
20
21 # live-initramfs header
22
23 . /scripts/live-functions
24
25 # live-initramfs script
26
27 if [ ! -d /tmp/driver-updates ]
28 then
29         exit 0
30 fi
31
32 log_begin_msg "Installing driver updates..."
33
34 install_dir=/var/cache/driver-updates
35
36 mkdir "/root${install_dir}"
37 cp -a /tmp/driver-updates/*.deb "/root${install_dir}/"
38
39 # We cannot leave packages in a bad state. So if the install fails, remove
40 # it. This will get caught in live.log.
41 for deb in "/root${install_dir}"/*
42 do
43         [ -f "${deb}" ] || continue
44
45         debbase="${deb##*/}"
46
47         if ! chroot /root dpkg -i "${install_dir}/${debbase}"
48         then
49                 chroot /root dpkg -P "${debbase%%_*}"
50         fi
51 done
52
53 log_end_msg