summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO28
-rw-r--r--015-linux-5-3.patch76
-rw-r--r--PKGBUILD28
3 files changed, 108 insertions, 24 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8a9b5a722ed9..b6493254c2d9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = virtualbox-bin-5
pkgdesc = Oracle VM VirtualBox Binary Edition (Oracle branded non-OSE version 5)
- pkgver = 5.2.28
- pkgrel = 2
+ pkgver = 5.2.44
+ pkgrel = 1
url = https://www.virtualbox.org/
install = virtualbox-bin.install
arch = x86_64
@@ -20,7 +20,7 @@ pkgbase = virtualbox-bin-5
optdepends = virtualbox-ext-oracle-5: for Oracle extensions
optdepends = linux-headers: build the module for Arch kernel
optdepends = linux-lts-headers: build the module for LTS Arch kernel
- provides = virtualbox=5.2.28
+ provides = virtualbox=5.2.44
provides = virtualbox-sdk
provides = VIRTUALBOX-HOST-MODULES
provides = virtualbox-host-dkms
@@ -31,15 +31,15 @@ pkgbase = virtualbox-bin-5
conflicts = virtualbox-host-modules-arch
replaces = virtualbox_bin
replaces = virtualbox-sun
- noextract = VirtualBoxSDK-5.2.28-130011.zip
+ noextract = VirtualBoxSDK-5.2.44-139111.zip
options = !strip
options = !emptydirs
backup = etc/vbox/vbox.cfg
backup = etc/conf.d/vboxweb
- source = https://download.virtualbox.org/virtualbox/5.2.28/VirtualBoxSDK-5.2.28-130011.zip
- source = VBoxAuth-r75085.h::https://www.virtualbox.org/svn/vbox/trunk/include/VBox/VBoxAuth.h?p=75085
- source = VBoxAuthPAM-r75085.c::https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/pam/VBoxAuthPAM.c?p=75085
- source = VBoxAuthSimple-r75085.cpp::https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/simple/VBoxAuthSimple.cpp?p=75085
+ source = https://download.virtualbox.org/virtualbox/5.2.44/VirtualBoxSDK-5.2.44-139111.zip
+ source = VBoxAuth-r79806.h::https://www.virtualbox.org/svn/vbox/trunk/include/VBox/VBoxAuth.h?p=79806
+ source = VBoxAuthPAM-r79806.c::https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/pam/VBoxAuthPAM.c?p=79806
+ source = VBoxAuthSimple-r79806.cpp::https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/simple/VBoxAuthSimple.cpp?p=79806
source = VBoxFixUSB
source = 10-vboxdrv.rules
source = vboxweb.rc
@@ -47,11 +47,11 @@ pkgbase = virtualbox-bin-5
source = do_dkms
source = dkms.conf
source = 009-include-path.patch
- source = http://download.virtualbox.org/virtualbox/5.2.28/VirtualBox-5.2.28-130011-Linux_amd64.run
- sha256sums = 265b0a46601eb0347a419522ef6d2ef00c07e070fb18ec1239e425de40b13622
- sha256sums = 23e3e0e6abfaa69bf0aa046c0ee070d19435b97cb4bfbb16bba65a2783502154
- sha256sums = 815f6e2e3ab687356aad0e6f59eef6e266514fb12a6b569d239d834e0a480f37
- sha256sums = 99deff35d8a600f20223b96ba409451834e58ac21a589a989dd82a2d6fe006ae
+ source = http://download.virtualbox.org/virtualbox/5.2.44/VirtualBox-5.2.44-139111-Linux_amd64.run
+ sha256sums = f4a70d60ed73589b18e52e5da928a532a1369e8ba8f93cbca9baeff73eccd787
+ sha256sums = 584f02a2a1e83b9cabd7b7e3b00a0515b118e040160eb46c014ea6fd3a16586e
+ sha256sums = 600df773fca199dc21acde10c95a4733b03b3efd8ffaef3a9fb9da363a9cd114
+ sha256sums = 452351c15d97aeda29e45dbcb0da69412dc3a615c9aece43a424af3639368d49
sha256sums = 0aebe22abab402ea6b6573af637a99d8056a904920a52d84fb97729219219c23
sha256sums = 69417a9e8855cab8e4878886abe138f559fd17ae487d4cd19c8a24974a8bbec2
sha256sums = 656905de981ffa24f6f921c920538854a235225053f44baedacc07b46ca0cf56
@@ -59,7 +59,7 @@ pkgbase = virtualbox-bin-5
sha256sums = cc1c0500ab07bc13563d99037f776bf64bdc90bb521e31e2e0b04e42ea5bb36a
sha256sums = e9df0fff15184d0a90abe17707bdbe1931582433bbc14ded4fb3b0252653c801
sha256sums = 5112f0e1ba3bd0bd92ef2edb2d21024e265abb02841aa29aa05410526adc273f
- sha256sums = 6846c7ad0ba2fbf875ebd8b8cc9cb1a2e1f70947848396c0fb92b55787c99679
+ sha256sums = ac53a413ec513d07a40675ca7eaad5dd62262541046981899a9724e33d581d13
pkgname = virtualbox-bin-5
diff --git a/015-linux-5-3.patch b/015-linux-5-3.patch
new file mode 100644
index 000000000000..3cc6b383e353
--- /dev/null
+++ b/015-linux-5-3.patch
@@ -0,0 +1,76 @@
+diff --git a/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c b/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c
+index 15ecd351..a2f2a284 100644
+--- a/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c
++++ b/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c
+@@ -2123,7 +2123,9 @@ static int vboxNetFltLinuxEnumeratorCallback(struct notifier_block *self, unsign
+ #endif
+ if (in_dev != NULL)
+ {
+- for_ifa(in_dev) {
++ struct in_ifaddr *ifa;
++
++ for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) {
+ if (VBOX_IPV4_IS_LOOPBACK(ifa->ifa_address))
+ return NOTIFY_OK;
+
+@@ -2137,7 +2139,7 @@ static int vboxNetFltLinuxEnumeratorCallback(struct notifier_block *self, unsign
+
+ pThis->pSwitchPort->pfnNotifyHostAddress(pThis->pSwitchPort,
+ /* :fAdded */ true, kIntNetAddrType_IPv4, &ifa->ifa_address);
+- } endfor_ifa(in_dev);
++ }
+ }
+
+ /*
+diff --git a/src/vboxhost/vboxdrv/r0drv/linux/mp-r0drv-linux.c b/src/vboxhost/vboxdrv/r0drv/linux/mp-r0drv-linux.c
+index ca480683..72b25bb8 100644
+--- a/src/vboxhost/vboxdrv/r0drv/linux/mp-r0drv-linux.c
++++ b/src/vboxhost/vboxdrv/r0drv/linux/mp-r0drv-linux.c
+@@ -283,12 +283,15 @@ RTDECL(int) RTMpOnAll(PFNRTMPWORKER pfnWorker, void *pvUser1, void *pvUser2)
+ if (RTCpuSetCount(&OnlineSet) > 1)
+ {
+ /* Fire the function on all other CPUs without waiting for completion. */
+-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
++ smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
++# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+ int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
++ Assert(!rc); NOREF(rc);
+ # else
+ int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* retry */, 0 /* wait */);
+-# endif
+ Assert(!rc); NOREF(rc);
++# endif
+ }
+ #endif
+
+@@ -326,7 +329,6 @@ RTDECL(int) RTMpOnOthers(PFNRTMPWORKER pfnWorker, void *pvUser1, void *pvUser2)
+ {
+ #ifdef CONFIG_SMP
+ IPRT_LINUX_SAVE_EFL_AC();
+- int rc;
+ RTMPARGS Args;
+
+ RTTHREADPREEMPTSTATE PreemptState = RTTHREADPREEMPTSTATE_INITIALIZER;
+@@ -337,14 +339,17 @@ RTDECL(int) RTMpOnOthers(PFNRTMPWORKER pfnWorker, void *pvUser1, void *pvUser2)
+ Args.cHits = 0;
+
+ RTThreadPreemptDisable(&PreemptState);
+-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+- rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 3, 0)
++ smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
++# elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ int rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
++ Assert(rc == 0); NOREF(rc);
+ # else /* older kernels */
+- rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
++ int rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */);
++ Assert(rc == 0); NOREF(rc);
+ # endif /* older kernels */
+ RTThreadPreemptRestore(&PreemptState);
+
+- Assert(rc == 0); NOREF(rc);
+ IPRT_LINUX_RESTORE_EFL_AC();
+ #else
+ RT_NOREF(pfnWorker, pvUser1, pvUser2);
diff --git a/PKGBUILD b/PKGBUILD
index fd5715ad56a8..fcb81456e1a8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,10 +1,10 @@
# Maintainer : David C. Rankin <drankinatty@gmail.com>
pkgname=virtualbox-bin-5
-pkgver=5.2.28
-_build=130011
-_rev=75085
-pkgrel=2
+pkgver=5.2.44
+_build=139111
+_rev=79806
+pkgrel=1
pkgdesc='Oracle VM VirtualBox Binary Edition (Oracle branded non-OSE version 5)'
arch=('x86_64')
url='https://www.virtualbox.org/'
@@ -22,6 +22,7 @@ replaces=('virtualbox_bin' 'virtualbox-sun')
backup=('etc/vbox/vbox.cfg' 'etc/conf.d/vboxweb')
options=('!strip' '!emptydirs')
install="${pkgname%-5}.install"
+# source=("https://www.virtualbox.org/download/testcase/VirtualBoxSDK-${pkgver}-${_build}.zip"
source=("https://download.virtualbox.org/virtualbox/${pkgver}/VirtualBoxSDK-${pkgver}-${_build}.zip"
"VBoxAuth-r${_rev}.h"::"https://www.virtualbox.org/svn/vbox/trunk/include/VBox/VBoxAuth.h?p=${_rev}"
"VBoxAuthPAM-r${_rev}.c"::"https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/pam/VBoxAuthPAM.c?p=${_rev}"
@@ -34,11 +35,12 @@ source=("https://download.virtualbox.org/virtualbox/${pkgver}/VirtualBoxSDK-${pk
'dkms.conf'
'009-include-path.patch'
"http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}-${_build}-Linux_amd64.run")
+# "https://www.virtualbox.org/download/testcase/VirtualBox-${pkgver}-${_build}-Linux_amd64.run")
noextract=("VirtualBoxSDK-${pkgver}-${_build}.zip")
-sha256sums=('265b0a46601eb0347a419522ef6d2ef00c07e070fb18ec1239e425de40b13622'
- '23e3e0e6abfaa69bf0aa046c0ee070d19435b97cb4bfbb16bba65a2783502154'
- '815f6e2e3ab687356aad0e6f59eef6e266514fb12a6b569d239d834e0a480f37'
- '99deff35d8a600f20223b96ba409451834e58ac21a589a989dd82a2d6fe006ae'
+sha256sums=('f4a70d60ed73589b18e52e5da928a532a1369e8ba8f93cbca9baeff73eccd787'
+ '584f02a2a1e83b9cabd7b7e3b00a0515b118e040160eb46c014ea6fd3a16586e'
+ '600df773fca199dc21acde10c95a4733b03b3efd8ffaef3a9fb9da363a9cd114'
+ '452351c15d97aeda29e45dbcb0da69412dc3a615c9aece43a424af3639368d49'
'0aebe22abab402ea6b6573af637a99d8056a904920a52d84fb97729219219c23'
'69417a9e8855cab8e4878886abe138f559fd17ae487d4cd19c8a24974a8bbec2'
'656905de981ffa24f6f921c920538854a235225053f44baedacc07b46ca0cf56'
@@ -46,7 +48,7 @@ sha256sums=('265b0a46601eb0347a419522ef6d2ef00c07e070fb18ec1239e425de40b13622'
'cc1c0500ab07bc13563d99037f776bf64bdc90bb521e31e2e0b04e42ea5bb36a'
'e9df0fff15184d0a90abe17707bdbe1931582433bbc14ded4fb3b0252653c801'
'5112f0e1ba3bd0bd92ef2edb2d21024e265abb02841aa29aa05410526adc273f'
- '6846c7ad0ba2fbf875ebd8b8cc9cb1a2e1f70947848396c0fb92b55787c99679')
+ 'ac53a413ec513d07a40675ca7eaad5dd62262541046981899a9724e33d581d13')
prepare() {
[ "$CARCH" = 'i686' ] && local _arch='x86'
@@ -79,6 +81,12 @@ package() {
cd "${pkgdir}/${_installdir}/src/vboxhost/"
patch -Np5 -i "${srcdir}/009-include-path.patch"
+ # fix dkms build
+ # printf '%s\n' " -> Fixing DKMS build..."
+ # cd "${pkgdir}/${_installdir}"
+ # patch -Np1 -i "${srcdir}/013-Makefile.patch"
+ # patch -Np1 -i "${srcdir}/015-linux-5-3.patch"
+
# hardened build: mark binaries suid root, create symlinks for working around
# unsupported $ORIGIN/.. in VBoxC.so and make sure the
# directory is only writable by the user (paranoid)
@@ -104,7 +112,7 @@ package() {
install -D -m644 "${srcdir}/VBoxAuthPAM-r${_rev}.c" "${pkgdir}/${_installdir}/sdk/bindings/auth/VBoxAuthPAM.cpp"
install -D -m644 "${srcdir}/VBoxAuthSimple-r${_rev}.cpp" "${pkgdir}/${_installdir}/sdk/bindings/auth/VBoxAuthSimple.cpp"
- # install udev rules
+ # installd udev rules
printf '%s\n' ' -> Installing udev rules...'
cd "${pkgdir}/${_installdir}"
install -D -m0644 "${srcdir}/10-vboxdrv.rules" "${pkgdir}/usr/lib/udev/rules.d/10-vboxdrv.rules"