summarylogtreecommitdiffstats
path: root/pre-upgrade
blob: d65b324b0f4868f39fc997c61c5d3fba188daa1a (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
#!/bin/bash

set -eu

shopt -s nullglob

read cur_osrelease </proc/sys/kernel/osrelease

moddir=/usr/lib/modules/$cur_osrelease
oldlink=$(readlink -m "$moddir")

for l in /usr/lib/modules/*; do
    oldlink=$(readlink -m "$l")
    [ "${oldlink}" == /var/cache/kmods ] || continue
    rm "$l"
done

if [ -e /var/cache/kmods/osrelease ]; then
    read prev_osrelease </var/cache/kmods/osrelease
    [ "$cur_osrelease" != "$prev_osrelease" ] || exit 0
fi

[ -d "$moddir" ] || exit 0

rm -rf /var/cache/kmods

cp -a "$moddir" /var/cache/kmods
cat /proc/sys/kernel/osrelease >/var/cache/kmods/osrelease