# Maintainer: Ben Allen # Contributor: Ben Allen setglobal _flavor = $(FLAVOR:-hardened) setglobal _kpkg = "linux-$_flavor" setglobal _kver = '4.9.54' setglobal _kpkgrel = '0' # when chaning _ver we *must* bump _mypkgrel setglobal _ver = '5.1.26' setglobal _mypkgrel = '0' setglobal _name = 'virtualbox-guest-modules' setglobal _kpkgver = ""$_kver-r$_kpkgrel"" setglobal _abi_release = "$(_kver)-$(_kpkgrel)-$(_flavor)" setglobal _abi_release_virthardened = "$(_kver)-$(_kpkgrel)-virthardened" setglobal pkgname = "$(_name)-$(_flavor)" setglobal pkgver = $_kver setglobal pkgrel = $shExpr('$_kpkgrel + $_mypkgrel') setglobal pkgdesc = ""VirtualBox Additions guest kernel modules for $_flavor"" setglobal arch = ''x86 x86_64'' setglobal url = ''http://virtualbox.org'' setglobal license = '"GPL custom'" setglobal makedepends = ""linux-hardened-dev=$_kpkgver linux-virthardened-dev=$_kpkgver sed coreutils"" setglobal subpackages = ""$_name-virthardened:_virthardened"" setglobal source = ""http://download.virtualbox.org/virtualbox/$_ver/VirtualBox-$_ver.tar.bz2 vboxguest-log-use-c99.patch const-struct-kernel_param.patch "" setglobal provides = ""$(_name)-grsec=$(pkgver)-r$(pkgrel)"" setglobal builddir = ""$srcdir"/VirtualBox-$_ver" proc prepare { local i shell { # verify the kernel version before entering chroot setglobal _kapkbuild = ""$startdir"/../../main/linux-$(_flavor)/APKBUILD" if test -f $_kapkbuild { source $_kapkbuild setglobal pkgname = "$_name-$_flavor" if test $_kver != $pkgver { die "please update _kver to $pkgver" } if test $_kpkgrel != $pkgrel { die "please update _kpkgrel to $pkgrel" } } } || 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] { mkdir -p "$srcdir/$i" tar -C "$srcdir/$i" -zxf "$srcdir"/vbox-kmod-$_ver.tar.gz } } proc build { local i for i in [$_abi_release $_abi_release_virthardened] { cd "$srcdir/$i" # Build Kernel Modules make KERN_DIR=/lib/modules/$(i)/build \ || return 1 } } proc package { local i module= for i in [$_abi_release $_abi_release_virthardened] { cd "$srcdir/$i" for module in [*.ko] { install -v -D -m644 $(module) \ "$pkgdir/lib/modules/$i/misc/$(module)" } } } proc _virthardened { setglobal 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/ } setglobal sha512sums = '"680e9646a51a0a5923b3ded10007ee1c1e2a41c6d8a961d2b2540db6578bed2847154f4cac87e3cfe1118a62595b47c7df99da854f6c340e173b9eb8cacf2add VirtualBox-5.1.26.tar.bz2 bd934e9ed3d2324ef66e2539d2f3f6fab35a8858d670bba817b9cabfe66e85fe13a8594b35f4a8e639841f72fb0b8d12af38518ba25638da5ef338b259ab600b vboxguest-log-use-c99.patch d069876f93e431833800c1d26ea77ae1dec40c840bb549cf519ceea93ee1ca89bcb262a13b00001503d19e596965d74a71a7f49be232ea892a82114d3ea4337c const-struct-kernel_param.patch'"