blob: 615ec56d9fff63d24bacd87967455bce154a3c6f (
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
|
post_install() {
dkms add spl/${1%%[_-]*}
check_hostid
cat << EOF
==> To build and install your modules run: dkms install spl/${1%%[_-]*} -k [KERNEL]
==> To do this automatically at startup run: systemctl enable dkms.service
EOF
}
pre_upgrade() {
pre_remove "$2"
}
post_upgrade() {
post_install "$1"
}
pre_remove() {
[ -n "${1%%[_-]*}" ] && dkms remove spl/${1%%[_-]*} --all &> /dev/null || true
}
check_hostid() {
# Check /etc/hostid to see if it set to the sentinel value, see
# https://wiki.archlinux.org/index.php/ZFS for more information.
HOSTID=$(hostid)
if [ "0x$HOSTID" == "0xffffffff" ]; then
# Generate a new hostid
: >/etc/hostid
HOSTID=$(hostid)
# hostid is 4 byte little endian
printf $(echo -n $HOSTID | sed 's/\(..\)\(..\)\(..\)\(..\)/\\x\4\\x\3\\x\2\\x\1/') >/etc/hostid
fi
}
|