# Maintainer: Ben Allen # Contributor: Ben Allen setvar _flavor = ${FLAVOR:-hardened} setvar _kpkg = "linux-$_flavor" setvar _kver = '4.9.54' setvar _kpkgrel = '0' # when chaning _ver we *must* bump _mypkgrel setvar _ver = '5.1.26' setvar _mypkgrel = '0' setvar _name = 'virtualbox-guest-modules' setvar _kpkgver = ""$_kver-r$_kpkgrel"" setvar _abi_release = "${_kver}-${_kpkgrel}-${_flavor}" setvar _abi_release_virthardened = "${_kver}-${_kpkgrel}-virthardened" setvar pkgname = "${_name}-${_flavor}" setvar pkgver = "$_kver" setvar pkgrel = $(($_kpkgrel + $_mypkgrel)) setvar pkgdesc = ""VirtualBox Additions guest kernel modules for $_flavor"" setvar arch = ''x86 x86_64'' setvar url = ''http://virtualbox.org'' setvar license = ""GPL custom"" setvar makedepends = ""linux-hardened-dev=$_kpkgver linux-virthardened-dev=$_kpkgver sed coreutils"" setvar subpackages = ""$_name-virthardened:_virthardened"" setvar source = ""http://download.virtualbox.org/virtualbox/$_ver/VirtualBox-$_ver.tar.bz2 vboxguest-log-use-c99.patch const-struct-kernel_param.patch "" setvar provides = ""${_name}-grsec=${pkgver}-r${pkgrel}"" setvar builddir = ""$srcdir"/VirtualBox-$_ver" proc prepare { local i shell { # verify the kernel version before entering chroot setvar _kapkbuild = ""$startdir"/../../main/linux-${_flavor}/APKBUILD" if test -f $_kapkbuild { source $_kapkbuild setvar 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 { setvar 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/ } setvar sha512sums = ""680e9646a51a0a5923b3ded10007ee1c1e2a41c6d8a961d2b2540db6578bed2847154f4cac87e3cfe1118a62595b47c7df99da854f6c340e173b9eb8cacf2add VirtualBox-5.1.26.tar.bz2 bd934e9ed3d2324ef66e2539d2f3f6fab35a8858d670bba817b9cabfe66e85fe13a8594b35f4a8e639841f72fb0b8d12af38518ba25638da5ef338b259ab600b vboxguest-log-use-c99.patch d069876f93e431833800c1d26ea77ae1dec40c840bb549cf519ceea93ee1ca89bcb262a13b00001503d19e596965d74a71a7f49be232ea892a82114d3ea4337c const-struct-kernel_param.patch""