diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/vboxguestdrivers')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/export.patch | 77 | ||||
-rw-r--r-- | meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.0.bb (renamed from meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb) | 15 |
2 files changed, 84 insertions, 8 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/export.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/export.patch new file mode 100644 index 000000000..bfba3332b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/export.patch @@ -0,0 +1,77 @@ +Index: src/VBox/Additions/linux/export_modules.sh +=================================================================== +--- a/src/VBox/Additions/linux/export_modules.sh ++++ b/src/VBox/Additions/linux/export_modules.sh +@@ -46,7 +46,13 @@ + VBOX_VERSION_MAJOR=`sed -e "s/^ *VBOX_VERSION_MAJOR *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` + VBOX_VERSION_MINOR=`sed -e "s/^ *VBOX_VERSION_MINOR *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` + VBOX_VERSION_BUILD=`sed -e "s/^ *VBOX_VERSION_BUILD *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` +-VBOX_SVN_REV=`sed -e 's/^ *VBOX_SVN_REV_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_SVN_CONFIG_REV=`sed -e 's/^ *VBOX_SVN_REV_CONFIG_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_SVN_VERSION_REV=`sed -e 's/^ *VBOX_SVN_REV_VERSION_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Version.kmk` ++if [ "$VBOX_SVN_CONFIG_REV" -gt "$VBOX_SVN_VERSION_REV" ]; then ++ VBOX_SVN_REV=$VBOX_SVN_CONFIG_REV ++else ++ VBOX_SVN_REV=$VBOX_SVN_VERSION_REV ++fi + VBOX_VENDOR=`sed -e 's/^ *VBOX_VENDOR *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` + VBOX_VENDOR_SHORT=`sed -e 's/^ *VBOX_VENDOR_SHORT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` + VBOX_PRODUCT=`sed -e 's/^ *VBOX_PRODUCT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` +Index: src/VBox/HostDrivers/linux/export_modules.sh +=================================================================== +--- a/src/VBox/HostDrivers/linux/export_modules.sh ++++ b/src/VBox/HostDrivers/linux/export_modules.sh +@@ -100,12 +100,26 @@ + VBOX_VERSION_MINOR=`sed -e "s/^ *VBOX_VERSION_MINOR *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` + VBOX_VERSION_BUILD=`sed -e "s/^ *VBOX_VERSION_BUILD *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` + VBOX_VERSION_STRING=$VBOX_VERSION_MAJOR.$VBOX_VERSION_MINOR.$VBOX_VERSION_BUILD +-VBOX_SVN_REV=`sed -e 's/^ *VBOX_SVN_REV_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Config.kmk` VBOX_VENDOR=`sed -e 's/^ *VBOX_VENDOR *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` VBOX_VENDOR_SHORT=`sed -e 's/^ *VBOX_VENDOR_SHORT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` VBOX_PRODUCT=`sed -e 's/^ *VBOX_PRODUCT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` VBOX_C_YEAR=`date +%Y` ++VBOX_VERSION_BUILD=`sed -e "s/^ *VBOX_VERSION_BUILD *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Version.kmk` ++VBOX_SVN_CONFIG_REV=`sed -e 's/^ *VBOX_SVN_REV_CONFIG_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_SVN_VERSION_REV=`sed -e 's/^ *VBOX_SVN_REV_VERSION_FALLBACK *:= \+\$(patsubst *%:,, *\$Rev: *\([0-9]\+\) *\$ *) */\1/;t;d' $PATH_ROOT/Version.kmk` ++if [ "$VBOX_SVN_CONFIG_REV" -gt "$VBOX_SVN_VERSION_REV" ]; then ++ VBOX_SVN_REV=$VBOX_SVN_CONFIG_REV ++else ++ VBOX_SVN_REV=$VBOX_SVN_VERSION_REV ++fi ++VBOX_VENDOR=`sed -e 's/^ *VBOX_VENDOR *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_VENDOR_SHORT=`sed -e 's/^ *VBOX_VENDOR_SHORT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_PRODUCT=`sed -e 's/^ *VBOX_PRODUCT *= \+\(.\+\)/\1/;t;d' $PATH_ROOT/Config.kmk` ++VBOX_C_YEAR=`date +%Y` ++VBOX_WITH_PCI_PASSTHROUGH=`sed -e "s/^ *VBOX_WITH_PCI_PASSTHROUGH *= *\(1\?\)/\1/;t;d" $PATH_ROOT/Config.kmk` + + . $PATH_VBOXDRV/linux/files_vboxdrv + . $PATH_VBOXNET/linux/files_vboxnetflt + . $PATH_VBOXADP/linux/files_vboxnetadp +-. $PATH_VBOXPCI/linux/files_vboxpci ++if [ "$VBOX_WITH_PCI_PASSTHROUGH" -eq "1" ]; then ++ . $PATH_VBOXPCI/linux/files_vboxpci ++fi + + # Temporary path for creating the modules, will be removed later + rm -rf "$PATH_TMP" +@@ -187,14 +201,16 @@ + fi + + # vboxpci (VirtualBox host PCI access kernel module) +-mkdir $PATH_TMP/vboxpci || exit 1 +-for f in $VBOX_VBOXPCI_SOURCES; do +- install -D -m 0644 `echo $f|cut -d'=' -f1` "$PATH_TMP/vboxpci/`echo $f|cut -d'>' -f2`" +-done +-if [ -n "$VBOX_WITH_HARDENING" ]; then +- cat $PATH_VBOXPCI/linux/Makefile > $PATH_TMP/vboxpci/Makefile +-else +- sed -e "s;VBOX_WITH_HARDENING;;g" < $PATH_VBOXPCI/linux/Makefile > $PATH_TMP/vboxpci/Makefile ++if [ "$VBOX_WITH_PCI_PASSTHROUGH" -eq "1" ]; then ++ mkdir $PATH_TMP/vboxpci || exit 1 ++ for f in $VBOX_VBOXPCI_SOURCES; do ++ install -D -m 0644 `echo $f|cut -d'=' -f1` "$PATH_TMP/vboxpci/`echo $f|cut -d'>' -f2`" ++ done ++ if [ -n "$VBOX_WITH_HARDENING" ]; then ++ cat $PATH_VBOXPCI/linux/Makefile > $PATH_TMP/vboxpci/Makefile ++ else ++ sed -e "s;VBOX_WITH_HARDENING;;g" < $PATH_VBOXPCI/linux/Makefile > $PATH_TMP/vboxpci/Makefile ++ fi + fi + + install -D -m 0644 $PATH_LINUX/Makefile $PATH_TMP/Makefile diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.0.bb index 0f8d7af3f..be18b10c6 100644 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.0.bb @@ -13,21 +13,22 @@ VBOX_NAME = "VirtualBox-${PV}" SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ file://Makefile.utils \ + file://export.patch;patchdir=${WORKDIR}/${VBOX_NAME} \ " -SRC_URI[md5sum] = "c9c2f162ac5f99d28d8c0ca43b19ed01" -SRC_URI[sha256sum] = "5580e875349341a1aabc6d5d2f697d242f277487316faaf1fbe68d9014f788d4" +SRC_URI[md5sum] = "484b550f4692c9d61896b08bb0a1be7f" +SRC_URI[sha256sum] = "49005ed94454f893fc3955e1e2b9607e85c300235cb983b39d1df2cfcf29f039" S = "${WORKDIR}/vbox_module" export BUILD_TARGET_ARCH="${ARCH}" export BUILD_TARGET_ARCH_x86-64="amd64" -EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build'" +EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1" # otherwise 5.2.22 builds just vboxguest MAKE_TARGETS = "all" -addtask export_sources before do_patch after do_unpack +addtask export_sources after do_patch before do_configure do_export_sources() { mkdir -p "${S}" @@ -50,7 +51,8 @@ do_configure_prepend() { } # compile and install mount utility -do_compile_append() { +do_compile() { + oe_runmake all oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then echo "ERROR: One of vbox*.ko modules wasn't built" @@ -78,6 +80,3 @@ FILES_${PN} = "${base_sbindir}" # autoload if installed KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo" - -PNBLACKLIST[vboxguestdrivers] = "Needs forward porting to kernel 5.2+" - |