[arch-commits] Commit in virtualbox/trunk (8 files)

Evangelos Foutras foutrelis at archlinux.org
Wed Jun 6 08:35:11 UTC 2018


    Date: Wednesday, June 6, 2018 @ 08:35:10
  Author: foutrelis
Revision: 340960

upgpkg: virtualbox 5.2.12-2

Build vboxsf for Linux 4.17 since it hasn't been upstreamed yet.

Also fix FS#58272 (can't mount shared folder from fstab).

Added:
  virtualbox/trunk/010-qt-5.11.patch
  virtualbox/trunk/011-fix-building-with-recent-acpica.patch
  virtualbox/trunk/012-vboxsf-automount.patch
    (from rev 340959, virtualbox/trunk/010-linux-4.16-mount-fixes.patch)
  virtualbox/trunk/mount.vboxsf
  virtualbox/trunk/virtualbox-vboxsf-dkms.conf
    (from rev 340959, virtualbox/trunk/virtualbox-vboxsf-4.16-dkms.conf)
Modified:
  virtualbox/trunk/PKGBUILD
Deleted:
  virtualbox/trunk/010-linux-4.16-mount-fixes.patch
  virtualbox/trunk/virtualbox-vboxsf-4.16-dkms.conf

-------------------------------------------+
 010-linux-4.16-mount-fixes.patch          |   35 --------------------------
 010-qt-5.11.patch                         |   11 ++++++++
 011-fix-building-with-recent-acpica.patch |   33 ++++++++++++++++++++++++
 012-vboxsf-automount.patch                |   20 +++++++++++++++
 PKGBUILD                                  |   37 +++++++++++++++++-----------
 mount.vboxsf                              |   17 ++++++++++++
 virtualbox-vboxsf-4.16-dkms.conf          |   10 -------
 virtualbox-vboxsf-dkms.conf               |   10 +++++++
 8 files changed, 114 insertions(+), 59 deletions(-)

Deleted: 010-linux-4.16-mount-fixes.patch
===================================================================
--- 010-linux-4.16-mount-fixes.patch	2018-06-06 08:27:26 UTC (rev 340959)
+++ 010-linux-4.16-mount-fixes.patch	2018-06-06 08:35:10 UTC (rev 340960)
@@ -1,35 +0,0 @@
-This ghetto patch attempts to fix shared folder automounting for guests running
-Linux 4.16, and also suggests an alternative to mount.vboxsf.
-
-diff -uprb VirtualBox-5.2.8.orig/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp VirtualBox-5.2.8/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp
---- VirtualBox-5.2.8.orig/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp	2018-02-26 17:57:30.000000000 +0200
-+++ VirtualBox-5.2.8/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp	2018-04-07 21:00:05.785735622 +0300
-@@ -346,6 +346,13 @@ static int vbsvcAutoMountSharedFolder(co
-                       "vboxsf",
-                       fFlags,
-                       &mntinf);
-+        if (r == -1 && errno == EINVAL)
-+        {
-+            /* Mainline vboxsf accepts regular mount opts. */
-+            char mount_opts[1024];
-+            snprintf(mount_opts, 1024, "gid=%d,dmode=0770,fmode=0770", mntinf.gid);
-+            r = mount(pszShareName, pszMountPoint, "vboxsf", fFlags, mount_opts);
-+        }
-         if (r == 0)
-         {
-             VGSvcVerbose(0, "vbsvcAutoMountWorker: Shared folder '%s' was mounted to '%s'\n", pszShareName, pszMountPoint);
-diff -uprb VirtualBox-5.2.8.orig/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c VirtualBox-5.2.8/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c
---- VirtualBox-5.2.8.orig/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c	2018-02-26 17:57:34.000000000 +0200
-+++ VirtualBox-5.2.8/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c	2018-04-07 21:39:38.121577588 +0300
-@@ -485,6 +485,11 @@ main(int argc, char **argv)
-      *       to keep this code here slick without having VbglR3.
-      */
-     err = mount(host_name, mount_point, "vboxsf", flags, &mntinf);
-+    if (err == -1 && errno == EINVAL)
-+    {
-+        /* The mount.vboxsf helper should not be used with mainline vboxsf. */
-+        panic("mount.vboxsf cannot be used with mainline vboxsf; instead use:\n\n    mount -cit vboxsf NAME MOUNTPOINT\n\n");
-+    }
-     if (err == -1 && errno == EPROTO)
-     {
-         /* Sometimes the mount utility messes up the share name.  Try to

Added: 010-qt-5.11.patch
===================================================================
--- 010-qt-5.11.patch	                        (rev 0)
+++ 010-qt-5.11.patch	2018-06-06 08:35:10 UTC (rev 340960)
@@ -0,0 +1,11 @@
+diff -u -r VirtualBox-5.2.12/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp VirtualBox-5.2.12-qt/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp
+--- VirtualBox-5.2.12/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp	2018-05-09 18:38:05.000000000 +0200
++++ VirtualBox-5.2.12-qt/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.cpp	2018-06-05 21:51:18.401913367 +0200
+@@ -21,6 +21,7 @@
+ 
+ /* Qt includes: */
+ # include <QRegExpValidator>
++# include <QButtonGroup>
+ 
+ /* GUI includes: */
+ # include "QIWidgetValidator.h"

Added: 011-fix-building-with-recent-acpica.patch
===================================================================
--- 011-fix-building-with-recent-acpica.patch	                        (rev 0)
+++ 011-fix-building-with-recent-acpica.patch	2018-06-06 08:35:10 UTC (rev 340960)
@@ -0,0 +1,33 @@
+--- a/src/VBox/Devices/Makefile.kmk.orig	2018-04-13 16:36:12 UTC
++++ b/src/VBox/Devices/Makefile.kmk
+@@ -828,7 +828,12 @@ if !defined(VBOX_ONLY_EXTPACKS)         # Goes on almo
+ 
+   $$(VBoxDD_0_OUTDIR)/vboxaml.hex: $(PATH_SUB_CURRENT)/PC/vbox.dsl | $$(dir $$@)
+ 	$(call MSG_TOOL,iasl,VBoxDD,$<,$@)
++	$(QUIET)$(RM) -f $@ $@.tmp
+ 	$(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
++	$(QUIET)$(MV) -f $@ $@.tmp
++	$(QUIET)$(SED) -e "s/vboxaml_aml_code/AmlCode/g" \
++		--output $@ $@.tmp
++	$(QUIET)$(RM) -f $@.tmp
+ 
+   vboxaml.hex:: $$(VBoxDD_0_OUTDIR)/vboxaml.hex
+ 
+@@ -838,6 +843,8 @@ if !defined(VBOX_ONLY_EXTPACKS)         # Goes on almo
+ 	$(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $<
+ 	$(QUIET)$(MV) -f $@ $@.tmp
+ 	$(QUIET)$(SED) -e "s/AmlCode/AmlCodeSsdtStandard/g" \
++		-e "s/__VBOXSSDT-STANDARD_HEX__/__VBOXSSDT_STANDARD_HEX__/g" \
++		-e "s/vboxssdt-standard_aml_code/AmlCodeSsdtStandard/g" \
+ 		--output $@ $@.tmp
+ 	$(QUIET)$(RM) -f $@.tmp
+ 
+@@ -853,6 +860,8 @@ if !defined(VBOX_ONLY_EXTPACKS)         # Goes on almo
+ 	$(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $@.pre1
+ 	$(QUIET)$(MV) -f $@ $@.tmp
+ 	$(QUIET)$(SED) -e "s/AmlCode/AmlCodeSsdtCpuHotPlug/g" \
++		-e "s/__VBOXSSDT-CPUHOTPLUG_HEX__/__VBOXSSDT_CPUHOTPLUG_HEX__/g" \
++		-e "s/vboxssdt-cpuhotplug_aml_code/AmlCodeSsdtCpuHotPlug/g" \
+ 		--output $@ $@.tmp
+ 	$(QUIET)$(RM) -f $@.tmp $@.pre $@.pre1
+ 

Copied: virtualbox/trunk/012-vboxsf-automount.patch (from rev 340959, virtualbox/trunk/010-linux-4.16-mount-fixes.patch)
===================================================================
--- 012-vboxsf-automount.patch	                        (rev 0)
+++ 012-vboxsf-automount.patch	2018-06-06 08:35:10 UTC (rev 340960)
@@ -0,0 +1,20 @@
+This ghetto patch attempts to fix shared folder automounting for guests running
+Linux 4.16, and also suggests an alternative to mount.vboxsf.
+
+diff -uprb VirtualBox-5.2.8.orig/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp VirtualBox-5.2.8/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp
+--- VirtualBox-5.2.8.orig/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp	2018-02-26 17:57:30.000000000 +0200
++++ VirtualBox-5.2.8/src/VBox/Additions/common/VBoxService/VBoxServiceAutoMount.cpp	2018-04-07 21:00:05.785735622 +0300
+@@ -346,6 +346,13 @@ static int vbsvcAutoMountSharedFolder(co
+                       "vboxsf",
+                       fFlags,
+                       &mntinf);
++        if (r == -1 && errno == EINVAL)
++        {
++            /* Mainline vboxsf accepts regular mount opts. */
++            char mount_opts[1024];
++            snprintf(mount_opts, 1024, "gid=%d,dmode=0770,fmode=0770", mntinf.gid);
++            r = mount(pszShareName, pszMountPoint, "vboxsf", fFlags, mount_opts);
++        }
+         if (r == 0)
+         {
+             VGSvcVerbose(0, "vbsvcAutoMountWorker: Shared folder '%s' was mounted to '%s'\n", pszShareName, pszMountPoint);

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-06-06 08:27:26 UTC (rev 340959)
+++ PKGBUILD	2018-06-06 08:35:10 UTC (rev 340960)
@@ -11,7 +11,7 @@
          'virtualbox-guest-utils-nox'
          'virtualbox-ext-vnc')
 pkgver=5.2.12
-pkgrel=1
+pkgrel=2
 _vboxsf_commit='6a782003ad95a383c8b19b570a532271f090ad35'
 arch=('x86_64')
 url='http://virtualbox.org'
@@ -59,7 +59,7 @@
         "git+https://github.com/jwrdegoede/vboxsf#commit=$_vboxsf_commit"
         'virtualbox-host-dkms.conf'
         'virtualbox-guest-dkms.conf'
-        'virtualbox-vboxsf-4.16-dkms.conf'
+        'virtualbox-vboxsf-dkms.conf'
         'virtualbox.sysusers'
         'virtualbox-guest-utils.sysusers'
         '60-vboxdrv.rules'
@@ -75,12 +75,16 @@
         '007-python2-path.patch'
         '008-no-vboxvideo.patch'
         '009-include-path.patch'
-        '010-linux-4.16-mount-fixes.patch')
+        '010-qt-5.11.patch'
+        '011-fix-building-with-recent-acpica.patch'
+        # The following patch and mount.vboxsf wrapper should be removed
+        # once support for mainline-style options string gets upstreamed
+        '012-vboxsf-automount.patch' 'mount.vboxsf')
 sha256sums=('da60028c56708522fd89c000e8984d2105d275a3fd105a0bc698fc49d18d3458'
             'SKIP'
             'deb03efa7ad0376aa55a087f2e882afe00935f10b0e7aa853ba9147090d341ec'
             'c328376b05183d269f98319ec660f54c55e298f77d229977606862b064651a7c'
-            '771009b79115a9b22f00f3cfd38f94e3b5b31b48dcc95a887ceda20ffb776474'
+            '43a97d07edd6f3f0e1181e84483759ad0a20c4e57ee93ca1a18530918979f9d8'
             '2101ebb58233bbfadf3aa74381f22f7e7e508559d2b46387114bc2d8e308554c'
             'da4c49f6ca94e047e196cdbcba2c321199f4760056ea66e0fbc659353e128c9e'
             '9c5238183019f9ebc7d92a8582cad232f471eab9d3278786225abc1a1c7bf66e'
@@ -96,7 +100,10 @@
             '6bdb017459532537199c399eefd3d84d8dc7f1786e79997caebd3b6eb5c75d9f'
             '8b7f241107863f82a5b0ae336aead0b3366a40103ff72dbebf33f54b512a0cbc'
             '1acc7014bcb3d9ca6da29eed813c3d6e91a688c43f9d93802fd4e3814f67ace4'
-            'c3dc5a771a1acab274cd10e5305982aa9c149cd94ed4c71c7805327020d4d741')
+            'c6ef35e6893d557c7c2269ff79bc299fe9058cfb2c933a7efdc7a8a7b6d9c5da'
+            '07ca23463147ef2c7680f3d3a92d69f35c111fa6185520f71a0139295ebafb0e'
+            'a784f3cc24652a16385cc63abac6c5178932ca5f3861be7650631b7dafa753a4'
+            'f3ed6741f8977f40900c8aa372fa082df1f8723d497d4fff445153c543bc8947')
 
 prepare() {
     cd "VirtualBox-$pkgver"
@@ -321,13 +328,13 @@
     install -Dm644 "$srcdir/$pkgname.conf" "$_p"
     sed -i "s, at VERSION@,$pkgver," "$_p"
 
-    # vboxsf module for Linux 4.16
-    install -d "$pkgdir/usr/src/vboxsf-4.16-${pkgver}_OSE"
-    cp -rT "$srcdir/vboxsf" "$pkgdir/usr/src/vboxsf-4.16-${pkgver}_OSE/vboxsf"
-    rm -rf "$pkgdir/usr/src/vboxsf-4.16-${pkgver}_OSE/vboxsf/.git"
-    echo "obj-m = vboxsf/" >"$pkgdir/usr/src/vboxsf-4.16-${pkgver}_OSE/Makefile"
-    local _p="$pkgdir/usr/src/vboxsf-4.16-${pkgver}_OSE/dkms.conf"
-    install -Dm644 "$srcdir/virtualbox-vboxsf-4.16-dkms.conf" "$_p"
+    # vboxsf module for Linux 4.16 and later
+    install -d "$pkgdir/usr/src/vboxsf-${pkgver}_OSE"
+    cp -rT "$srcdir/vboxsf" "$pkgdir/usr/src/vboxsf-${pkgver}_OSE/vboxsf"
+    rm -rf "$pkgdir/usr/src/vboxsf-${pkgver}_OSE/vboxsf/.git"
+    echo "obj-m = vboxsf/" >"$pkgdir/usr/src/vboxsf-${pkgver}_OSE/Makefile"
+    local _p="$pkgdir/usr/src/vboxsf-${pkgver}_OSE/dkms.conf"
+    install -Dm644 "$srcdir/virtualbox-vboxsf-dkms.conf" "$_p"
     sed -i "s, at VERSION@,$pkgver," "$_p"
 }
 
@@ -342,7 +349,8 @@
     source "VirtualBox-$pkgver/env.sh"
     pushd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
     install -d "$pkgdir/usr/bin"
-    install -m755 VBoxClient VBoxControl VBoxService mount.vboxsf "$pkgdir/usr/bin"
+    install -m755 VBoxClient VBoxControl VBoxService "$srcdir/mount.vboxsf" "$pkgdir/usr/bin"
+    install -Dm755 mount.vboxsf "$pkgdir/usr/lib/virtualbox/mount.vboxsf"
     install -m755 -D "$srcdir"/VirtualBox-$pkgver/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
         "$pkgdir"/usr/bin/VBoxClient-all
     install -m644 -D "$srcdir"/VirtualBox-$pkgver/src/VBox/Additions/x11/Installer/vboxclient.desktop \
@@ -368,7 +376,8 @@
     source "VirtualBox-$pkgver/env.sh"
     pushd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
     install -d "$pkgdir/usr/bin"
-    install -m755 VBoxControl VBoxService mount.vboxsf "$pkgdir/usr/bin"
+    install -m755 VBoxControl VBoxService "$srcdir/mount.vboxsf" "$pkgdir/usr/bin"
+    install -Dm755 mount.vboxsf "$pkgdir/usr/lib/virtualbox/mount.vboxsf"
     install -m755 -D pam_vbox.so "$pkgdir/usr/lib/security/pam_vbox.so"
     popd
     # systemd stuff

Added: mount.vboxsf
===================================================================
--- mount.vboxsf	                        (rev 0)
+++ mount.vboxsf	2018-06-06 08:35:10 UTC (rev 340960)
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+# Hopefully this works as intented, supporting both pre-4.16 and newer kernels
+# https://bugs.archlinux.org/task/58272#comment168687
+
+kver_major=$(uname -r | cut -d. -f1)
+kver_minor=$(uname -r | cut -d. -f2)
+
+if ((kver_major * 100 + kver_minor < 416)); then
+	exec /usr/lib/virtualbox/mount.vboxsf "$@"
+fi
+
+# mount(1) annoyingly prepends the current directory to the source
+name=${1#$PWD/}; shift
+
+# Mainline vboxsf accepts regular mount opts
+exec /usr/bin/mount -cit vboxsf "$name" "$@"

Deleted: virtualbox-vboxsf-4.16-dkms.conf
===================================================================
--- virtualbox-vboxsf-4.16-dkms.conf	2018-06-06 08:27:26 UTC (rev 340959)
+++ virtualbox-vboxsf-4.16-dkms.conf	2018-06-06 08:35:10 UTC (rev 340960)
@@ -1,10 +0,0 @@
-PACKAGE_NAME="vboxsf-4.16"
-PACKAGE_VERSION=@VERSION at _OSE
-AUTOINSTALL=yes
-
-# Build only for Linux 4.16
-BUILD_EXCLUSIVE_KERNEL="^4\.16\..*"
-
-BUILT_MODULE_NAME[0]="vboxsf"
-BUILT_MODULE_LOCATION[0]="vboxsf"
-DEST_MODULE_LOCATION[0]="/kernel/misc"

Copied: virtualbox/trunk/virtualbox-vboxsf-dkms.conf (from rev 340959, virtualbox/trunk/virtualbox-vboxsf-4.16-dkms.conf)
===================================================================
--- virtualbox-vboxsf-dkms.conf	                        (rev 0)
+++ virtualbox-vboxsf-dkms.conf	2018-06-06 08:35:10 UTC (rev 340960)
@@ -0,0 +1,10 @@
+PACKAGE_NAME="vboxsf"
+PACKAGE_VERSION=@VERSION at _OSE
+AUTOINSTALL=yes
+
+# Build only for Linux 4.16 and later (until it gets upstreamed...)
+BUILD_EXCLUSIVE_KERNEL="^(4\.1[6-9]\..*|5\..*)"
+
+BUILT_MODULE_NAME[0]="vboxsf"
+BUILT_MODULE_LOCATION[0]="vboxsf"
+DEST_MODULE_LOCATION[0]="/kernel/misc"



More information about the arch-commits mailing list