diff options
author | Felix Schindler | 2023-01-12 12:35:54 +0000 |
---|---|---|
committer | Felix Schindler | 2023-01-12 12:36:37 +0000 |
commit | 65f44f3e7bbfd7f6cfb0996b6ba342855c27dc7c (patch) | |
tree | ac63bbf4633f9d90ec583d33d796f4bab4b31c80 | |
download | aur-65f44f3e7bbfd7f6cfb0996b6ba342855c27dc7c.tar.gz |
init from https://aur.archlinux.org/virtualbox-bin.git, 32c971dd
-rw-r--r-- | .SRCINFO | 77 | ||||
-rw-r--r-- | 013-Makefile.patch | 42 | ||||
-rw-r--r-- | 60-vboxdrv.rules | 8 | ||||
-rw-r--r-- | LICENSE.sdk | 13 | ||||
-rw-r--r-- | PKGBUILD | 196 | ||||
-rw-r--r-- | dkms.conf | 31 | ||||
-rw-r--r-- | vboxreload | 37 | ||||
-rw-r--r-- | vboxweb.service | 11 | ||||
-rw-r--r-- | virtualbox.sysusers | 1 |
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 - |