aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/vboxguestdrivers
diff options
context:
space:
mode:
authorGianfranco Costamagna <gianfranco.costamagna@abinsula.com>2020-01-08 15:50:44 +0100
committerKhem Raj <raj.khem@gmail.com>2020-01-09 14:05:37 -0800
commitbfdefba0fb62c8c45fb32ad260ebd2f64c6e0074 (patch)
tree5820853e7f890bcb3b851f28ffd637bc783f3650 /meta-oe/recipes-support/vboxguestdrivers
parentb00f230c52fd45059d424a9f6a813847e1a1eebb (diff)
downloadmeta-openembedded-bfdefba0fb62c8c45fb32ad260ebd2f64c6e0074.tar.gz
vboxguestdrivers: update to version 6.1.0 and unblacklist
- Change oe_runmake call because the yocto one exposes AR/O and other variables, not understood by KBUILD makefile. - Add KBUILD_VERBOSE to add some build verbosity - Add upstream patch to fix export of the module tarball. Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it> Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/vboxguestdrivers')
-rw-r--r--meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/export.patch77
-rw-r--r--meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.0.bb (renamed from meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb)15
2 files changed, 84 insertions, 8 deletions
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/export.patch b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/export.patch
new file mode 100644
index 0000000000..bfba3332b0
--- /dev/null
+++ b/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-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.0.bb
index 0f8d7af3fa..be18b10c66 100644
--- a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb
+++ b/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+"
-