Merge pull request #455 from lrusak/virtual

Virtual project updates
This commit is contained in:
CvH 2016-06-16 09:16:37 +02:00 committed by GitHub
commit 3fb896a3b8
24 changed files with 323 additions and 103 deletions

View File

@ -22,7 +22,9 @@ PKG_REV="1"
PKG_ARCH="x86_64"
PKG_LICENSE="GPL"
PKG_SITE="http://www.virtualbox.org"
PKG_DEPENDS_TARGET="toolchain linux xf86-video-virtualbox"
PKG_URL="http://download.virtualbox.org/virtualbox/$PKG_VERSION/VirtualBox-$PKG_VERSION.tar.bz2"
PKG_SOURCE_DIR="VirtualBox-$PKG_VERSION"
PKG_DEPENDS_TARGET="toolchain linux"
PKG_NEED_UNPACK="$LINUX_DEPENDS"
PKG_PRIORITY="optional"
PKG_SECTION="driver"
@ -32,16 +34,26 @@ PKG_LONGDESC="vboxguest"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_make_target() {
unset LDFLAGS
pre_configure_target() {
# Create and unpack a tarball with the sources of the Linux guest
# kernel modules, to include all the needed files
mkdir -p $ROOT/$PKG_BUILD/vbox-kmod
$ROOT/$PKG_BUILD/src/VBox/Additions/linux/export_modules $ROOT/$PKG_BUILD/vbox-kmod/vbox-kmod.tar.gz
tar -xf $ROOT/$PKG_BUILD/vbox-kmod/vbox-kmod.tar.gz -C $ROOT/$PKG_BUILD/vbox-kmod
}
configure_target() {
:
}
make_target() {
cd $(get_build_dir xf86-video-virtualbox)/src/${PKG_NAME}-${PKG_VERSION}/
cd $ROOT/$PKG_BUILD/vbox-kmod
make KERN_DIR=$(kernel_path)
}
makeinstall_target() {
mkdir -p $INSTALL/lib/modules/$(get_module_dir)/$PKG_NAME
cp *.ko $INSTALL/lib/modules/$(get_module_dir)/$PKG_NAME
for module in vboxguest vboxsf vboxvideo; do
mkdir -p $INSTALL/lib/modules/$(get_module_dir)/$module
cp -P $ROOT/$PKG_BUILD/vbox-kmod/$module.ko $INSTALL/lib/modules/$(get_module_dir)/$module
done
}

View File

@ -1,2 +0,0 @@
# load vmxnet kernel module
vmxnet

View File

@ -33,8 +33,6 @@ PKG_LONGDESC="open-vm-tools: open source implementation of VMware Tools"
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
OPENVMTOOLS_KERNEL_VER=$(basename $(ls -d $ROOT/$BUILD/linux-[0-9]*)| sed 's|linux-||g')
PKG_CONFIGURE_OPTS_TARGET="--disable-docs \
--disable-tests \
--disable-deploypkg \
@ -57,15 +55,15 @@ pre_configure_target() {
export LIBS="-ldnet"
}
makeinstall_target() {
mkdir -p $INSTALL/usr/lib
cp -PR libvmtools/.libs/libvmtools.so* $INSTALL/usr/lib
post_makeinstall_target() {
rm -rf $INSTALL/sbin
rm -rf $INSTALL/usr/share
rm -rf $INSTALL/etc/vmware-tools/scripts/vmware/network
mkdir -p $INSTALL/usr/bin
cp -PR services/vmtoolsd/.libs/vmtoolsd $INSTALL/usr/bin
cp -PR checkvm/.libs/vmware-checkvm $INSTALL/usr/bin
find $INSTALL/etc/vmware-tools/ -type f | xargs sed -i '/.*expr.*/d'
}
post_install() {
enable_service open-vm-tools.service
enable_service vmtoolsd.service
enable_service vmware-vmblock-fuse.service
}

View File

@ -1,15 +0,0 @@
[Unit]
Description=OpenVMTools Server
After=xorg-server.service
ConditionPathExists=/usr/bin/vmware-checkvm
ConditionPathExists=/usr/bin/vmtoolsd
[Service]
Type=forking
PIDFile=/var/run/vmtoolsd.pid
ExecStart=-/bin/sh -c '/usr/bin/vmware-checkvm && /usr/bin/vmtoolsd --background /var/run/vmtoolsd.pid'
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=graphical.target

View File

@ -0,0 +1,9 @@
[Unit]
Description=Open Virtual Machine Tools (VMware Tools)
ConditionVirtualization=vmware
[Service]
ExecStart=/usr/bin/vmtoolsd
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,12 @@
[Unit]
Description=Open Virtual Machine Tools (vmware-vmblock-fuse)
ConditionVirtualization=vmware
[Service]
Type=simple
RuntimeDirectory=vmblock-fuse
RuntimeDirectoryMode=755
ExecStart=/usr/bin/vmware-vmblock-fuse -d -f -o subtype=vmware-vmblock,default_permissions,allow_other /run/vmblock-fuse
[Install]
WantedBy=multi-user.target

View File

@ -1,31 +0,0 @@
Section "Device"
Identifier "Configured Video Device"
Driver "vboxvideo"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "InputDevice"
Identifier "vboxmouse"
Driver "vboxmouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen" 0 0
InputDevice "vboxmouse"
EndSection

View File

@ -1,2 +0,0 @@
# load vboxvideo kernel module
vboxvideo

View File

@ -22,8 +22,9 @@ PKG_REV="1"
PKG_ARCH="x86_64"
PKG_LICENSE="OSS"
PKG_SITE="http://www.virtualbox.org"
PKG_URL="${DISTRO_SRC}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain libXcomposite libXdamage libXfixes libXext libX11 libxcb libXau"
PKG_URL="http://download.virtualbox.org/virtualbox/$PKG_VERSION/VirtualBox-$PKG_VERSION.tar.bz2"
PKG_SOURCE_DIR="VirtualBox-$PKG_VERSION"
PKG_DEPENDS_TARGET="toolchain libXcomposite libXdamage libXfixes libXext libX11 libxcb libXau libXmu"
PKG_PRIORITY="optional"
PKG_SECTION="x11/driver"
PKG_SHORTDESC="xf86-video-virtualbox: The Xorg driver for virtualbox video"
@ -32,20 +33,51 @@ PKG_LONGDESC="xf86-video-virtualbox: The Xorg driver for virtualbox video"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
# let's use our sysroot instead
for include in x11 xorg pixman-1; do
sed -i "s| \(/usr/include/${include}\)| ${SYSROOT_PREFIX}\1|" $ROOT/$PKG_BUILD/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
done
}
configure_target() {
cd $ROOT/$PKG_BUILD
./configure --nofatal \
--disable-xpcom \
--disable-sdl-ttf \
--disable-pulse \
--disable-alsa \
--with-gcc=$CC \
--with-g++=$CXX \
--target-arch=amd64 \
--with-linux=$(kernel_path) \
--build-headless
}
make_target() {
: # nothing todo
. env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
kmk TOOL_YASM_AS=yasm \
VBOX_USE_SYSTEM_XORG_HEADERS=1 \
KBUILD_PATH="$ROOT/$PKG_BUILD/kBuild" \
KBUILD_VERBOSE=2
}
makeinstall_target() {
mkdir -p $INSTALL/$XORG_PATH_MODULES/drivers
cp -P lib/VBoxGuestAdditions/vboxvideo_drv_118.so $INSTALL/$XORG_PATH_MODULES/drivers/vboxvideo_drv.so
mkdir -p $INSTALL/usr/sbin
cp -P $ROOT/$PKG_BUILD/out/linux.amd64/release/bin/additions/VBoxService $INSTALL/usr/sbin/vboxguest-service
cp -P $ROOT/$PKG_BUILD/out/linux.amd64/release/bin/additions/mount.vboxsf $INSTALL/usr/sbin
mkdir -p $INSTALL/usr/lib/dri
cp -P lib/VBoxOGL.so $INSTALL/usr/lib/dri/vboxvideo_dri.so
mkdir -p $INSTALL/usr/lib
cp -aP lib/* $INSTALL/usr/lib
mkdir -p $INSTALL/etc/X11
cp $PKG_DIR/config/*.conf $INSTALL/etc/X11
mkdir -p $INSTALL/usr/bin
cp -P $ROOT/$PKG_BUILD/out/linux.amd64/release/bin/additions/VBoxControl $INSTALL/usr/bin
cp -P $ROOT/$PKG_BUILD/out/linux.amd64/release/bin/additions/VBoxClient $INSTALL/usr/bin
}
post_install() {
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
add_group vboxsf 300
enable_service virtualbox-display.service
enable_service virtualbox-guest-additions.service
}

View File

@ -0,0 +1,52 @@
--- VirtualBox-5.0.0_BETA3/configure
+++ VirtualBox-5.0.0_BETA3/configure
@@ -1258,10 +1258,7 @@
XCloseDisplay(dpy);
}
EOF
- [ -n "$INCX11" ] && I_INCX11=`prefix_I "$INCX11"`
- if test_compile "$LIBX11 $I_INCX11" Xlibs Xlibs; then
- log_success "found"
- fi
+ test_compile "$LIBX11 $I_INCX11" Xlibs Xlibs
}
@@ -1415,21 +1412,6 @@
#include <GL/glu.h>
extern "C" int main(void)
{
- Display *dpy;
- int major, minor;
-
- dpy = XOpenDisplay(NULL);
- if (dpy)
- {
- Bool glx_version = glXQueryVersion(dpy, &major, &minor);
- XCloseDisplay(dpy);
- if (glx_version)
- {
- printf("found version %u.%u, OK.\n", major, minor);
- return 0;
- }
- }
- printf("found (inactive), OK.\n");
return 0;
}
EOF
@@ -2706,7 +2688,6 @@
# don't check for yasm for the time beeing as 0.40 and 0.50 both have known bugs
# [ "$OS" != "darwin" ] && check_yasm
[ "$OS" != "darwin" ] && check_xsltproc
- [ "$OS" != "darwin" ] && check_mkisofs
fi
# the libraries
@@ -2774,7 +2755,6 @@
check_compiler_h
[ $ONLY_ADDITIONS -eq 0 -a "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit
# tools/common/makeself*
- [ $OSE -ge 1 ] && check_makeself
fi
[ -n "$SETUP_WINE" ] && setup_wine

View File

@ -0,0 +1,13 @@
--- a/configure
+++ b/configure
@@ -1955,8 +1955,8 @@
HEADLESS=1
WITH_SDL=0
WITH_SDL_TTF=0
- WITH_X11=0
- WITH_OPENGL=0
+ WITH_X11=1
+ WITH_OPENGL=1
WITH_QT4=0
;;
--ose)

View File

@ -0,0 +1,11 @@
--- a/src/VBox/Additions/linux/drm/Makefile.module.kms 2016-04-28 09:08:06.000000000 -0400
+++ b/src/VBox/Additions/linux/drm/Makefile.module.kms 2016-05-03 15:11:22.134971872 -0400
@@ -38,7 +38,7 @@
MANGLING := $(KBUILD_EXTMOD)/include/VBox/VBoxGuestMangling.h
endif
MOD_CFLAGS = -Wno-declaration-after-statement -fshort-wchar -include $(MANGLING)
-MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include)
+MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
# What on earth is this?
MOD_INCL += $(addprefix -I$(KBUILD_EXTMOD)/vboxvideo,/ /include)
MOD_INCL += -Iinclude/drm

View File

@ -0,0 +1,35 @@
diff -Naur a/LocalConfig.kmk b/LocalConfig.kmk
--- a/LocalConfig.kmk 1969-12-31 16:00:00.000000000 -0800
+++ b/LocalConfig.kmk 2016-06-10 12:12:55.192544196 -0700
@@ -0,0 +1,31 @@
+# -*- Makefile -*-
+#
+# Overwrite some default kBuild settings
+#
+
+#
+# Copyright (C) 2006-2008 Sun Microsystems, Inc.
+#
+# 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 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.
+#
+
+# don't build testcases to save time, they are not needed for the package
+VBOX_WITH_TESTCASES :=
+VBOX_WITH_VALIDATIONKIT :=
+
+KBUILD_MSG_STYLE := brief
+
+## paths, origin, hardening
+VBOX_WITH_HARDENING := 0
+VBOX_WITH_ORIGIN :=
+VBOX_ONLY_ADDITIONS := 1
+
+TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.release =
+TEMPLATE_VBOXGUESTR3XORGMOD_LDFLAGS = $(TEMPLATE_VBOXGUESTR3DLL_LDFLAGS)
+

View File

@ -0,0 +1,18 @@
diff -Naur a/src/VBox/Additions/common/crOpenGL/Makefile.kmk b/src/VBox/Additions/common/crOpenGL/Makefile.kmk
--- a/src/VBox/Additions/common/crOpenGL/Makefile.kmk 2016-04-28 06:08:03.000000000 -0700
+++ b/src/VBox/Additions/common/crOpenGL/Makefile.kmk 2016-06-10 14:13:21.014010384 -0700
@@ -214,10 +214,10 @@
if1of ($(KBUILD_TARGET), linux solaris freebsd)
VBoxOGL_LIBS += \
- $(PATH_STAGE_LIB)/libXcomposite.so \
- $(PATH_STAGE_LIB)/libXdamage.so \
- $(PATH_STAGE_LIB)/libXfixes.so \
- $(PATH_STAGE_LIB)/libXext.so
+ Xcomposite \
+ Xdamage \
+ Xfixes \
+ Xext
ifdef VBoxOGL_FAKEDRI
ifeq ($(KBUILD_TARGET), freebsd)
VBoxOGL_LIBS += \

View File

@ -0,0 +1,14 @@
diff -Naur a/Config.kmk b/Config.kmk
--- a/Config.kmk 2016-04-28 06:07:46.000000000 -0700
+++ b/Config.kmk 2016-06-12 12:58:09.503823599 -0700
@@ -428,10 +428,6 @@
if1of ($(KBUILD_TARGET), linux solaris)
VBOX_WITH_DBUS = 1
endif
-# Enable building PAM modules.
-if1of ($(KBUILD_TARGET), linux solaris)
- VBOX_WITH_PAM = 1
-endif
# Disable WINMM support for Windows (not implemented).
VBOX_WITH_WINMM =
# Enable internal networking.

View File

@ -0,0 +1,51 @@
diff -Naur a/Config.kmk b/Config.kmk
--- a/Config.kmk 2016-04-28 06:07:46.000000000 -0700
+++ b/Config.kmk 2016-06-12 14:11:25.638509165 -0700
@@ -622,8 +622,6 @@
endif
# Enable shared folders
VBOX_WITH_SHARED_FOLDERS = 1
-# Enable shared clipboard
-VBOX_WITH_SHARED_CLIPBOARD = 1
# Enable the host/guest information service (aka guest properties).
VBOX_WITH_GUEST_PROPS = 1
# Enable this to prevent the guest from writing guest properties.
diff -Naur a/src/VBox/Additions/x11/VBoxClient/main.cpp b/src/VBox/Additions/x11/VBoxClient/main.cpp
--- a/src/VBox/Additions/x11/VBoxClient/main.cpp 2016-04-28 06:08:08.000000000 -0700
+++ b/src/VBox/Additions/x11/VBoxClient/main.cpp 2016-06-12 14:40:00.163521913 -0700
@@ -167,7 +167,6 @@
"--seamless|check3d [-d|--nodaemon]\n", pcszFileName);
RTPrintf("Starts the VirtualBox X Window System guest services.\n\n");
RTPrintf("Options:\n");
- RTPrintf(" --clipboard starts the shared clipboard service\n");
#ifdef VBOX_WITH_DRAG_AND_DROP
RTPrintf(" --draganddrop starts the drag and drop service\n");
#endif
@@ -228,12 +227,6 @@
{
fRespawn = false;
}
- else if (!strcmp(argv[i], "--clipboard"))
- {
- if (g_pService)
- break;
- g_pService = VBClGetClipboardService();
- }
else if (!strcmp(argv[i], "--display"))
{
if (g_pService)
diff -Naur a/src/VBox/Additions/x11/VBoxClient/Makefile.kmk b/src/VBox/Additions/x11/VBoxClient/Makefile.kmk
--- a/src/VBox/Additions/x11/VBoxClient/Makefile.kmk 2016-04-28 06:08:08.000000000 -0700
+++ b/src/VBox/Additions/x11/VBoxClient/Makefile.kmk 2016-06-12 14:39:25.451177811 -0700
@@ -31,10 +31,7 @@
VBoxClient_DEFS.linux += _GNU_SOURCE
VBoxClient_SOURCES = \
main.cpp
-VBoxClient_SOURCES += \
- $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/clipboard-helper.cpp \
- $(PATH_ROOT)/src/VBox/GuestHost/SharedClipboard/x11-clipboard.cpp \
- clipboard.cpp
+VBoxClient_SOURCES +=
VBoxClient_LIBPATH = \
$(VBOX_LIBPATH32_X11)
VBoxClient_LIBS.freebsd = \

View File

@ -0,0 +1,13 @@
[Unit]
Description=VirtualBox Client Display Daemon
ConditionVirtualization=oracle
After=systemd-modules-load.service
[Service]
Environment=DISPLAY=:0.0
ExecStart=/usr/bin/VBoxClient --display --nodaemon
Restart=on-failure
RestartSec=2
[Install]
WantedBy=graphical.target

View File

@ -0,0 +1,16 @@
[Unit]
Description=VirtualBox Guest Additions
ConditionVirtualization=oracle
Before=graphical.target
[Service]
Type=simple
ExecStartPre=/sbin/modprobe vboxguest
ExecStartPre=/sbin/modprobe vboxsf
ExecStart=/usr/sbin/vboxguest-service --foreground
ExecStopPost=/sbin/modprobe -r vboxsf
ExecStopPost=/sbin/modprobe -r vboxguest
PIDFile=/var/run/vboxguest-service.pid
[Install]
WantedBy=multi-user.target

View File

@ -1,3 +0,0 @@
# load vmwgfx kernel module
vmwgfx

View File

@ -32,12 +32,7 @@ PKG_LONGDESC="X Composite Library"
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
SHARED_SUPPORT="--disable-shared"
if [ "$PROJECT" = "Virtual" ]; then
SHARED_SUPPORT="--enable-shared"
fi
PKG_CONFIGURE_OPTS_TARGET="--enable-static $SHARED_SUPPORT"
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"

View File

@ -32,12 +32,7 @@ PKG_LONGDESC="LibXdamage provides an X Window System client interface to the DAM
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
SHARED_SUPPORT="--disable-shared"
if [ "$PROJECT" = "Virtual" ]; then
SHARED_SUPPORT="--enable-shared"
fi
PKG_CONFIGURE_OPTS_TARGET="--enable-static $SHARED_SUPPORT"
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"

View File

@ -32,12 +32,7 @@ PKG_LONGDESC="X Fixes Library"
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
SHARED_SUPPORT="--disable-shared"
if [ "$PROJECT" = "Virtual" ]; then
SHARED_SUPPORT="--enable-shared"
fi
PKG_CONFIGURE_OPTS_TARGET="--enable-static $SHARED_SUPPORT"
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"

View File

@ -25,7 +25,7 @@ GOTO="end_video"
# check for drivers dont use the pci substem
LABEL="subsystem_drivers"
KERNEL=="vboxvideo", ENV{xorg_driver}="vboxvideo", TAG+="systemd", ENV{SYSTEMD_WANTS}+="xorg-configure@vboxvideo.service"
KERNEL=="vboxvideo", ENV{xorg_driver}="modesetting", TAG+="systemd", ENV{SYSTEMD_WANTS}+="xorg-configure@vboxvideo.service"
KERNEL=="vmwgfx", ENV{xorg_driver}="vmware", TAG+="systemd", ENV{SYSTEMD_WANTS}+="xorg-configure@vmware.service"
GOTO="end_video"

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.6.0-rc5 Kernel Configuration
# Linux/x86 4.6.2 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@ -3092,7 +3092,8 @@ CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
# CONFIG_DRM_VGEM is not set
# CONFIG_DRM_VMWGFX is not set
CONFIG_DRM_VMWGFX=y
CONFIG_DRM_VMWGFX_FBCON=y
# CONFIG_DRM_GMA500 is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_AST is not set
@ -3130,6 +3131,7 @@ CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set