[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