blob: fac95492fd8fa5af264e55d2be2ed011b029f0af (
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# Maintainer: Ben Allen <bensallen@me.com>
# Contributor: Ben Allen <bensallen@me.com>
_flavor=${FLAVOR:-hardened}
_kpkg=linux-$_flavor
_kver=4.9.32
_kpkgrel=0
# when chaning _ver we *must* bump _mypkgrel
_ver=5.1.22
_mypkgrel=0
_name=virtualbox-guest-modules
_kpkgver="$_kver-r$_kpkgrel"
_abi_release=${_kver}-${_kpkgrel}-${_flavor}
_abi_release_virthardened=${_kver}-${_kpkgrel}-virthardened
pkgname=${_name}-${_flavor}
pkgver=$_kver
pkgrel=$(($_kpkgrel + $_mypkgrel))
pkgdesc="VirtualBox Additions kernel modules for $_flavor"
arch='x86 x86_64'
url='http://virtualbox.org'
license="GPL custom"
makedepends="linux-hardened-dev=$_kpkgver linux-virthardened-dev=$_kpkgver sed coreutils"
subpackages="$_name-virthardened:_virthardened"
source="http://download.virtualbox.org/virtualbox/$_ver/VirtualBox-$_ver.tar.bz2
vboxguest-log-use-c99.patch
const-struct-kernel_param.patch
"
provides="${_name}-grsec=${pkgver}-r${pkgrel}"
builddir="$srcdir"/VirtualBox-$_ver
prepare() {
local i
(
# verify the kernel version before entering chroot
_kapkbuild="$startdir"/../../main/linux-${_flavor}/APKBUILD
if [ -f $_kapkbuild ]; then
. $_kapkbuild
pkgname=$_name-$_flavor
if [ "$_kver" != "$pkgver" ]; then
die "please update _kver to $pkgver"
fi
if [ "$_kpkgrel" != "$pkgrel" ]; then
die "please update _kpkgrel to $pkgrel"
fi
fi
) || return 1
cd "$builddir"
default_prepare || return 1
"$builddir"/src/VBox/Additions/linux/export_modules \
"$srcdir/vbox-kmod-$_ver.tar.gz" || return 1
for i in $_abi_release $_abi_release_virthardened; do
mkdir -p "$srcdir/$i"
tar -C "$srcdir/$i" -zxf "$srcdir"/vbox-kmod-$_ver.tar.gz
done
}
build() {
local i
for i in $_abi_release $_abi_release_virthardened; do
cd "$srcdir/$i"
# Build Kernel Modules
make KERN_DIR=/lib/modules/${i}/build \
|| return 1
done
}
package() {
local i module=
for i in $_abi_release $_abi_release_virthardened; do
cd "$srcdir/$i"
for module in *.ko; do
install -v -D -m644 ${module} \
"$pkgdir/lib/modules/$i/misc/${module}"
done
done
}
_virthardened() {
pkgdesc="VirtualBox Additions kernel modules for virthardened"
mkdir -p "$subpkgdir"/lib/modules/
# vboxvideo.ko won't load with virthardened kernel as it doesn't have DRM
rm "$pkgdir"/lib/modules/$_abi_release_virthardened/misc/vboxvideo.ko
mv "$pkgdir"/lib/modules/$_abi_release_virthardened \
"$subpkgdir"/lib/modules/
}
sha512sums="e48457371c9139fc04477c82fbd18974378fde08af2a6f9058a0eafa6e522987bd129b8d87c9f381789c4e817aded752fde6ea7fcb2ade471997373802e09348 VirtualBox-5.1.22.tar.bz2
bd934e9ed3d2324ef66e2539d2f3f6fab35a8858d670bba817b9cabfe66e85fe13a8594b35f4a8e639841f72fb0b8d12af38518ba25638da5ef338b259ab600b vboxguest-log-use-c99.patch
d069876f93e431833800c1d26ea77ae1dec40c840bb549cf519ceea93ee1ca89bcb262a13b00001503d19e596965d74a71a7f49be232ea892a82114d3ea4337c const-struct-kernel_param.patch"
|