summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Schindler2023-01-12 12:35:54 +0000
committerFelix Schindler2023-01-12 12:36:37 +0000
commit65f44f3e7bbfd7f6cfb0996b6ba342855c27dc7c (patch)
treeac63bbf4633f9d90ec583d33d796f4bab4b31c80
downloadaur-65f44f3e7bbfd7f6cfb0996b6ba342855c27dc7c.tar.gz
init from https://aur.archlinux.org/virtualbox-bin.git, 32c971dd
-rw-r--r--.SRCINFO77
-rw-r--r--013-Makefile.patch42
-rw-r--r--60-vboxdrv.rules8
-rw-r--r--LICENSE.sdk13
-rw-r--r--PKGBUILD196
-rw-r--r--dkms.conf31
-rw-r--r--vboxreload37
-rw-r--r--vboxweb.service11
-rw-r--r--virtualbox.sysusers1
9 files changed, 416 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..25083f373fcf
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,77 @@
+pkgbase = virtualbox-bin
+ pkgdesc = Powerful x86 virtualization for enterprise as well as home use (Oracle branded non-OSE)
+ pkgver = 6.1.40
+ pkgrel = 1
+ url = https://www.virtualbox.org/
+ arch = x86_64
+ license = GPL2
+ makedepends = python
+ noextract = VirtualBoxSDK-6.1.40-154048.zip
+ source = http://download.virtualbox.org/virtualbox/6.1.40/VirtualBox-6.1.40-154048-Linux_amd64.run
+ source = https://download.virtualbox.org/virtualbox/6.1.40/VirtualBoxSDK-6.1.40-154048.zip
+ source = VBoxAuth-r96547.h::https://www.virtualbox.org/svn/vbox/trunk/include/VBox/VBoxAuth.h?p=96547
+ source = VBoxAuthPAM-r96547.c::https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/pam/VBoxAuthPAM.c?p=96547
+ source = VBoxAuthSimple-r96547.cpp::https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/simple/VBoxAuthSimple.cpp?p=96547
+ source = dkms.conf
+ source = vboxreload
+ source = 60-vboxdrv.rules
+ source = vboxweb.service
+ source = virtualbox.sysusers
+ source = LICENSE.sdk
+ source = 013-Makefile.patch
+ sha256sums = 4a6b781563dd9db7bd0c8759867fce6a6ff801ccfd97fb2febb9b5fe333f788d
+ sha256sums = f0eb87d02ebbd39c95f3a572802d1e77a3e52a943a6f3d205d131a5bf75a31fb
+ sha256sums = 1d1a828b8411d08dc886463628589716151a514639d606d99e3578e9894fd5bd
+ sha256sums = b762b1d19647bd0d116f62fc683f061b7a80667fc0377e0a6b00691797a5fa3c
+ sha256sums = 7c7e19388158418762529805c19fab80ba329eb287dadc152bb226dfedb9d7ed
+ sha256sums = 63f1e9eabedec2170bd0589aaa2bf5025ff8f8ec1764cc4823cbe446e9ce1388
+ sha256sums = 4001b5927348fe669a541e80526d4f9ea91b883805f102f7d571edbb482a9b9d
+ sha256sums = 9c5238183019f9ebc7d92a8582cad232f471eab9d3278786225abc1a1c7bf66e
+ sha256sums = e6e875ef186578b53106d7f6af48e426cdaf1b4e86834f01696b8ef1c685787f
+ sha256sums = 2101ebb58233bbfadf3aa74381f22f7e7e508559d2b46387114bc2d8e308554c
+ sha256sums = 09335d7d1075df02d29cec13119538134efdf43ea73a93b0f89d0d7d4b6625a1
+ sha256sums = 3c2089575e8c03b7517fe176e65168e15fb7aefe7e71224bf264d21812dbc635
+
+pkgname = virtualbox-bin
+ depends = device-mapper
+ depends = dkms
+ depends = fontconfig
+ depends = hicolor-icon-theme
+ depends = libgl
+ depends = libidl2
+ depends = libxcursor
+ depends = libxinerama
+ depends = libxmu
+ depends = python
+ depends = sdl
+ optdepends = virtualbox-bin-guest-iso: for guest additions CD image
+ optdepends = virtualbox-bin-sdk: for the software developer kit
+ optdepends = virtualbox-ext-oracle: for Oracle extensions pack
+ provides = virtualbox=6.1.40
+ provides = virtualbox-host-dkms
+ provides = VIRTUALBOX-HOST-MODULES
+ conflicts = virtualbox
+ conflicts = virtualbox-host-dkms
+ conflicts = virtualbox-host-modules-arch
+ replaces = virtualbox_bin
+ replaces = virtualbox-sun
+ options = !strip
+ options = !emptydirs
+ backup = etc/vbox/vbox.cfg
+
+pkgname = virtualbox-bin-guest-iso
+ pkgdesc = VirtualBox guest additions ISO image for use with virtualbox-bin package
+ arch = any
+ provides = virtualbox-guest-iso
+
+pkgname = virtualbox-bin-sdk
+ pkgdesc = VirtualBox software developer kit for use with virtualbox-bin package
+ arch = any
+ license = LGPL2.1
+ license = GPL2
+ license = BSD
+ license = custom
+ depends = python
+ optdepends = java-runtime: for webservice java bindings
+ provides = virtualbox-sdk
+ conflicts = virtualbox-sdk
diff --git a/013-Makefile.patch b/013-Makefile.patch
new file mode 100644
index 000000000000..5cabc5cb0d5e
--- /dev/null
+++ b/013-Makefile.patch
@@ -0,0 +1,42 @@
+--- a/src/vboxhost/Makefile
++++ b/src/vboxhost/Makefile
+@@ -23,25 +23,25 @@
+ # terms and conditions of either the GPL or the CDDL or both.
+ #
+
+-ifneq ($(KERNELRELEASE),)
++ifneq ($(KBUILD_EXTMOD),)
+
+-# Building from kBuild (make -C <kernel_directory> M=`pwd`),
+-# or inside a kernel source tree.
++# Building from kBuild (make -C <kernel_directory> M=`pwd`).
++# KBUILD_EXTMOD is set to $(M) in this case.
+
+ obj-m = vboxdrv/
+-ifneq ($(wildcard $(CURDIR)/vboxnetflt/Makefile),)
++ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxnetflt/Makefile),)
+ obj-m += vboxnetflt/
+ endif
+-ifneq ($(wildcard $(CURDIR)/vboxnetadp/Makefile),)
++ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxnetadp/Makefile),)
+ obj-m += vboxnetadp/
+ endif
+-ifneq ($(wildcard $(CURDIR)/vboxpci/Makefile),)
++ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxpci/Makefile),)
+ obj-m += vboxpci/
+ endif
+
+-else # ! KERNELRELEASE
++else # ! KBUILD_EXTMOD
+
+-# convenience Makefile without KERNELRELEASE
++# convenience Makefile without KBUILD_EXTMOD
+
+ KBUILD_VERBOSE ?=
+ KERN_VER ?= $(shell uname -r)
+@@ -167,4 +167,4 @@ load: unload
+ fi; \
+ done
+
+-endif # ! KERNELRELEASE
++endif # ! KBUILD_EXTMOD
diff --git a/60-vboxdrv.rules b/60-vboxdrv.rules
new file mode 100644
index 000000000000..95d515b06bc5
--- /dev/null
+++ b/60-vboxdrv.rules
@@ -0,0 +1,8 @@
+KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"
+KERNEL=="vboxdrvu", NAME="vboxdrvu", OWNER="root", GROUP="root", MODE="0666"
+KERNEL=="vboxnetctl", NAME="vboxnetctl", OWNER="root", GROUP="root", MODE="0600"
+
+SUBSYSTEM=="usb_device", ACTION=="add", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
+SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
+SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
+SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
diff --git a/LICENSE.sdk b/LICENSE.sdk
new file mode 100644
index 000000000000..8dcb4c295697
--- /dev/null
+++ b/LICENSE.sdk
@@ -0,0 +1,13 @@
+License information
+
+The sample code files shipped with the SDK are generally licensed liberally
+to make it easy for anyone to use this code for their own application code.
+
+The Java files under /opt/VirtualBox/sdk/bindings/webservice/java/jax-ws/
+(library files for the object-oriented web service) are, by contrast,
+licensed under the GNU Lesser General Public License (LGPL) V2.1.
+See /opt/VirtualBox/sdk/bindings/webservice/java/jax-ws/COPYING.LIB for
+the full text of the LGPL 2.1.
+
+When in doubt, please refer to the individual source code files shipped
+with this SDK.
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..2d7ed2e92bd4
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,196 @@
+# Maintainer : Daniel Bermond <dbermond@archlinux.org>
+# Contributor: Rainmaker <rainmaker52@gmail.com>
+# Contributor: gary9872 <garysBoXatgeemale.com>
+# Contributor: khomutsky <bogdan@khomutsky.com>
+# Contributor: M0Rf30
+
+pkgbase=virtualbox-bin
+pkgname=('virtualbox-bin' 'virtualbox-bin-guest-iso' 'virtualbox-bin-sdk')
+pkgver=6.1.40
+_build=154048
+_rev=96547
+_rdeskver=1.8.4
+pkgrel=1
+pkgdesc='Powerful x86 virtualization for enterprise as well as home use (Oracle branded non-OSE)'
+arch=('x86_64')
+url='https://www.virtualbox.org/'
+license=('GPL2')
+makedepends=('python')
+source=("http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}-${_build}-Linux_amd64.run"
+ "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}"
+ "VBoxAuthSimple-r${_rev}.cpp"::"https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/simple/VBoxAuthSimple.cpp?p=${_rev}"
+ 'dkms.conf'
+ 'vboxreload'
+ '60-vboxdrv.rules'
+ 'vboxweb.service'
+ 'virtualbox.sysusers'
+ 'LICENSE.sdk'
+ '013-Makefile.patch')
+noextract=("VirtualBoxSDK-${pkgver}-${_build}.zip")
+sha256sums=('4a6b781563dd9db7bd0c8759867fce6a6ff801ccfd97fb2febb9b5fe333f788d'
+ 'f0eb87d02ebbd39c95f3a572802d1e77a3e52a943a6f3d205d131a5bf75a31fb'
+ '1d1a828b8411d08dc886463628589716151a514639d606d99e3578e9894fd5bd'
+ 'b762b1d19647bd0d116f62fc683f061b7a80667fc0377e0a6b00691797a5fa3c'
+ '7c7e19388158418762529805c19fab80ba329eb287dadc152bb226dfedb9d7ed'
+ '63f1e9eabedec2170bd0589aaa2bf5025ff8f8ec1764cc4823cbe446e9ce1388'
+ '4001b5927348fe669a541e80526d4f9ea91b883805f102f7d571edbb482a9b9d'
+ '9c5238183019f9ebc7d92a8582cad232f471eab9d3278786225abc1a1c7bf66e'
+ 'e6e875ef186578b53106d7f6af48e426cdaf1b4e86834f01696b8ef1c685787f'
+ '2101ebb58233bbfadf3aa74381f22f7e7e508559d2b46387114bc2d8e308554c'
+ '09335d7d1075df02d29cec13119538134efdf43ea73a93b0f89d0d7d4b6625a1'
+ '3c2089575e8c03b7517fe176e65168e15fb7aefe7e71224bf264d21812dbc635')
+
+prepare() {
+ local _extractdir="${pkgname}-${pkgver}/VirtualBox-extracted"
+
+ # extract files
+ mkdir -p "$_extractdir"
+ sh "VirtualBox-${pkgver}-${_build}-Linux_amd64.run" --noexec --nox11 --target "${pkgname}-${pkgver}"
+ bsdtar -xf "${pkgname}-${pkgver}/VirtualBox.tar.bz2" -C "$_extractdir"
+ bsdtar -xf "VirtualBoxSDK-${pkgver}-${_build}.zip" -C "${pkgname}-${pkgver}"
+ bsdtar -xf "${_extractdir}/rdesktop-vrdp.tar.gz" -C "${pkgname}-${pkgver}" --include='*.1'
+
+ # dkms configuration
+ install -D -m644 dkms.conf -t "${_extractdir}/src/vboxhost"
+ sed -i "s/^\(PACKAGE_VERSION\)=.*/\1=${pkgver}/" "${_extractdir}/src/vboxhost/dkms.conf"
+
+ # fix dkms build
+ patch -d "$_extractdir" -Np1 -i "${srcdir}/013-Makefile.patch"
+}
+
+build() {
+ cd "${pkgname}-${pkgver}/sdk/installer"
+ VBOX_INSTALL_PATH='/opt/VirtualBox' python vboxapisetup.py build
+}
+
+package_virtualbox-bin() {
+ depends=('device-mapper' 'dkms' 'fontconfig' 'hicolor-icon-theme' 'libgl'
+ 'libidl2' 'libxcursor' 'libxinerama' 'libxmu' 'python' 'sdl')
+ optdepends=('virtualbox-bin-guest-iso: for guest additions CD image'
+ 'virtualbox-bin-sdk: for the software developer kit'
+ 'virtualbox-ext-oracle: for Oracle extensions pack')
+ provides=("virtualbox=${pkgver}" 'virtualbox-host-dkms' 'VIRTUALBOX-HOST-MODULES')
+ conflicts=('virtualbox' 'virtualbox-host-dkms' 'virtualbox-host-modules-arch')
+ replaces=('virtualbox_bin' 'virtualbox-sun')
+ backup=('etc/vbox/vbox.cfg')
+ options=('!strip' '!emptydirs')
+
+ local _installdir='opt/VirtualBox'
+
+ # install bundled files
+ install -d -m755 "${pkgdir}/opt"
+ cp -Pr --no-preserve='ownership' "${pkgname}-${pkgver}/VirtualBox-extracted" "${pkgdir}/${_installdir}"
+
+ # mark binaries suid root, and make sure the directory is only writable by the user
+ chmod 4755 "${pkgdir}/${_installdir}"/{VirtualBoxVM,VBox{Headless,Net{AdpCtl,DHCP,NAT},SDL,VolInfo}}
+ chmod go-w "${pkgdir}/${_installdir}"
+
+ # remove guest iso, rdesktop-vrdp packed sources and bundled sdk files
+ rm -r "${pkgdir}/${_installdir}"/{additions/VBoxGuestAdditions.iso,rdesktop-vrdp.tar.gz,sdk}
+
+ # module sources
+ install -d -m755 "${pkgdir}/usr/src"
+ mv "${pkgdir}/${_installdir}/src/vboxhost" "${pkgdir}/usr/src/vboxhost-${pkgver}_non_OSE"
+
+ # module reloading shortcut (with a symlink with default helper)
+ install -D -m755 vboxreload -t "${pkgdir}/usr/bin"
+ ln -s vboxreload "${pkgdir}/usr/bin/rcvboxdrv"
+
+ # udev rules
+ ## we need to copy and not symlink VBoxCreateUSBNode.sh in /usr/lib/udev to avoid udevd
+ ## to look /opt when /opt is not mounted. This can be done until VBoxCreateUSBNode.sh doesn't
+ ## need more stuff from /opt
+ install -D -m644 60-vboxdrv.rules -t "${pkgdir}/usr/lib/udev/rules.d"
+ install -D -m755 "${pkgdir}/${_installdir}/VBoxCreateUSBNode.sh" -t "${pkgdir}/usr/lib/udev"
+ install -D -m755 "${pkgdir}/${_installdir}/VBoxCreateUSBNode.sh" -t "${pkgdir}/usr/share/virtualbox"
+
+ # configuration file
+ install -D -m644 <(printf '%s\n' "INSTALL_DIR=/${_installdir}") "${pkgdir}/etc/vbox/vbox.cfg"
+
+ # modules-load.d configuration
+ install -D -m644 <(printf 'vboxdrv\nvboxnetadp\nvboxnetflt\n') "${pkgdir}/usr/lib/modules-load.d/${pkgname}.conf"
+
+ # systemd
+ install -D -m644 vboxweb.service -t "${pkgdir}/usr/lib/systemd/system"
+ install -D -m644 virtualbox.sysusers "${pkgdir}/usr/lib/sysusers.d/virtualbox.conf"
+
+ # man page for rdesktop-vrdp
+ install -D -m644 "${pkgname}-${pkgver}/rdesktop-${_rdeskver}-vrdp/doc/rdesktop.1" \
+ "${pkgdir}/usr/share/man/man1/rdesktop-vrdp.1"
+
+ # symlinks
+ local _dir
+ local _file
+ install -d -m755 "${pkgdir}/usr/share"/{applications,{doc,licenses}/"$pkgname",mime/packages,pixmaps}
+ for _file in vboxwebsrv VirtualBox{,VM} VBox{Manage,SDL,VRDP,Headless,Autostart,BalloonCtrl,BugReport,DTrace}
+ do
+ ln -s "../../${_installdir}/VBox.sh" "${pkgdir}/usr/bin/${_file}"
+ [ "$_file" != 'vboxwebsrv' ] && ln -s "../../${_installdir}/VBox.sh" "${pkgdir}/usr/bin/${_file,,}"
+ done
+ ln -s "../../${_installdir}/VBoxTunctl" "${pkgdir}/usr/bin/VBoxTunctl"
+ ln -s "../../${_installdir}/rdesktop-vrdp" "${pkgdir}/usr/bin/rdesktop-vrdp"
+ ln -s "../../../${_installdir}/VBoxSysInfo.sh" "${pkgdir}/usr/share/virtualbox/VBoxSysInfo.sh"
+ ln -s "../../../usr/src/vboxhost-${pkgver}_non_OSE" "${pkgdir}/${_installdir}/src/vboxhost"
+ ln -s "../../../${_installdir}/VBox.png" "${pkgdir}/usr/share/pixmaps/VBox.png"
+ ln -s "../../../${_installdir}/virtualbox.desktop" "${pkgdir}/usr/share/applications/virtualbox.desktop"
+ ln -s "../../../../${_installdir}/virtualbox.xml" "${pkgdir}/usr/share/mime/packages/virtualbox.xml"
+ ln -s "../../../../${_installdir}/UserManual.pdf" "${pkgdir}/usr/share/doc/${pkgname}/UserManual.pdf"
+ ln -s "../../../../${_installdir}/VirtualBox.chm" "${pkgdir}/usr/share/doc/${pkgname}/VirtualBox.chm"
+ ln -s "../../../../${_installdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ ## hicolor icons
+ while read -r -d '' _file
+ do
+ if grep -Eq '/virtualbox\.(png|svg)$' <<< "$_file"
+ then
+ _dir="${_file%/*}/apps"
+ else
+ _dir="${_file%/*}/mimetypes"
+ fi
+ install -d -m755 "${pkgdir}/usr/share/icons/hicolor/${_dir}"
+ ln -s "../../../../../../${_installdir}/icons/${_dir%/*}/${_file##*/}" \
+ "${pkgdir}/usr/share/icons/hicolor/${_dir}/${_file##*/}"
+ done < <(find "${pkgdir}/${_installdir}/icons" -type f -print0 | sed -z "s|${pkgdir}/${_installdir}/icons/||")
+ ## workaround for unsupported $ORIGIN/.. in VBoxC.so
+ for _file in VBox{RT,XPCOM}.so
+ do
+ ln -s "../${_file}" "${pkgdir}/${_installdir}/components/${_file}"
+ done
+}
+
+package_virtualbox-bin-guest-iso() {
+ pkgdesc='VirtualBox guest additions ISO image for use with virtualbox-bin package'
+ arch=('any')
+ provides=('virtualbox-guest-iso')
+
+ install -D -m644 "${pkgbase}-${pkgver}/VirtualBox-extracted/additions/VBoxGuestAdditions.iso" \
+ -t "${pkgdir}/opt/VirtualBox/additions"
+}
+
+package_virtualbox-bin-sdk() {
+ pkgdesc='VirtualBox software developer kit for use with virtualbox-bin package'
+ arch=('any')
+ license=('LGPL2.1' 'GPL2' 'BSD' 'custom')
+ depends=('python')
+ optdepends=('java-runtime: for webservice java bindings')
+ provides=('virtualbox-sdk')
+ conflicts=('virtualbox-sdk')
+
+ local _dir
+ local _installdir='opt/VirtualBox'
+
+ install -d -m755 "${pkgdir}/${_installdir}/sdk"
+ while read -r -d '' _dir
+ do
+ cp -Pr --no-preserve='ownership' "$_dir" "${pkgdir}/${_installdir}/sdk"
+ done < <(find "${pkgbase}-${pkgver}/sdk" -mindepth 1 -maxdepth 1 -type d ! -name 'installer' -print0)
+
+ install -D -m644 "VBoxAuth-r${_rev}.h" "${pkgdir}/${_installdir}/sdk/bindings/auth/include/VBoxAuth.h"
+ install -D -m644 "VBoxAuthPAM-r${_rev}.c" "${pkgdir}/${_installdir}/sdk/bindings/auth/VBoxAuthPAM.cpp"
+ install -D -m644 "VBoxAuthSimple-r${_rev}.cpp" "${pkgdir}/${_installdir}/sdk/bindings/auth/VBoxAuthSimple.cpp"
+ install -D -m644 LICENSE.sdk "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ cd "${pkgbase}-${pkgver}/sdk/installer"
+ VBOX_INSTALL_PATH="/${_installdir}" python vboxapisetup.py install --root "$pkgdir" --skip-build --optimize='1'
+}
diff --git a/dkms.conf b/dkms.conf
new file mode 100644
index 000000000000..44cf13188b52
--- /dev/null
+++ b/dkms.conf
@@ -0,0 +1,31 @@
+## @file
+# Linux DKMS config script for the VirtualBox host kernel modules
+#
+
+#
+# Copyright (C) 2006-2015 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+PACKAGE_NAME="vboxhost"
+PACKAGE_VERSION=
+AUTOINSTALL=yes
+
+BUILT_MODULE_NAME[0]="vboxdrv"
+BUILT_MODULE_LOCATION[0]="vboxdrv"
+DEST_MODULE_LOCATION[0]="/kernel/misc"
+
+BUILT_MODULE_NAME[1]="vboxnetflt"
+BUILT_MODULE_LOCATION[1]="vboxnetflt"
+DEST_MODULE_LOCATION[1]="/kernel/misc"
+
+BUILT_MODULE_NAME[2]="vboxnetadp"
+BUILT_MODULE_LOCATION[2]="vboxnetadp"
+DEST_MODULE_LOCATION[2]="/kernel/misc"
diff --git a/vboxreload b/vboxreload
new file mode 100644
index 000000000000..d21aa627fc4f
--- /dev/null
+++ b/vboxreload
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# vboxreload: shortcut to reload virtualbox host modules
+#
+# Copyright © 2016 Sébastien Luttringer
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+(( UID > 0 )) && { echo 'You must be root' >&2; exit 1; }
+
+modules=(vboxnetadp vboxnetflt vboxdrv)
+
+echo -n 'Unloading modules: '
+for _m in "${modules[@]}"; do
+ lsmod|grep -q "$_m" && rmmod "$_m" && echo -n "$_m "
+done
+echo
+
+echo -n 'Loading modules: '
+for _m in "${modules[@]}"; do
+ modprobe "$_m" && echo -n "$_m "
+done
+echo
+
+# vim:set ts=2 sw=2 ai et:
diff --git a/vboxweb.service b/vboxweb.service
new file mode 100644
index 000000000000..303381597a40
--- /dev/null
+++ b/vboxweb.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=VirtualBox Web Service
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/vboxweb.pid
+ExecStart=/usr/bin/vboxwebsrv --pidfile /run/vboxweb.pid --background
+
+[Install]
+WantedBy=multi-user.target
diff --git a/virtualbox.sysusers b/virtualbox.sysusers
new file mode 100644
index 000000000000..4d4caeb27936
--- /dev/null
+++ b/virtualbox.sysusers
@@ -0,0 +1 @@
+g vboxusers 108 -