diff options
Diffstat (limited to 'app-emulation/virtualbox-modules')
10 files changed, 103 insertions, 218 deletions
diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index 0f1c81daa903..0c9bc2979bee 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -1,2 +1,2 @@ -DIST vbox-kernel-module-src-6.1.32.tar.xz 675300 BLAKE2B fc843779ae9348203f2528009880e2d2dde65102c8be1837eb3a362e2703f9ecf54f7a10939318cbecbb41b4790a8b7d56c98ad82a4e83592b4c5491af0772b5 SHA512 e1c00be4fe2a0447c30ae0d380fc7a78fec1c3f52fb0cf0d20ccefcd174bf11097a91aa862ef8753be012e546a31555f5be9c1136cbaefc2240708b3adde7e5b -DIST vbox-kernel-module-src-6.1.34.tar.xz 675236 BLAKE2B 45385b4e60f7f5da8ebd2bb20ebc706ec8ac48e698dc62740ead31bd77e059bfb2980a83f8781832fe8e5faaade88db97c73f25096724ae4f29aba6daf04f7a0 SHA512 313dda056cb5e4020bfc9bafca2d05ab628aa740d174b9457f860ce0cd8eccaf557798cbb5fc1efeb36dc0f1f0320034ee86e48da03b33779eda1093b50d6c64 +DIST vbox-kernel-module-src-6.1.50.tar.xz 680700 BLAKE2B c3a10ce8f3eb7e6c0c05f81cd3c072296557b9f9f6f501bb0aec3f04aabfe1fbb67b553510104139cef290c09ff9e67161085781b8d28c968dfafd15958a1b1a SHA512 7822e421b595263cbdaae08103255742360ca7ab0c385818ec895f10570c5b9ed5c7614742d8fa8bc2414cd426907cd1c49d735cde8caf9d2b7692898058f592 +DIST vbox-kernel-module-src-7.0.18.tar.xz 719604 BLAKE2B 44e9d895791a7ff50681dd8860456a87078b41a4eb3005a6b249f9b34c37de709e190cbd6f352d21010ddcb9d8d1c35303bafd765e999664288df9e0ead94e6c SHA512 1cc17e302ef8251abd08a078abf11fede242154b0bb78d03f8d7c2821ba7cff410bd255802316a2f13100884b35a6f14fdf0b594304bd041521b66d264f51b77 diff --git a/app-emulation/virtualbox-modules/files/create_vbox_modules_tarball.sh b/app-emulation/virtualbox-modules/files/create_vbox_modules_tarball.sh deleted file mode 100755 index 756d243542bc..000000000000 --- a/app-emulation/virtualbox-modules/files/create_vbox_modules_tarball.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# Create a virtualbox modules tarball from a VirtualBox binary package. -# We cannot download the package by this script because of the unpredictable -# build number being in the filename. -# -# usage: create_vbox_modules_tarball.sh VirtualBox-4.1.18-78361-Linux_amd64.run - -[ -f "$1" ] || exit 1 - -VBOX_PACKAGE="$1" -VERSION_SUFFIX="" - -if [[ ${VBOX_PACKAGE} = *_BETA* ]] || [[ ${VBOX_PACKAGE} = *_RC* ]] ; then - VERSION_SUFFIX="$(echo ${VBOX_PACKAGE} | sed 's@.*VirtualBox-[[:digit:]\.]\+\(_[[:alpha:]]\+[[:digit:]]\).*@\L\1@')" - -fi - -VBOX_VER="$(echo ${VBOX_PACKAGE} | sed 's@.*VirtualBox-\([[:digit:]\.]\+\).*@\1@')${VERSION_SUFFIX}" - - -sh ${VBOX_PACKAGE} --noexec --keep --nox11 || exit 2 -cd install || exit 3 -tar -xaf VirtualBox.tar.bz2 || exit 4 -cd src/vboxhost || exit 5 -tar -cvJf ../../../vbox-kernel-module-src-${VBOX_VER}.tar.xz . || exit 6 -cd ../../.. && rm install -rf - -exit 0 diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-5.2.8-pax-const.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-5.2.8-pax-const.patch deleted file mode 100644 index 6251e33ce59e..000000000000 --- a/app-emulation/virtualbox-modules/files/virtualbox-modules-5.2.8-pax-const.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- vboxdrv/SUPDrvIDC.h -+++ vboxdrv/SUPDrvIDC.h -@@ -160,7 +160,7 @@ typedef struct SUPDRVIDCREQGETSYM - { - /** The symbol address. */ - PFNRT pfnSymbol; -- } Out; -+ } __no_const Out; - } u; - } SUPDRVIDCREQGETSYM; - /** Pointer to a SUPDRV IDC get symbol request. */ ---- vboxnetflt/include/VBox/intnet.h -+++ vboxnetflt/include/VBox/intnet.h -@@ -783,7 +783,7 @@ typedef struct INTNETTRUNKFACTORY - DECLR0CALLBACKMEMBER(int, pfnCreateAndConnect,(struct INTNETTRUNKFACTORY *pIfFactory, const char *pszName, - PINTNETTRUNKSWPORT pSwitchPort, uint32_t fFlags, - PINTNETTRUNKIFPORT *ppIfPort)); --} INTNETTRUNKFACTORY; -+} __no_const INTNETTRUNKFACTORY; - /** Pointer to the trunk factory. */ - typedef INTNETTRUNKFACTORY *PINTNETTRUNKFACTORY; - ---- vboxnetflt/linux/VBoxNetFlt-linux.c -+++ vboxnetflt/linux/VBoxNetFlt-linux.c -@@ -840,7 +840,7 @@ typedef struct ethtool_ops OVR_OPSTYPE; - - # else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */ - --typedef struct net_device_ops OVR_OPSTYPE; -+typedef net_device_ops_no_const OVR_OPSTYPE; - # define OVR_OPS netdev_ops - # define OVR_XMIT pOrgOps->ndo_start_xmit - ---- vboxpci/include/VBox/rawpci.h -+++ vboxpci/include/VBox/rawpci.h -@@ -545,7 +545,7 @@ typedef struct RAWPCIFACTORY - DECLR0CALLBACKMEMBER(void, pfnDeinitVm,(PRAWPCIFACTORY pFactory, - PVM pVM, - PRAWPCIPERVM pVmData)); --} RAWPCIFACTORY; -+} __no_const RAWPCIFACTORY; - - #define RAWPCIFACTORY_UUID_STR "ea089839-4171-476f-adfb-9e7ab1cbd0fb" - diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-7.0.14-kernel-6.6-warning.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-7.0.14-kernel-6.6-warning.patch new file mode 100644 index 000000000000..64bafa84e365 --- /dev/null +++ b/app-emulation/virtualbox-modules/files/virtualbox-modules-7.0.14-kernel-6.6-warning.patch @@ -0,0 +1,27 @@ +https://www.virtualbox.org/changeset/103168/vbox +https://bugs.gentoo.org/923277 + +--- a/vboxdrv/r0drv/linux/memobj-r0drv-linux.c ++++ b/vboxdrv/r0drv/linux/memobj-r0drv-linux.c +@@ -244,9 +244,21 @@ + #if defined(RT_ARCH_X86) || defined(RT_ARCH_AMD64) + if (fKernel) + { ++# if RTLNX_VER_MIN(6,6,0) ++ /* In kernel 6.6 mk_pte() macro was fortified with additional ++ * check which does not allow to use our custom mask anymore ++ * (see kernel commit ae1f05a617dcbc0a732fbeba0893786cd009536c). ++ * For this particular mapping case, an existing mask PAGE_KERNEL_ROX ++ * can be used instead. PAGE_KERNEL_ROX was introduced in ++ * kernel 5.8, however, lets apply it for kernels 6.6 and newer ++ * to be on a safe side. ++ */ ++ return PAGE_KERNEL_ROX; ++# else + pgprot_t fPg = MY_PAGE_KERNEL_EXEC; + pgprot_val(fPg) &= ~_PAGE_RW; + return fPg; ++# endif + } + return PAGE_READONLY_EXEC; + #else diff --git a/app-emulation/virtualbox-modules/files/virtualbox.conf b/app-emulation/virtualbox-modules/files/virtualbox.conf deleted file mode 100644 index c8c79a249887..000000000000 --- a/app-emulation/virtualbox-modules/files/virtualbox.conf +++ /dev/null @@ -1,4 +0,0 @@ -vboxdrv -vboxnetflt -vboxnetadp -vboxpci diff --git a/app-emulation/virtualbox-modules/metadata.xml b/app-emulation/virtualbox-modules/metadata.xml index c221e792cbcd..498143329fed 100644 --- a/app-emulation/virtualbox-modules/metadata.xml +++ b/app-emulation/virtualbox-modules/metadata.xml @@ -2,10 +2,7 @@ <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>polynomial-c@gentoo.org</email> - <name>Lars Wendler</name> + <email>ceamac@gentoo.org</email> + <name>Viorel Munteanu</name> </maintainer> - <use> - <flag name="pax-kernel">Apply patch needed for pax enabled kernels</flag> - </use> </pkgmetadata> diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.32.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.32.ebuild deleted file mode 100644 index 76e624379df2..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.32.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from VirtualBox-*.run - -EAPI=7 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="pax-kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=\"$(tc-getBUILD_CC)\" KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" - if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental." - - BUILD_PARAMS+=' CC=${CHOST}-clang' - if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' - if linux_chkconfig_present LTO_CLANG_THIN; then - # kernel enables cache by default leading to sandbox violations - BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' - fi - fi - fi -} - -src_prepare() { - if use pax-kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - # Remove vboxpci.ko from current running kernel - find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.34.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.34.ebuild deleted file mode 100644 index 33bf7475fadf..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.34.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# XXX: the tarball here is just the kernel modules split out of the binary -# package that comes from VirtualBox-*.run - -EAPI=8 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="~amd64" -IUSE="pax-kernel" - -RDEPEND="!=app-emulation/virtualbox-9999" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=\"$(tc-getBUILD_CC)\" KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" - if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental." - - BUILD_PARAMS+=' CC=${CHOST}-clang' - if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' - if linux_chkconfig_present LTO_CLANG_THIN; then - # kernel enables cache by default leading to sandbox violations - BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' - fi - fi - fi -} - -src_prepare() { - if use pax-kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - # Remove vboxpci.ko from current running kernel - find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.50-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.50-r1.ebuild new file mode 100644 index 000000000000..83d34d6f3df3 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.50-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from VirtualBox-*.run +# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb + +EAPI=8 + +inherit linux-mod-r1 + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz" +S="${WORKDIR}" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="amd64" + +CONFIG_CHECK="~!SPINLOCK JUMP_LABEL" + +PATCHES=( + "${FILESDIR}"/${PN}-7.0.14-kernel-6.6-warning.patch +) + +src_compile() { + local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc ) + local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" ) + linux-mod-r1_src_compile +} + +src_install() { + linux-mod-r1_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-7.0.18.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.18.ebuild new file mode 100644 index 000000000000..ba255fc783b5 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.18.ebuild @@ -0,0 +1,34 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from VirtualBox-*.run +# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb + +EAPI=8 + +inherit linux-mod-r1 + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz" +S="${WORKDIR}" + +LICENSE="GPL-3" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="amd64" + +CONFIG_CHECK="~!SPINLOCK JUMP_LABEL" + +src_compile() { + local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc ) + local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" ) + linux-mod-r1_src_compile +} + +src_install() { + linux-mod-r1_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} |