diff options
author | Winston Wu | 2017-09-16 02:26:56 +0000 |
---|---|---|
committer | Winston Wu | 2017-09-16 02:26:56 +0000 |
commit | 25cb856de2bec271927643ba0721745c34dacc0b (patch) | |
tree | 1343b41463ec3ce2a372d0630f52972e706a1e1a | |
download | aur-25cb856de2bec271927643ba0721745c34dacc0b.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 202 | ||||
-rw-r--r-- | 002-dri-driver-path.patch | 28 | ||||
-rw-r--r-- | 003-ogl-include-path.patch | 35 | ||||
-rw-r--r-- | 005-gsoap-build.patch | 11 | ||||
-rw-r--r-- | 006-rdesktop-vrdp-keymap-path.patch | 12 | ||||
-rw-r--r-- | 007-python2-path.patch | 9 | ||||
-rw-r--r-- | 008-no-vboxvideo.patch | 12 | ||||
-rw-r--r-- | 009-glibc-2.26.patch | 27 | ||||
-rw-r--r-- | 60-vboxdrv.rules | 8 | ||||
-rw-r--r-- | 60-vboxguest.rules | 2 | ||||
-rw-r--r-- | LocalConfig.kmk | 32 | ||||
-rw-r--r-- | PKGBUILD | 399 | ||||
-rwxr-xr-x | build.sh | 3 | ||||
-rwxr-xr-x | vboxreload | 37 | ||||
-rw-r--r-- | vboxservice-nox.service | 11 | ||||
-rw-r--r-- | vboxservice.service | 12 | ||||
-rw-r--r-- | vboxweb.service | 11 | ||||
-rw-r--r-- | virtualbox-ext-vnc.install | 27 | ||||
-rw-r--r-- | virtualbox-guest-dkms.conf | 37 | ||||
-rw-r--r-- | virtualbox-guest-dkms.install | 15 | ||||
-rw-r--r-- | virtualbox-guest-utils.sysusers | 1 | ||||
-rw-r--r-- | virtualbox-host-dkms.conf | 43 | ||||
-rw-r--r-- | virtualbox-host-dkms.install | 15 | ||||
-rw-r--r-- | virtualbox.install | 12 | ||||
-rw-r--r-- | virtualbox.sysusers | 1 |
25 files changed, 1002 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..1b5a85ee7a53 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,202 @@ +# Generated by mksrcinfo v8 +# Sat Sep 16 02:26:42 UTC 2017 +pkgbase = virtualbox-svn + pkgver = 68769 + pkgrel = 1 + url = http://virtualbox.org + arch = i686 + arch = x86_64 + license = GPL + license = custom + makedepends = alsa-lib + makedepends = bin86 + makedepends = cdrkit + makedepends = curl + makedepends = dev86 + makedepends = device-mapper + makedepends = glu + makedepends = gsoap + makedepends = iasl + makedepends = jdk7-openjdk + makedepends = libidl2 + makedepends = libpulse + makedepends = libstdc++5 + makedepends = libvncserver + makedepends = libvpx + makedepends = libxcomposite + makedepends = libxcursor + makedepends = libxinerama + makedepends = libxml2 + makedepends = libxmu + makedepends = libxrandr + makedepends = libxslt + makedepends = libxtst + makedepends = linux-headers + makedepends = mesa + makedepends = python2 + makedepends = qt5-base + makedepends = qt5-x11extras + makedepends = qt5-tools + makedepends = sdl + makedepends = sdl_ttf + makedepends = vde2 + makedepends = xalan-c + makedepends = xf86driproto + makedepends = xorg-server-devel + makedepends = subversion + source = VirtualBox::svn+http://www.virtualbox.org/svn/vbox/trunk + source = virtualbox-host-dkms.conf + source = virtualbox-guest-dkms.conf + source = virtualbox.sysusers + source = virtualbox-guest-utils.sysusers + source = 60-vboxdrv.rules + source = 60-vboxguest.rules + source = LocalConfig.kmk + source = vboxservice.service + source = vboxservice-nox.service + source = vboxweb.service + source = vboxreload + source = 002-dri-driver-path.patch + source = 003-ogl-include-path.patch + source = 005-gsoap-build.patch + source = 006-rdesktop-vrdp-keymap-path.patch + source = 007-python2-path.patch + source = 008-no-vboxvideo.patch + source = 009-glibc-2.26.patch + sha256sums = SKIP + sha256sums = 292fa3a414c125cf9119c8f2d866f3bd3a36c37842c9f68e6bbf74801860cd8a + sha256sums = f4c4ec1b2d25c64d3b334d487d4fbf6e06e072d252a0979f73a47a41e4afdcf7 + sha256sums = 2101ebb58233bbfadf3aa74381f22f7e7e508559d2b46387114bc2d8e308554c + sha256sums = da4c49f6ca94e047e196cdbcba2c321199f4760056ea66e0fbc659353e128c9e + sha256sums = 9c5238183019f9ebc7d92a8582cad232f471eab9d3278786225abc1a1c7bf66e + sha256sums = 033c597e0f5285d2ddb0490868e5b6f945f45c7b1b1152a02a9e6fea438b2c95 + sha256sums = 0105ce26b79dbe533085423decf042ac0f5e6aa28edb5e6a9bc713cca2ab04c5 + sha256sums = 94a808f46909a51b2d0cf2c6e0a6c9dea792034943e6413bf9649a036c921b21 + sha256sums = 01dbb921bd57a852919cc78be5b73580a564f28ebab2fe8d6c9b8301265cbfce + sha256sums = e6e875ef186578b53106d7f6af48e426cdaf1b4e86834f01696b8ef1c685787f + sha256sums = 2a9d7748dc58f9d091f791da06b733a696943114f7c0d580fa00a0752eb1d2ac + sha256sums = ee54fe188e27b6e80e2044ea9ba1874db2ca2c026ad04f393be1be69c18d440d + sha256sums = a094a37ce710452e45f14eaec3e10bd71054aa910cf463b36a8b3ec42be466a1 + sha256sums = 7d2da8fe10a90f76bbfc80ad1f55df4414f118cd10e10abfb76070326abebd46 + sha256sums = 5d5af2de5b1f1c61ec793503350f2440661cf8fd640f11b8a86f10bce499c0dc + sha256sums = 6bdb017459532537199c399eefd3d84d8dc7f1786e79997caebd3b6eb5c75d9f + sha256sums = 8b7f241107863f82a5b0ae336aead0b3366a40103ff72dbebf33f54b512a0cbc + sha256sums = 3b6ad08a80f9f8c02c0c3625b7c96150056b466b8f32740b242a55736c282ec7 + makedepends_x86_64 = gcc-multilib + makedepends_x86_64 = lib32-glibc + +pkgname = virtualbox-svn + pkgdesc = Powerful x86 virtualization for enterprise as well as home use + install = virtualbox.install + depends = glibc + depends = openssl + depends = curl + depends = gcc-libs + depends = libpng + depends = python2 + depends = sdl + depends = libvpx + depends = libxml2 + depends = procps-ng + depends = shared-mime-info + depends = zlib + depends = libxcursor + depends = libxinerama + depends = libx11 + depends = libxext + depends = libxmu + depends = libxt + depends = qt5-base + depends = qt5-x11extras + depends = VIRTUALBOX-HOST-MODULES-SVN + optdepends = vde2: Virtual Distributed Ethernet support + optdepends = virtualbox-guest-iso: Guest Additions CD image + optdepends = virtualbox-ext-vnc: VNC server support + optdepends = virtualbox-sdk: Developer kit + provides = virtualbox + conflicts = virtualbox-ose + conflicts = virtualbox + replaces = virtualbox-ose + backup = etc/vbox/vbox.cfg + +pkgname = virtualbox-host-dkms-svn + pkgdesc = VirtualBox Host kernel modules sources + install = virtualbox-host-dkms.install + depends = dkms + depends = gcc + depends = make + optdepends = linux-headers: build modules against Arch kernel + optdepends = linux-lts-headers: build modules against LTS kernel + optdepends = linux-zen-headers: build modules against ZEN kernel + provides = VIRTUALBOX-HOST-MODULES-SVN + provides = virtualbox-host-dkms + conflicts = virtualbox-source + conflicts = virtualbox-host-source + conflicts = virtualbox-host-dkms + replaces = virtualbox-source + replaces = virtualbox-host-source + replaces = virtualbox-host-modules-lts + +pkgname = virtualbox-guest-dkms-svn + pkgdesc = VirtualBox Guest kernel modules sources + install = virtualbox-guest-dkms.install + depends = dkms + depends = gcc + depends = make + optdepends = linux-headers: build modules against Arch kernel + optdepends = linux-lts-headers: build modules against LTS kernel + optdepends = linux-zen-headers: build modules against ZEN kernel + provides = VIRTUALBOX-GUEST-MODULES-SVN + provides = virtualbox-guest-dkms + conflicts = virtualbox-archlinux-source + conflicts = virtualbox-guest-source + conflicts = virtualbox-guest-dkms + replaces = virtualbox-archlinux-source + replaces = virtualbox-guest-source + replaces = virtualbox-guest-modules-lts + +pkgname = virtualbox-sdk-svn + pkgdesc = VirtualBox Software Developer Kit (SDK) + depends = python2 + provides = virtualbox-sdk + conflicts = virtualbox-sdk + +pkgname = virtualbox-guest-utils-svn + pkgdesc = VirtualBox Guest userspace utilities + depends = glibc + depends = pam + depends = libx11 + depends = libxcomposite + depends = libxdamage + depends = libxext + depends = libxfixes + depends = libxmu + depends = libxt + depends = xorg-xrandr + depends = VIRTUALBOX-GUEST-MODULES-SVN + provides = virtualbox-guest-utils + conflicts = virtualbox-archlinux-additions + conflicts = virtualbox-guest-additions + conflicts = virtualbox-guest-utils-nox + conflicts = virtualbox-guest-utils + replaces = virtualbox-archlinux-additions + replaces = virtualbox-guest-additions + +pkgname = virtualbox-guest-utils-nox-svn + pkgdesc = VirtualBox Guest userspace utilities without X support + depends = glibc + depends = pam + depends = VIRTUALBOX-GUEST-MODULES-SVN + provides = virtualbox-guest-utils-nox + conflicts = virtualbox-guest-utils + conflicts = virtualbox-guest-utils-nox + +pkgname = virtualbox-ext-vnc-svn + pkgdesc = VirtualBox VNC extension pack + install = virtualbox-ext-vnc.install + depends = virtualbox + depends = libvncserver + optdepends = tigervnc: vnc client + provides = virtualbox-ext-vnc + conflicts = virtualbox-ext-vnc + diff --git a/002-dri-driver-path.patch b/002-dri-driver-path.patch new file mode 100644 index 000000000000..777e8e73b8b2 --- /dev/null +++ b/002-dri-driver-path.patch @@ -0,0 +1,28 @@ +# 2013 © Sébastien Luttringer +--- a/src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2013-09-04 21:03:47.040743507 +0200 ++++ b/src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2013-10-20 23:23:49.705371815 +0200 +@@ -58,23 +58,8 @@ + //#define DEBUG_DRI_CALLS + + //@todo this could be different... +-#ifdef RT_ARCH_AMD64 +-# ifdef RT_OS_FREEBSD +-# define DRI_DEFAULT_DRIVER_DIR "/usr/local/lib/dri" +-# define DRI_XORG_DRV_DIR "/usr/local/lib/xorg/modules/drivers/" +-# else +-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib64/dri:/usr/lib/dri:/usr/lib/x86_64-linux-gnu/dri:/usr/lib/xorg/modules/dri" ++# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/xorg/modules/dri" + # define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/" +-# endif +-#else +-# ifdef RT_OS_FREEBSD +-# define DRI_DEFAULT_DRIVER_DIR "/usr/local/lib/dri" +-# define DRI_XORG_DRV_DIR "/usr/local/lib/xorg/modules/drivers/" +-# else +-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/dri:/usr/lib/i386-linux-gnu/dri:/usr/lib/xorg/modules/dri" +-# define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/" +-# endif +-#endif + + #ifdef DEBUG_DRI_CALLS + #define SWDRI_SHOWNAME(pext, func) \ diff --git a/003-ogl-include-path.patch b/003-ogl-include-path.patch new file mode 100644 index 000000000000..cce1079cd3af --- /dev/null +++ b/003-ogl-include-path.patch @@ -0,0 +1,35 @@ +--- VirtualBox/src/VBox/Additions/common/crOpenGL/Makefile.kmk.orig 2017-09-14 23:57:58.834458822 +0000 ++++ VirtualBox/src/VBox/Additions/common/crOpenGL/Makefile.kmk 2017-09-14 23:59:49.918241816 +0000 +@@ -69,16 +69,9 @@ VBoxOGL_INCS = . $(VBOX_GRAPHI + if1of ($(KBUILD_TARGET), linux solaris freebsd) + ifndef VBOX_USE_SYSTEM_GL_HEADERS + VBoxOGL_INCS += \ +- $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \ +- $(VBOX_PATH_X11_ROOT)/libXcomposite-0.4.0 \ +- $(VBOX_PATH_X11_ROOT)/libXext-1.3.1 \ +- $(VBOX_PATH_X11_ROOT)/libXfixes-4.0.3 \ +- $(VBOX_PATH_X11_ROOT)/damageproto-1.1.0 \ +- $(VBOX_PATH_X11_ROOT)/compositeproto-0.4 \ +- $(VBOX_PATH_X11_ROOT)/fixesproto-4.0 \ +- $(VBOX_PATH_X11_ROOT)/libx11-1.1.5-other \ +- $(VBOX_PATH_X11_ROOT)/xextproto-7.1.1 \ +- $(VBOX_PATH_X11_ROOT)/xproto-7.0.18 \ ++ /usr/include/x11 \ ++ /usr/include/xorg \ ++ /usr/include/pixman-1 \ + $(VBOX_GL_INCS) + endif + VBoxOGL_DEFS += VBOX_NO_NATIVEGL +@@ -218,11 +211,7 @@ if1of ($(KBUILD_TARGET), linux solaris f + ifdef VBOX_USE_SYSTEM_GL_HEADERS + VBoxOGL_LIBS += Xcomposite Xdamage Xfixes Xext + else +- VBoxOGL_LIBS += \ +- $(PATH_STAGE_LIB)/libXcomposite.so \ +- $(PATH_STAGE_LIB)/libXdamage.so \ +- $(PATH_STAGE_LIB)/libXfixes.so \ +- $(PATH_STAGE_LIB)/libXext.so ++ VBoxOGL_LIBS += Xcomposite Xdamage Xfixes Xext + endif + ifdef VBoxOGL_FAKEDRI + ifeq ($(KBUILD_TARGET), freebsd) diff --git a/005-gsoap-build.patch b/005-gsoap-build.patch new file mode 100644 index 000000000000..bba4f0ec7557 --- /dev/null +++ b/005-gsoap-build.patch @@ -0,0 +1,11 @@ +--- a/src/VBox/Main/webservice/Makefile.kmk 2013-11-21 19:00:46.812761628 +0100 ++++ b/src/VBox/Main/webservice/Makefile.kmk 2016-08-18 15:16:05.803599026 +0100 +@@ -724,7 +724,7 @@ $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts \ + $(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@) + $(call MSG_GENERATE,,lots of files,$(GSOAPH_RELEVANT)) + $(RM) -f $@ +- $(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT) ++ $(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -z1 -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT) + ifeq ($(KBUILD_TARGET),win) # MSC -Wall workaround. + $(CP) -f "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp" + $(SED) -f $(VBOX_PATH_WEBSERVICE)/stdsoap2.sed --output "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp" diff --git a/006-rdesktop-vrdp-keymap-path.patch b/006-rdesktop-vrdp-keymap-path.patch new file mode 100644 index 000000000000..46c72c1ccf87 --- /dev/null +++ b/006-rdesktop-vrdp-keymap-path.patch @@ -0,0 +1,12 @@ +# 2015 © Sébastien Luttringer +--- a/src/VBox/RDP/client-1.8.3/Makefile.kmk 2013-02-19 23:12:20.207464901 +0100 ++++ b/src/VBox/RDP/client-1.8.3/Makefile.kmk 2014-01-04 04:17:26.700618600 +0100 +@@ -41,7 +41,7 @@ + EGD_SOCKET=\"/var/run/egd-pool\" WITH_RDPSND=1 HAVE_DIRENT_H=1 \ + HAVE_ICONV=1 HAVE_SYS_STATVFS_H=1 \ + HAVE_SYS_PARAM_H=1 HAVE_SYS_MOUNT_H=1 HAVE_STRUCT_STATVFS_F_NAMEMAX=1 \ +- KEYMAP_PATH=$(if $(findstring RTPATH_APP_PRIVATE,$(CDEFS)),RTPATH_APP_PRIVATE,\"/opt/VirtualBox\")\"/rdesktop-vrdp-keymaps\" \ ++ KEYMAP_PATH=$(if $(findstring RTPATH_APP_PRIVATE,$(CDEFS)),RTPATH_APP_PRIVATE,\"/usr/share/virtualbox\")\"/rdesktop-vrdp-keymaps\" \ + RDESKTOP=1 + ifdef WITH_BIRD_VD_HACKS + rdesktop-vrdp_DEFS += WITH_BIRD_VD_HACKS diff --git a/007-python2-path.patch b/007-python2-path.patch new file mode 100644 index 000000000000..d11e75dd9f40 --- /dev/null +++ b/007-python2-path.patch @@ -0,0 +1,9 @@ +# 2013 © Sébastien Luttringer +--- a/src/VBox/Frontends/VBoxShell/vboxshell.py 2014-01-03 01:38:41.831615590 +0100 ++++ b/src/VBox/Frontends/VBoxShell/vboxshell.py 2014-01-04 04:23:33.884544420 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python2 + # -*- coding: utf-8 -*- + # $Id: vboxshell.py 49841 2013-12-09 13:32:33Z vboxsync $ + """ diff --git a/008-no-vboxvideo.patch b/008-no-vboxvideo.patch new file mode 100644 index 000000000000..60b721a8c281 --- /dev/null +++ b/008-no-vboxvideo.patch @@ -0,0 +1,12 @@ +Fix FTBFS by not compile X.org-1.19 drv, we don't use it, just need in el <= 7 +--- ./src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig 2016-10-11 02:49:23.184986182 +0100 ++++ ./src/VBox/Additions/x11/vboxvideo/Makefile.kmk 2016-10-11 02:49:39.879176964 +0100 +@@ -376,7 +376,7 @@ vboxvideo_drv_118_SOURCES := $(vboxvideo + + ifdef VBOX_USE_SYSTEM_XORG_HEADERS + # Build using local X.Org headers. We assume X.Org Server 1.7 or later. +- DLLS := $(filter-out vboxvideo_drv_%,$(DLLS)) vboxvideo_drv_system ++ DLLS := $(filter-out vboxvideo_drv_%,$(DLLS)) + SYSMODS := $(filter-out vboxvideo_drv%,$(SYSMODS)) + vboxvideo_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_system_CFLAGS := \ diff --git a/009-glibc-2.26.patch b/009-glibc-2.26.patch new file mode 100644 index 000000000000..81d149e703bd --- /dev/null +++ b/009-glibc-2.26.patch @@ -0,0 +1,27 @@ +From 4d1e01e1df513666642d4ddbb24625c5bcc12d84 Mon Sep 17 00:00:00 2001 +From: Christian Hesse <mail@eworm.de> +Date: Thu, 14 Sep 2017 23:14:36 +0200 +Subject: [PATCH 1/1] fix compilation with glibc 2.26 + +Signed-off-by: Christian Hesse <mail@eworm.de> +--- + src/VBox/ExtPacks/VBoxDTrace/include/VBoxDTraceTypes.h | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/VBox/ExtPacks/VBoxDTrace/include/VBoxDTraceTypes.h b/src/VBox/ExtPacks/VBoxDTrace/include/VBoxDTraceTypes.h +index 9032e6d..0d1770e 100644 +--- a/src/VBox/ExtPacks/VBoxDTrace/include/VBoxDTraceTypes.h ++++ b/src/VBox/ExtPacks/VBoxDTrace/include/VBoxDTraceTypes.h +@@ -55,11 +55,11 @@ typedef uint64_t hrtime_t; + typedef uint32_t id_t; + typedef uint32_t zoneid_t; + #endif +-#if !defined(NGREG) || !defined(RT_OS_LINUX) ++#if !defined(__NGREG) || !defined(RT_OS_LINUX) + typedef RTCCINTREG greg_t; + #else + AssertCompileSize(greg_t, sizeof(RTCCINTREG)); + #endif + typedef uintptr_t pc_t; + typedef unsigned int model_t; + typedef RTCPUID processorid_t; 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/60-vboxguest.rules b/60-vboxguest.rules new file mode 100644 index 000000000000..6285f724994b --- /dev/null +++ b/60-vboxguest.rules @@ -0,0 +1,2 @@ +ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600" +ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666" diff --git a/LocalConfig.kmk b/LocalConfig.kmk new file mode 100644 index 000000000000..deeed2f0b237 --- /dev/null +++ b/LocalConfig.kmk @@ -0,0 +1,32 @@ +# do not build test cases +VBOX_WITH_TESTCASES := +VBOX_WITH_TESTSUITE := +VBOX_WITH_VALIDATIONKIT := + +# no legacy X.org - use KMS +VBOX_USE_SYSTEM_XORG_HEADERS = 1 +VBOX_NO_LEGACY_XORG_X11 = 1 + +# archlinux path +VBOX_WITH_ORIGIN := +VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox +VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox +VBOX_PATH_APP_DOCS := /usr/share/doc/virtualbox +VBOX_PATH_PACKAGE_DOCS := $(VBOX_PATH_APP_DOCS) +VBOX_BLD_PYTHON = python2 +VBOX_JAVA_HOME = /usr/lib/jvm/java-7-openjdk + +# do not fail on warning +VBOX_GCC_WERR = +VBOX_GCC_WARN = + +# fix gsoap missing zlib include and produce errors with --as-needed +VBOX_GSOAP_CXX_LIBS := gsoapssl++ z + +# use system xorg +VBOX_USE_SYSTEM_XORG_HEADERS = 1 + +# no update request. update are handled via pacman +VBOX_WITH_UPDATE_REQUEST := 0 diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..a30ae46561f5 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,399 @@ +# $Id$ +# Maintainer: Sébastien "Seblu" Luttringer +# Contributor: Ionut Biru <ibiru@archlinux.org> + +pkgbase=virtualbox-svn +pkgname=('virtualbox-svn' + 'virtualbox-host-dkms-svn' + 'virtualbox-guest-dkms-svn' + 'virtualbox-sdk-svn' + 'virtualbox-guest-utils-svn' + 'virtualbox-guest-utils-nox-svn' + 'virtualbox-ext-vnc-svn') +pkgver=68769 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://virtualbox.org' +license=('GPL' 'custom') +makedepends=('alsa-lib' + 'bin86' + 'cdrkit' + 'curl' + 'dev86' + 'device-mapper' + 'glu' + 'gsoap' + 'iasl' + 'jdk7-openjdk' + 'libidl2' + 'libpulse' + 'libstdc++5' + 'libvncserver' + 'libvpx' + 'libxcomposite' + 'libxcursor' + 'libxinerama' + 'libxml2' + 'libxmu' + 'libxrandr' + 'libxslt' + 'libxtst' + 'linux-headers' + 'mesa' + 'python2' + 'qt5-base' + 'qt5-x11extras' + 'qt5-tools' + 'sdl' + 'sdl_ttf' + 'vde2' + 'xalan-c' + 'xf86driproto' + 'xorg-server-devel' + 'subversion') +makedepends_x86_64=('gcc-multilib' 'lib32-glibc') +source=("VirtualBox::svn+http://www.virtualbox.org/svn/vbox/trunk" + 'virtualbox-host-dkms.conf' + 'virtualbox-guest-dkms.conf' + 'virtualbox.sysusers' + 'virtualbox-guest-utils.sysusers' + '60-vboxdrv.rules' + '60-vboxguest.rules' + 'LocalConfig.kmk' + 'vboxservice.service' + 'vboxservice-nox.service' + 'vboxweb.service' + 'vboxreload' + '002-dri-driver-path.patch' + '003-ogl-include-path.patch' + '005-gsoap-build.patch' + '006-rdesktop-vrdp-keymap-path.patch' + '007-python2-path.patch' + '008-no-vboxvideo.patch' + '009-glibc-2.26.patch' + ) +sha256sums=('SKIP' + '292fa3a414c125cf9119c8f2d866f3bd3a36c37842c9f68e6bbf74801860cd8a' + 'f4c4ec1b2d25c64d3b334d487d4fbf6e06e072d252a0979f73a47a41e4afdcf7' + '2101ebb58233bbfadf3aa74381f22f7e7e508559d2b46387114bc2d8e308554c' + 'da4c49f6ca94e047e196cdbcba2c321199f4760056ea66e0fbc659353e128c9e' + '9c5238183019f9ebc7d92a8582cad232f471eab9d3278786225abc1a1c7bf66e' + '033c597e0f5285d2ddb0490868e5b6f945f45c7b1b1152a02a9e6fea438b2c95' + '0105ce26b79dbe533085423decf042ac0f5e6aa28edb5e6a9bc713cca2ab04c5' + '94a808f46909a51b2d0cf2c6e0a6c9dea792034943e6413bf9649a036c921b21' + '01dbb921bd57a852919cc78be5b73580a564f28ebab2fe8d6c9b8301265cbfce' + 'e6e875ef186578b53106d7f6af48e426cdaf1b4e86834f01696b8ef1c685787f' + '2a9d7748dc58f9d091f791da06b733a696943114f7c0d580fa00a0752eb1d2ac' + 'ee54fe188e27b6e80e2044ea9ba1874db2ca2c026ad04f393be1be69c18d440d' + 'a094a37ce710452e45f14eaec3e10bd71054aa910cf463b36a8b3ec42be466a1' + '7d2da8fe10a90f76bbfc80ad1f55df4414f118cd10e10abfb76070326abebd46' + '5d5af2de5b1f1c61ec793503350f2440661cf8fd640f11b8a86f10bce499c0dc' + '6bdb017459532537199c399eefd3d84d8dc7f1786e79997caebd3b6eb5c75d9f' + '8b7f241107863f82a5b0ae336aead0b3366a40103ff72dbebf33f54b512a0cbc' + '3b6ad08a80f9f8c02c0c3625b7c96150056b466b8f32740b242a55736c282ec7') + +pkgver() { + cd "VirtualBox" + local ver="$(svnversion)" + printf "%s" "${ver//[[:alpha:]]}" +} + +prepare() { + cd "VirtualBox" + + # apply patch from the source array (should be a pacman feature) + local filename + for filename in "${source[@]}"; do + if [[ "$filename" =~ \.patch$ ]]; then + msg2 "Applying patch ${filename##*/}" + patch -p1 -N -i "$srcdir/${filename##*/}" + fi + done + + msg2 'Applying local config' + cp "$srcdir/LocalConfig.kmk" . + + msg2 'Use our CFLAGS' + echo "VBOX_GCC_OPT=$CXXFLAGS" >> LocalConfig.kmk + + msg2 'Remove gcc version censorship' + sed -i 's/^check_gcc$/#check_gcc/' configure +} + +build() { + cd "VirtualBox" + + msg2 'Build virtualbox' + ./configure \ + --disable-docs \ + --enable-webservice \ + --enable-vde \ + --enable-vnc \ + --disable-kmods \ + --with-makeself=/usr/bin/echo + # fake makeself binary to compile without nofatal + # makeself is used by linux installer. we don't need it. + source ./env.sh + kmk + + msg2 'Build rdesktop-vrdp' + kmk -C src/VBox/RDP/client-1.8.3 + + msg2 'Build VNC extension pack' + kmk -C src/VBox/ExtPacks/VNC packing +} + +package_virtualbox-svn() { + _pkgname=virtualbox + pkgdesc='Powerful x86 virtualization for enterprise as well as home use' + depends=('glibc' 'openssl' 'curl' 'gcc-libs' 'libpng' 'python2' 'sdl' + 'libvpx' 'libxml2' 'procps-ng' 'shared-mime-info' 'zlib' + 'libxcursor' 'libxinerama' 'libx11' 'libxext' 'libxmu' 'libxt' + 'qt5-base' 'qt5-x11extras' 'VIRTUALBOX-HOST-MODULES-SVN') + optdepends=('vde2: Virtual Distributed Ethernet support' + 'virtualbox-guest-iso: Guest Additions CD image' + 'virtualbox-ext-vnc: VNC server support' + 'virtualbox-sdk: Developer kit') + backup=('etc/vbox/vbox.cfg') + replaces=('virtualbox-ose') + conflicts=('virtualbox-ose' 'virtualbox') + provides=('virtualbox') + install=virtualbox.install + + source "VirtualBox/env.sh" + cd "VirtualBox/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + + # binaries + install -dm755 "$pkgdir/usr/bin" + install -m755 VBox.sh "$pkgdir/usr/bin/VBox" + for i in VBoxHeadless VBoxManage VBoxSDL VirtualBox vboxwebsrv VBoxBalloonCtrl; do + ln -sf VBox "$pkgdir/usr/bin/$i" + ln -sf VBox "$pkgdir/usr/bin/${i,,}" + done + install -m755 VBoxTunctl "$pkgdir/usr/bin" + install -m755 rdesktop-vrdp "$pkgdir/usr/bin" + + # libraries + install -dm755 "$pkgdir/usr/lib/virtualbox" + install -m755 *.so "$pkgdir/usr/lib/virtualbox" + install -m644 *.rc *.r0 VBoxEFI*.fd "$pkgdir/usr/lib/virtualbox" + ## setuid root binaries + install -m4755 VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl VBoxNetNAT -t "$pkgdir/usr/lib/virtualbox" + ## other binaries + install -m755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL VBoxBalloonCtrl vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox" + + # components + install -dm755 "$pkgdir/usr/lib/virtualbox/components" + install -m755 components/* -t "$pkgdir/usr/lib/virtualbox/components" + + # extensions packs + ## as virtualbox install itself stuff in this directory, move it to /var and + ## trick it with a symlink + ## FIXME: trick is disabled for now + #install -dm755 "$pkgdir/var/lib/virtualbox/extensions" + #install -dm755 "$pkgdir/usr/share/virtualbox/extensions" + #ln -s ../../../var/lib/virtualbox/extensions "$pkgdir/usr/lib/virtualbox/ExtensionPacks" + install -dm755 "$pkgdir/usr/lib/virtualbox/ExtensionPacks" + + # languages + install -dm755 "$pkgdir/usr/share/virtualbox/nls" + install -m755 nls/*.qm -t "$pkgdir/usr/share/virtualbox/nls" + + # rdesktop keymaps + install -dm755 "$pkgdir/usr/share/virtualbox/rdesktop-vrdp-keymaps" + install -m644 rdesktop-vrdp-keymaps/* "$pkgdir/usr/share/virtualbox/rdesktop-vrdp-keymaps" + + # useless scripts + install -m755 VBoxCreateUSBNode.sh VBoxSysInfo.sh -t "$pkgdir/usr/share/virtualbox" + + # icons + install -Dm644 VBox.png "$pkgdir/usr/share/pixmaps/VBox.png" + + pushd icons >/dev/null + for i in *; do + install -d "$pkgdir/usr/share/icons/hicolor/$i/mimetypes" + cp $i/* "$pkgdir/usr/share/icons/hicolor/$i/mimetypes" + done + popd >/dev/null + + #desktop + install -Dm644 virtualbox.desktop "$pkgdir/usr/share/applications/virtualbox.desktop" + install -Dm644 virtualbox.xml "$pkgdir/usr/share/mime/packages/virtualbox.xml" + + #install configuration + install -dm755 "$pkgdir/etc/vbox" + echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg" + + # back to srcdir + cd "$srcdir" + + #licence + install -Dm644 VirtualBox/COPYING "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" + + # install systemd stuff + install -Dm644 60-vboxdrv.rules "$pkgdir/usr/lib/udev/rules.d/60-vboxdrv.rules" + install -Dm644 vboxweb.service "$pkgdir/usr/lib/systemd/system/vboxweb.service" + install -Dm644 virtualbox.sysusers "$pkgdir/usr/lib/sysusers.d/virtualbox.conf" + + # install module reloading shortcut (with a symlink with default helper) + install -Dm755 vboxreload "$pkgdir/usr/bin" + ln -s vboxreload "$pkgdir/usr/bin/rcvboxdrv" +} + +package_virtualbox-sdk-svn() { + _pkgname=virtualbox-sdk + pkgdesc='VirtualBox Software Developer Kit (SDK)' + depends=('python2') + provides=('virtualbox-sdk') + conflicts=('virtualbox-sdk') + + install -dm755 "$pkgdir/usr/lib/virtualbox" + + source "VirtualBox/env.sh" + cd "VirtualBox/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + + install -Dm755 vboxshell.py "$pkgdir/usr/lib/virtualbox/vboxshell.py" + # python sdk + pushd sdk/installer + VBOX_INSTALL_PATH="/usr/lib/virtualbox" python2 vboxapisetup.py install --root "$pkgdir" + popd + rm -rf sdk/installer + cp -r sdk "$pkgdir/usr/lib/virtualbox" + # licence + install -Dm644 "$srcdir/VirtualBox/COPYING" \ + "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" +} + +package_virtualbox-host-dkms-svn() { + _pkgname=virtualbox-host-dkms + pkgdesc='VirtualBox Host kernel modules sources' + depends=('dkms' 'gcc' 'make') + replaces=('virtualbox-source' + 'virtualbox-host-source' + 'virtualbox-host-modules-lts') + conflicts=('virtualbox-source' 'virtualbox-host-source' 'virtualbox-host-dkms') + provides=('VIRTUALBOX-HOST-MODULES-SVN' 'virtualbox-host-dkms') + optdepends=('linux-headers: build modules against Arch kernel' + 'linux-lts-headers: build modules against LTS kernel' + 'linux-zen-headers: build modules against ZEN kernel') + install=virtualbox-host-dkms.install + + install -dm755 "$pkgdir/usr/src" + source "VirtualBox/env.sh" + cd "VirtualBox/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + cp -r src "$pkgdir/usr/src/vboxhost-svn_OSE" + # licence + install -Dm644 "$srcdir/VirtualBox/COPYING" \ + "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" + # module loading + local _p="$pkgdir/usr/lib/modules-load.d/$_pkgname.conf" + install -Dm644 /dev/null "$_p" + printf "vboxdrv\nvboxpci\nvboxnetadp\nvboxnetflt\n" > "$_p" + # starting vbox 5.1, dkms.conf file was dropped + local _p="$pkgdir/usr/src/vboxhost-svn_OSE/dkms.conf" + install -Dm644 "$srcdir/$_pkgname.conf" "$_p" + sed -i "s,@VERSION@,svn," "$_p" +} + +package_virtualbox-guest-dkms-svn() { + _pkgname=virtualbox-guest-dkms + pkgdesc='VirtualBox Guest kernel modules sources' + depends=('dkms' 'gcc' 'make') + replaces=('virtualbox-archlinux-source' + 'virtualbox-guest-source' + 'virtualbox-guest-modules-lts') + provides=('VIRTUALBOX-GUEST-MODULES-SVN' 'virtualbox-guest-dkms') + conflicts=('virtualbox-archlinux-source' 'virtualbox-guest-source' 'virtualbox-guest-dkms') + optdepends=('linux-headers: build modules against Arch kernel' + 'linux-lts-headers: build modules against LTS kernel' + 'linux-zen-headers: build modules against ZEN kernel') + install=virtualbox-guest-dkms.install + + install -dm755 "$pkgdir/usr/src" + source "VirtualBox/env.sh" + cd "VirtualBox/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions" + cp -r src "$pkgdir/usr/src/vboxguest-svn_OSE" + # licence + install -Dm644 "$srcdir/VirtualBox/COPYING" \ + "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" + # module loading + local _p="$pkgdir/usr/lib/modules-load.d/$_pkgname.conf" + install -Dm644 /dev/null "$_p" + printf "vboxguest\nvboxsf\nvboxvideo\n" > "$_p" + # starting vbox 5.1, dkms.conf file was dropped + local _p="$pkgdir/usr/src/vboxguest-svn_OSE/dkms.conf" + install -Dm644 "$srcdir/$_pkgname.conf" "$_p" + sed -i "s,@VERSION@,svn," "$_p" +} + +package_virtualbox-guest-utils-svn() { + _pkgname=virtualbox-guest-utils + pkgdesc='VirtualBox Guest userspace utilities' + depends=('glibc' 'pam' 'libx11' 'libxcomposite' + 'libxdamage' 'libxext' 'libxfixes' 'libxmu' 'libxt' 'xorg-xrandr' + 'VIRTUALBOX-GUEST-MODULES-SVN') + replaces=('virtualbox-archlinux-additions' 'virtualbox-guest-additions') + conflicts=('virtualbox-archlinux-additions' 'virtualbox-guest-additions' 'virtualbox-guest-utils-nox' 'virtualbox-guest-utils') + provides=('virtualbox-guest-utils') + + source "VirtualBox/env.sh" + pushd "VirtualBox/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 -D "$srcdir"/VirtualBox/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + "$pkgdir"/usr/bin/VBoxClient-all + install -m644 -D "$srcdir"/VirtualBox/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + "$pkgdir"/etc/xdg/autostart/vboxclient.desktop + install -d "$pkgdir/usr/lib/xorg/modules/dri" + install -m755 VBoxOGL*.so "$pkgdir/usr/lib" + ln -s /usr/lib/VBoxOGL.so "$pkgdir/usr/lib/xorg/modules/dri/vboxvideo_dri.so" + install -m755 -D pam_vbox.so "$pkgdir/usr/lib/security/pam_vbox.so" + popd + # systemd stuff + install -Dm644 60-vboxguest.rules "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules" + install -Dm644 vboxservice.service "$pkgdir/usr/lib/systemd/system/vboxservice.service" + install -Dm644 virtualbox-guest-utils.sysusers "$pkgdir/usr/lib/sysusers.d/virtualbox-guest-utils.conf" + # licence + install -Dm644 VirtualBox/COPYING "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" +} + +package_virtualbox-guest-utils-nox-svn() { + _pkgname=virtualbox-guest-utils-nox + pkgdesc='VirtualBox Guest userspace utilities without X support' + depends=('glibc' 'pam' 'VIRTUALBOX-GUEST-MODULES-SVN') + provides=('virtualbox-guest-utils-nox') + conflicts=('virtualbox-guest-utils' 'virtualbox-guest-utils-nox') + + source "VirtualBox/env.sh" + pushd "VirtualBox/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions" + install -d "$pkgdir/usr/bin" + install -m755 VBoxControl VBoxService mount.vboxsf "$pkgdir/usr/bin" + install -m755 -D pam_vbox.so "$pkgdir/usr/lib/security/pam_vbox.so" + popd + # systemd stuff + install -Dm644 60-vboxguest.rules "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules" + install -Dm644 vboxservice-nox.service "$pkgdir/usr/lib/systemd/system/vboxservice.service" + install -Dm644 virtualbox-guest-utils.sysusers "$pkgdir/usr/lib/sysusers.d/virtualbox-guest-utils.conf" + # licence + install -Dm644 "$srcdir/VirtualBox/COPYING" \ + "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" +} + +package_virtualbox-ext-vnc-svn() { + _pkgname=virtualbox-ext-vnc + pkgdesc='VirtualBox VNC extension pack' + depends=('virtualbox' 'libvncserver') + optdepends=('tigervnc: vnc client') + provides=('virtualbox-ext-vnc') + conflicts=('virtualbox-ext-vnc') + install=virtualbox-ext-vnc.install + + source "VirtualBox/env.sh" + cd "VirtualBox/out/linux.$BUILD_PLATFORM_ARCH/release/packages" + install -Dm644 VNC-*.vbox-extpack "$pkgdir/usr/share/virtualbox/extensions/VNC-svn.vbox-extpack" + # licence + install -Dm644 "$srcdir/VirtualBox/COPYING" \ + "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" +} + +# vim:set ts=4 sw=4 et: diff --git a/build.sh b/build.sh new file mode 100755 index 000000000000..11c0aac7e228 --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +multilib-build "$@" && extra-i686-build "$@" diff --git a/vboxreload b/vboxreload new file mode 100755 index 000000000000..04b6e7b9e381 --- /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 vboxpci 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/vboxservice-nox.service b/vboxservice-nox.service new file mode 100644 index 000000000000..7204fda119b7 --- /dev/null +++ b/vboxservice-nox.service @@ -0,0 +1,11 @@ +[Unit] +Description=VirtualBox Guest Service +ConditionVirtualization=oracle + +[Service] +ExecStartPre=-/usr/bin/modprobe vboxguest +ExecStartPre=-/usr/bin/modprobe vboxsf +ExecStart=/usr/bin/VBoxService -f + +[Install] +WantedBy=multi-user.target diff --git a/vboxservice.service b/vboxservice.service new file mode 100644 index 000000000000..7e0c87f0b5fa --- /dev/null +++ b/vboxservice.service @@ -0,0 +1,12 @@ +[Unit] +Description=VirtualBox Guest Service +ConditionVirtualization=oracle + +[Service] +ExecStartPre=-/usr/bin/modprobe vboxguest +ExecStartPre=-/usr/bin/modprobe vboxvideo +ExecStartPre=-/usr/bin/modprobe vboxsf +ExecStart=/usr/bin/VBoxService -f + +[Install] +WantedBy=multi-user.target 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-ext-vnc.install b/virtualbox-ext-vnc.install new file mode 100644 index 000000000000..7dc3cedbcb80 --- /dev/null +++ b/virtualbox-ext-vnc.install @@ -0,0 +1,27 @@ +#!/bin/bash + +# arg 1: the new package version +post_install() { + EXTPACK="/usr/share/virtualbox/extensions/VNC-svn.vbox-extpack" + ACCEPT="$(bsdtar --to-stdout -xf "${EXTPACK}" ./ExtPack-license.txt | sha256sum | head --bytes=64)" + VBoxManage extpack install "${EXTPACK}" --accept-license="${ACCEPT}" >/dev/null +} + +# arg 1: the new package version +# arg 2: the old package version +pre_upgrade() { + pre_remove "$2" +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install "$1" +} + +# arg 1: the old package version +pre_remove() { + VBoxManage extpack uninstall 'VNC' >/dev/null +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/virtualbox-guest-dkms.conf b/virtualbox-guest-dkms.conf new file mode 100644 index 000000000000..3b2cb11bcc73 --- /dev/null +++ b/virtualbox-guest-dkms.conf @@ -0,0 +1,37 @@ +## @file +# Linux DKMS config script for the VirtualBox guest 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="vboxguest" +PACKAGE_VERSION=@VERSION@_OSE +AUTOINSTALL=yes + +BUILT_MODULE_NAME[0]="vboxguest" +MAKE[0]="make" +CLEAN[0]="make clean" +BUILT_MODULE_LOCATION[0]="vboxguest" +DEST_MODULE_LOCATION[0]="/kernel/misc" + +BUILT_MODULE_NAME[1]="vboxsf" +MAKE[1]="make" +CLEAN[1]="make clean" +BUILT_MODULE_LOCATION[1]="vboxsf" +DEST_MODULE_LOCATION[1]="/kernel/misc" + +BUILT_MODULE_NAME[2]="vboxvideo" +MAKE[2]="make" +CLEAN[2]="make clean" +BUILT_MODULE_LOCATION[2]="vboxvideo" +DEST_MODULE_LOCATION[2]="/kernel/misc" diff --git a/virtualbox-guest-dkms.install b/virtualbox-guest-dkms.install new file mode 100644 index 000000000000..b82d87b5e467 --- /dev/null +++ b/virtualbox-guest-dkms.install @@ -0,0 +1,15 @@ +#!/bin/bash + +# arg 1: the new package version +# arg 2: the old package version +pre_upgrade() { + dkms remove vboxguest/svn_OSE --all +} +post_upgrade() { + if (( $(vercmp $2 5.0.16-3) < 0 )); then + echo '==> Since version 5.0.16-2 kernel modules are loaded at boot by systemd-modules-load.' + echo '==> Read modules-load.d man page to disable them.' + fi +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/virtualbox-guest-utils.sysusers b/virtualbox-guest-utils.sysusers new file mode 100644 index 000000000000..12453ad8b923 --- /dev/null +++ b/virtualbox-guest-utils.sysusers @@ -0,0 +1 @@ +g vboxsf 109 - diff --git a/virtualbox-host-dkms.conf b/virtualbox-host-dkms.conf new file mode 100644 index 000000000000..f00a1f49d982 --- /dev/null +++ b/virtualbox-host-dkms.conf @@ -0,0 +1,43 @@ +## @file +# Linux DKMS config script for the VirtualBox guest 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=@VERSION@_OSE +AUTOINSTALL=yes + +BUILT_MODULE_NAME[0]="vboxdrv" +MAKE[0]="make" +CLEAN[0]="make clean" +BUILT_MODULE_LOCATION[0]="vboxdrv" +DEST_MODULE_LOCATION[0]="/kernel/misc" + +BUILT_MODULE_NAME[1]="vboxnetflt" +MAKE[1]="make" +CLEAN[1]="make clean" +BUILT_MODULE_LOCATION[1]="vboxnetflt" +DEST_MODULE_LOCATION[1]="/kernel/misc" + +BUILT_MODULE_NAME[2]="vboxnetadp" +MAKE[2]="make" +CLEAN[2]="make clean" +BUILT_MODULE_LOCATION[2]="vboxnetadp" +DEST_MODULE_LOCATION[2]="/kernel/misc" + +BUILT_MODULE_NAME[3]="vboxpci" +MAKE[3]="make" +CLEAN[3]="make clean" +BUILT_MODULE_LOCATION[3]="vboxpci" +DEST_MODULE_LOCATION[3]="/kernel/misc" diff --git a/virtualbox-host-dkms.install b/virtualbox-host-dkms.install new file mode 100644 index 000000000000..c6934b6388c8 --- /dev/null +++ b/virtualbox-host-dkms.install @@ -0,0 +1,15 @@ +#!/bin/bash + +# arg 1: the new package version +# arg 2: the old package version +pre_upgrade() { + dkms remove vboxhost/svn_OSE --all +} +post_upgrade() { + if (( $(vercmp $2 5.0.16-3) < 0 )); then + echo '==> Since version 5.0.16-2 kernel modules are loaded at boot by systemd-modules-load.' + echo '==> Read modules-load.d man page to disable them.' + fi +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/virtualbox.install b/virtualbox.install new file mode 100644 index 000000000000..ca39579b2a73 --- /dev/null +++ b/virtualbox.install @@ -0,0 +1,12 @@ +#!/bin/bash + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + if (( $(vercmp $2 5.0.16-1) < 0 )); then + echo '==> Since version 5.0.14-2 kernel modules are provided via dkms' + echo '==> Check you have the headers matching your kernel installed' + fi +} + +# vim:set ts=2 sw=2 ft=sh et: 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 - |