aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/debian/openzfs-zfs-dkms.postinst
blob: 0ecb9674d559b504203e1d8219b07c3f98e90a30 (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
#!/bin/sh
set -e

# Source debconf library (see dh_installdebconf(1) and #106070 #626312)
. /usr/share/debconf/confmodule

kernelbits=unknown
if [ -r /proc/kallsyms ]; then
	addrlen=$(head -1 /proc/kallsyms| grep -o '^ *[^ ]*' |wc -c)
	if [ $addrlen = 17 ]; then
		kernelbits=64
	elif [ $addrlen = 9 ]; then
		kernelbits=32
	fi
fi

if [ $kernelbits != 64 ]; then
	if [ $kernelbits = 32 ]; then
		db_get zfs-dkms/stop-build-for-32bit-kernel
		if [ "$RET" = "true" ]; then
			echo "Ok, aborting, since ZFS is not designed for 32-bit kernels." 1>&2
			# Exit 0: Tell dpkg that we finished OK but stop here.
			# (don't build the module)
			exit 0
		else
			echo "WARNING: Building ZFS module on a 32-bit kernel." 1>&2
		fi
	else
		db_get zfs-dkms/stop-build-for-unknown-kernel
		if [ "$RET" = "true" ]; then
			echo "Ok, aborting, since ZFS is not designed for 32-bit kernels." 1>&2
			# Exit 0: (same that above)
			exit 0
		else
			echo "WARNING: Building ZFS module on an unknown kernel." 1>&2
		fi
	fi
fi

# Here the module gets built (automatically handled by dh_dkms)

#DEBHELPER#


case $1 in
	(configure)
		if [ -x /usr/share/update-notifier/notify-reboot-required ]; then
			/usr/share/update-notifier/notify-reboot-required
		fi
		;;
esac