From 442be48c239ada481523e5ff3198751074a7e423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Wed, 30 Dec 2015 22:27:37 +0200 Subject: [PATCH] virtualbox no-gui --- hardware/virtualization/virtualbox/actions.py | 119 ++++++++ .../virtualbox/comar/package.py | 13 + .../files/002-dri-driver-path.patch | 28 ++ .../files/003-ogl-include-path.patch | 26 ++ .../virtualbox/files/004-xorg.patch | 217 +++++++++++++ .../virtualbox/files/005-gsoap-build.patch | 11 + .../files/006-rdesktop-vrdp-keymap-path.patch | 12 + .../virtualbox/files/008-root-window.patch | 19 ++ .../virtualbox/files/60-vboxdrv.rules | 8 + .../virtualbox/files/60-vboxguest.rules | 2 + .../virtualbox/files/LocalConfig.kmk | 21 ++ .../virtualbox/files/desktop-file.patch | 17 ++ .../virtualbox/files/fix-tr-keyboard.patch | 13 + .../virtualbox/files/vboxclient.sh | 2 + .../virtualbox/files/vboxreload | 40 +++ .../files/virtualbox-4-makeself-check.patch | 10 + hardware/virtualization/virtualbox/pspec.xml | 289 ++++++++++++++++++ .../virtualbox/translations.xml | 13 + 18 files changed, 860 insertions(+) create mode 100644 hardware/virtualization/virtualbox/actions.py create mode 100644 hardware/virtualization/virtualbox/comar/package.py create mode 100644 hardware/virtualization/virtualbox/files/002-dri-driver-path.patch create mode 100644 hardware/virtualization/virtualbox/files/003-ogl-include-path.patch create mode 100644 hardware/virtualization/virtualbox/files/004-xorg.patch create mode 100644 hardware/virtualization/virtualbox/files/005-gsoap-build.patch create mode 100644 hardware/virtualization/virtualbox/files/006-rdesktop-vrdp-keymap-path.patch create mode 100644 hardware/virtualization/virtualbox/files/008-root-window.patch create mode 100644 hardware/virtualization/virtualbox/files/60-vboxdrv.rules create mode 100644 hardware/virtualization/virtualbox/files/60-vboxguest.rules create mode 100644 hardware/virtualization/virtualbox/files/LocalConfig.kmk create mode 100644 hardware/virtualization/virtualbox/files/desktop-file.patch create mode 100644 hardware/virtualization/virtualbox/files/fix-tr-keyboard.patch create mode 100644 hardware/virtualization/virtualbox/files/vboxclient.sh create mode 100644 hardware/virtualization/virtualbox/files/vboxreload create mode 100644 hardware/virtualization/virtualbox/files/virtualbox-4-makeself-check.patch create mode 100644 hardware/virtualization/virtualbox/pspec.xml create mode 100644 hardware/virtualization/virtualbox/translations.xml diff --git a/hardware/virtualization/virtualbox/actions.py b/hardware/virtualization/virtualbox/actions.py new file mode 100644 index 0000000000..86822e20ed --- /dev/null +++ b/hardware/virtualization/virtualbox/actions.py @@ -0,0 +1,119 @@ +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import pythonmodules +from pisi.actionsapi import kerneltools + +VBoxLibDir = "/usr/lib/virtualbox" +VBoxDataDir = "/usr/share/virtualbox" +KDIR = kerneltools.getKernelVersion() + +def setup(): + #pisitools.dosed("LocalConfig.kmk", "__VBOXLIBDIR__", VBoxLibDir) + #pisitools.dosed("LocalConfig.kmk", "__VBOXDATADIR__", VBoxDataDir) + + shelltools.echo("vbox.cfg", "INSTALL_DIR=%s" % VBoxLibDir) + + # TODO: Enable web service when we have soapcpp2 + autotools.rawConfigure("\ + --with-makeself=/usr/bin/echo \ + --disable-docs \ + --disable-qt \ + --enable-vde \ + --enable-vnc \ + --enable-webservice \ + --with-linux=/usr/src/linux-headers-%s \ + --with-gcc=%s \ + --with-g++=%s \ + " % (KDIR, get.CC(), get.CXX())) + +def build(): + shelltools.system("source %s/env.sh && kmk" % get.curDIR()) + +def install(): + shelltools.system("awk '$1 ~ /Version:/ { print gensub(/([0-9]+)\.([0-9]+).*/, \"\\\\1\\\\2\", \"g\", $2) }' /usr/lib/pkgconfig/xorg-server.pc > XorgVersion") + with open("XorgVersion", "r") as f: + XorgVersion = f.readline().strip() + pisitools.insinto("/etc/vbox", "vbox.cfg") + shelltools.chmod("src/VBox/Additions/x11/Installer/98vboxadd-xclient", 0755) + pisitools.insinto("/usr/bin", "src/VBox/Additions/x11/Installer/98vboxadd-xclient", "VBoxClient-all") + #pisitools.insinto("/lib/udev/rules.d", "src/VBox/Additions/linux/installer/70-xorg-vboxmouse.rules") + pisitools.insinto("/usr/share/X11/pci", "src/VBox/Additions/x11/Installer/vboxvideo.ids") + #pisitools.insinto("/usr/share/X11/xorg.conf.d", "src/VBox/Additions/x11/Installer/50-vboxmouse.conf") + + arch = "amd64" if get.ARCH() == "x86_64" else "x86" + shelltools.cd("out/linux.%s/release/bin" % arch) + + # libraries installation. The files below are unnecessary files. + # TODO: change loop and make it more discrete (i.e copying each single file) + exclude = ("additions", "icons", "nls", "scm", "sdk", "src", "SUP", "vboxkeyboard", + "VBox.sh", "VBoxSysInfo.sh", "VBoxCreateUSBNode.sh", "VBoxTunctl", "testcase", "tst", "xpidl") + + for _file in shelltools.ls("."): + if _file.startswith(exclude): + continue + + print "Installing %s ..." % _file + pisitools.insinto(VBoxLibDir, _file) + + pisitools.dobin("VBox*.sh", VBoxDataDir) +# pisitools.insinto(VBoxDataDir, "nls") + + # TODO: Add vboxwebsrv when ready + # Binaries and Wrapper with Launchers + apps = ("VBoxHeadless", "VBoxManage", "VBoxSDL", "VBoxVRDP", "VirtualBox", "VBoxBalloonCtrl") + for link in apps: + pisitools.dosym("../share/virtualbox/VBox.sh", "/usr/bin/%s" % link) + + pisitools.dobin("VBoxTunctl") + + # Desktop file, mimetype file for xml and icon + #pisitools.domove("%s/*.desktop" % VBoxLibDir, "/usr/share/applications") + pisitools.domove("%s/*.png" % VBoxLibDir, "/usr/share/pixmaps") + pisitools.domove("%s/*.xml" % VBoxLibDir, "/usr/share/mime/packages") + + # Mimetypes icons + for size in ["16", "20", "24", "32", "48", "64", "72", "96", "128", "256"]: + pisitools.insinto("/usr/share/icons/hicolor/%sx%s/mimetypes" % (size, size), + "icons/%sx%s/*.png" % (size, size)) + + # Guest additions + pisitools.dobin("additions/VBoxClient") + pisitools.dobin("additions/VBoxControl") + + pisitools.dosbin("additions/VBoxService") + pisitools.dosbin("additions/mount.vboxsf", "/sbin") + + pisitools.insinto("/lib/security", "additions/pam_vbox.so") + + pisitools.dolib("additions/VBoxOGL*") + pisitools.dosym("../../../VBoxOGL.so", "/usr/lib/xorg/modules/dri/vboxvideo_dri.so") + + pisitools.insinto("/usr/lib/xorg/modules/drivers", "additions/vboxvideo_drv_%s.so" % XorgVersion, "vboxvideo_drv.so") + #pisitools.insinto("/usr/lib/xorg/modules/input", "additions/vboxmouse_drv_%s.so" % XorgVersion, "vboxmouse_drv.so") + + # Python bindings + pisitools.insinto("%s/sdk/bindings/xpcom" % VBoxLibDir, "sdk/bindings/xpcom/python") + + shelltools.cd("sdk/installer") + shelltools.copy("vboxapisetup.py", "setup.py") + shelltools.export("VBOX_INSTALL_PATH", VBoxLibDir) + pythonmodules.install() + + shelltools.cd("../..") + mvb_name = "module-virtualbox-%s" % get.srcVERSION() + mvbg_name = "module-virtualbox-guest-%s" % get.srcVERSION() + + shelltools.copy("src", "%s/%s" % (get.workDIR(), mvb_name)) + shelltools.copy("additions/src", "%s/%s" % (get.workDIR(), mvbg_name)) + shelltools.cd(get.workDIR()) + shelltools.system("tar c %s | xz -9 > %s.tar.xz" % ((mvb_name, )*2)) + shelltools.unlinkDir(mvb_name) + shelltools.system("tar c %s | xz -9 > %s.tar.xz" % ((mvbg_name, )*2)) + shelltools.unlinkDir(mvbg_name) diff --git a/hardware/virtualization/virtualbox/comar/package.py b/hardware/virtualization/virtualbox/comar/package.py new file mode 100644 index 0000000000..1477f975bf --- /dev/null +++ b/hardware/virtualization/virtualbox/comar/package.py @@ -0,0 +1,13 @@ +#/usr/bin/python +# -*- coding: utf-8 -*- + +import os + +files = ("VBoxHeadless", "VBoxNetAdpCtl", "VBoxNetDHCP", "VBoxSDL", "VirtualBox") +vboxgroup = "vboxusers" + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + for _file in files: + f = "/usr/lib/virtualbox/%s" % _file + os.system("/bin/chown :%s %s" % (vboxgroup, f)) + os.chmod(f, 04510) diff --git a/hardware/virtualization/virtualbox/files/002-dri-driver-path.patch b/hardware/virtualization/virtualbox/files/002-dri-driver-path.patch new file mode 100644 index 0000000000..777e8e73b8 --- /dev/null +++ b/hardware/virtualization/virtualbox/files/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/hardware/virtualization/virtualbox/files/003-ogl-include-path.patch b/hardware/virtualization/virtualbox/files/003-ogl-include-path.patch new file mode 100644 index 0000000000..7f319ec76d --- /dev/null +++ b/hardware/virtualization/virtualbox/files/003-ogl-include-path.patch @@ -0,0 +1,26 @@ +--- a/src/VBox/Additions/common/crOpenGL/Makefile.kmk 2013-03-19 18:55:28.774951223 +0000 ++++ b/src/VBox/Additions/common/crOpenGL/Makefile.kmk 2013-03-19 18:58:06.337193736 +0000 +@@ -63,18 +63,12 @@ + VBoxOGL_INCS = . + if1of ($(KBUILD_TARGET), linux solaris freebsd) + 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_MESA_INCS) \ +- $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13 ++ /usr/include/drm \ ++ /usr/include/libdrm + VBoxOGL_DEFS += VBOX_NO_NATIVEGL + endif + diff --git a/hardware/virtualization/virtualbox/files/004-xorg.patch b/hardware/virtualization/virtualbox/files/004-xorg.patch new file mode 100644 index 0000000000..788f16a687 --- /dev/null +++ b/hardware/virtualization/virtualbox/files/004-xorg.patch @@ -0,0 +1,217 @@ +--- a/src/VBox/Additions/common/VBoxGuestLib/Makefile.km 2013-09-04 21:03:47.334749420 +0200 ++++ b/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk 2013-10-21 00:06:36.418245968 +0200 +@@ -40,8 +40,8 @@ + VBoxGuestR3LibShared + ifndef VBOX_ONLY_TESTSUITE + if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd) +- LIBRARIES += \ +- VBoxGuestR3LibXFree86 ++# LIBRARIES += \ ++# VBoxGuestR3LibXFree86 + endif + endif + LIBRARIES.win.amd64 += VBoxGuestR3Lib-x86 VBoxGuestR3LibShared-x86 + +--- a/src/VBox/Additions/x11/Makefile.kmk 2013-03-19 18:55:28.974949837 +0000 ++++ b/src/VBox/Additions/x11/Makefile.kmk 2013-03-19 18:56:00.468064457 +0000 +@@ -17,6 +17,10 @@ + SUB_DEPTH = ../../../.. + include $(KBUILD_PATH)/subheader.kmk + ++ifn1of ($(XSERVER_VERSION), 13 14 15 16 17 18 19 110 111) ++ XSERVER_VERSION := 17 ++endif ++ + # Include sub-makefiles. + if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris) + include $(PATH_SUB_CURRENT)/VBoxClient/Makefile.kmk + +--- a/src/VBox/Additions/x11/vboxmouse/Makefile.kmk 2013-03-19 18:55:28.818284256 +0000 ++++ b/src/VBox/Additions/x11/vboxmouse/Makefile.kmk 2013-03-19 18:56:00.468064457 +0000 +@@ -29,7 +29,6 @@ + # vboxmouse_drv + # + if1of ($(KBUILD_TARGET), linux) +- SYSMODS += vboxmouse_drv + vboxmouse_drv_TEMPLATE = VBOXGUESTR3XF86MOD + vboxmouse_drv_DEFS.linux = linux + vboxmouse_drv_DEFS.x86 += __i386__ +@@ -69,7 +68,6 @@ + # + # vboxmouse_drv_70 + # +-DLLS += vboxmouse_drv_70 + vboxmouse_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_70_DEFS = \ + XFree86Server IN_MODULE XFree86Module XFree86LOADER XINPUT XORG_7X IN_XF86_MODULE DONT_DEFINE_WRAPPERS NO_ANSIC +@@ -85,7 +83,6 @@ + # + # vboxmouse_drv_71 + # +-DLLS += vboxmouse_drv_71 + vboxmouse_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_71_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_71_INCS := \ +@@ -100,7 +97,6 @@ + # + # vboxmouse_drv_13 + # +-DLLS += vboxmouse_drv_13 + vboxmouse_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_13_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_13_INCS := \ +@@ -114,7 +110,6 @@ + # + # vboxmouse_drv_14 + # +-DLLS += vboxmouse_drv_14 + vboxmouse_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_14_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_14_INCS := \ +@@ -128,7 +123,6 @@ + # + # vboxmouse_drv_15 + # +-DLLS += vboxmouse_drv_15 + vboxmouse_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_15_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_15_INCS := \ +@@ -142,7 +136,6 @@ + # + # vboxmouse_drv_16 + # +-DLLS += vboxmouse_drv_16 + vboxmouse_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD + vboxmouse_drv_16_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC + vboxmouse_drv_16_INCS := \ + +--- a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk 2013-03-19 18:55:28.974949837 +0000 ++++ b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk 2013-03-19 18:56:00.468064457 +0000 +@@ -53,7 +53,6 @@ + # vboxvideo_drv + # + if1of ($(KBUILD_TARGET), linux) +- SYSMODS += vboxvideo_drv + endif # target linux + vboxvideo_drv_TEMPLATE = VBOXGUESTR3XF86MOD + vboxvideo_drv_DEFS.linux = linux +@@ -128,7 +127,6 @@ + # base keywords instead of using .solaris or .linux. + # Also it is *important* to use := and not = when deriving a property. + # +-DLLS += vboxvideo_drv_70 + vboxvideo_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD + if1of ($(KBUILD_TARGET), linux) + vboxvideo_drv_70_CFLAGS += \ +@@ -149,7 +147,6 @@ + # + # vboxvideo_drv_71 + # +-DLLS += vboxvideo_drv_71 + vboxvideo_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_71_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_71_DEFS := $(vboxvideo_70_DEFS) XORG_VERSION_CURRENT=700100000 +@@ -164,7 +161,6 @@ + # + # vboxvideo_drv_13 + # +-DLLS += vboxvideo_drv_13 + vboxvideo_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_13_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_13_DEFS := $(vboxvideo_13_DEFS) XORG_VERSION_CURRENT=100300000 +@@ -178,7 +174,6 @@ + # + # vboxvideo_drv_14 + # +-DLLS += vboxvideo_drv_14 + vboxvideo_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_14_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_14_DEFS := $(vboxvideo_13_DEFS) XORG_VERSION_CURRENT=100400000 +@@ -192,7 +187,6 @@ + # + # vboxvideo_drv_15 + # +-DLLS += vboxvideo_drv_15 + vboxvideo_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_15_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_15_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=100503000 +@@ -213,7 +207,6 @@ + # + # vboxvideo_drv_16 + # +-DLLS += vboxvideo_drv_16 + vboxvideo_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_16_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_16_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=100600000 +@@ -227,7 +220,6 @@ + # + # vboxvideo_drv_17 + # +-DLLS += vboxvideo_drv_17 + vboxvideo_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_17_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_17_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=100699000 +@@ -241,7 +233,6 @@ + # + # vboxvideo_drv_18 + # +-DLLS += vboxvideo_drv_18 + vboxvideo_drv_18_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_18_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_18_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=100800000 +@@ -255,7 +246,6 @@ + # + # vboxvideo_drv_19 + # +-DLLS += vboxvideo_drv_19 + vboxvideo_drv_19_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_19_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_19_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=100900000 +@@ -269,7 +259,6 @@ + # + # vboxvideo_drv_110 + # +-DLLS += vboxvideo_drv_110 + vboxvideo_drv_110_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_110_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_110_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=101000000 +@@ -283,7 +272,6 @@ + # + # vboxvideo_drv_111 + # +-DLLS += vboxvideo_drv_111 + vboxvideo_drv_111_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_111_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_111_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=101100000 +@@ -297,7 +285,6 @@ + # + # vboxvideo_drv_112 + # +-DLLS += vboxvideo_drv_112 + vboxvideo_drv_112_TEMPLATE = VBOXGUESTR3XORGMOD + vboxvideo_drv_112_CFLAGS := $(vboxvideo_drv_70_CFLAGS) + vboxvideo_drv_112_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=101200000 +@@ -341,6 +328,23 @@ + endif + + ++vboxvideo_drv_$(XSERVER_VERSION)_NAME := vboxvideo_drv ++vboxvideo_drv_$(XSERVER_VERSION)_INCS := \ ++ /usr/include/xorg \ ++ /usr/include/x11 \ ++ /usr/include/pixman-1 \ ++ /usr/include/X11/dri \ ++ /usr/include/drm \ ++ /usr/include/libdrm ++vboxvideo_drv_$(XSERVER_VERSION)_INCS += $(PATH_ROOT)/src/VBox/Runtime/include ++DLLS += vboxvideo_drv_$(XSERVER_VERSION) ++ ++# required for lenny backports ++ifeq ($(XSERVER_VERSION),14) ++ vboxvideo_drv_$(XSERVER_VERSION)_INCS += $(VBOX_PATH_X11_XORG_1_4)/xorg ++endif ++ ++ + # Check the undefined symbols in the X.Org modules against lists of allowed + # symbols. Not very elegant, but it will catch problems early. + diff --git a/hardware/virtualization/virtualbox/files/005-gsoap-build.patch b/hardware/virtualization/virtualbox/files/005-gsoap-build.patch new file mode 100644 index 0000000000..267be96853 --- /dev/null +++ b/hardware/virtualization/virtualbox/files/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 2014-01-04 04:37:05.803599026 +0100 +@@ -683,7 +683,7 @@ + : $(VBOXWEB_GSOAPH_FROM_GSOAP) $(VBOXWEB_GSOAPH_FROM_XSLT) $(VBOX_NSMAP) $(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) + $(APPEND) $@ done + + # copy the generated headers and stuff. This has to be a separate rule if we diff --git a/hardware/virtualization/virtualbox/files/006-rdesktop-vrdp-keymap-path.patch b/hardware/virtualization/virtualbox/files/006-rdesktop-vrdp-keymap-path.patch new file mode 100644 index 0000000000..46c72c1ccf --- /dev/null +++ b/hardware/virtualization/virtualbox/files/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/hardware/virtualization/virtualbox/files/008-root-window.patch b/hardware/virtualization/virtualbox/files/008-root-window.patch new file mode 100644 index 0000000000..4d16a094cb --- /dev/null +++ b/hardware/virtualization/virtualbox/files/008-root-window.patch @@ -0,0 +1,19 @@ +--- a/src/VBox/Additions/x11/vboxvideo/vboxvideo.h 2015-03-04 00:38:45.381480285 +0100 ++++ b/src/VBox/Additions/x11/vboxvideo/vboxvideo.h 2015-03-04 00:40:57.536942966 +0100 +@@ -130,15 +130,7 @@ + #define VBOX_MAX_DRAWABLES 256 /* At random. */ + + #define VBOXPTR(p) ((VBOXPtr)((p)->driverPrivate)) +- +-/** Helper to work round different ways of getting the root window in different +- * server versions. */ +-#if defined(XORG_VERSION_CURRENT) && XORG_VERSION_CURRENT < 70000000 \ +- && XORG_VERSION_CURRENT >= 10900000 +-# define ROOT_WINDOW(pScrn) screenInfo.screens[(pScrn)->scrnIndex]->root +-#else +-# define ROOT_WINDOW(pScrn) WindowTable[(pScrn)->scrnIndex] +-#endif ++#define ROOT_WINDOW(pScrn) screenInfo.screens[(pScrn)->scrnIndex]->root + + /** Structure containing all virtual monitor-specific information. */ + struct VBoxScreen diff --git a/hardware/virtualization/virtualbox/files/60-vboxdrv.rules b/hardware/virtualization/virtualbox/files/60-vboxdrv.rules new file mode 100644 index 0000000000..83daf59262 --- /dev/null +++ b/hardware/virtualization/virtualbox/files/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/hardware/virtualization/virtualbox/files/60-vboxguest.rules b/hardware/virtualization/virtualbox/files/60-vboxguest.rules new file mode 100644 index 0000000000..6285f72499 --- /dev/null +++ b/hardware/virtualization/virtualbox/files/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/hardware/virtualization/virtualbox/files/LocalConfig.kmk b/hardware/virtualization/virtualbox/files/LocalConfig.kmk new file mode 100644 index 0000000000..5dbfcf7dec --- /dev/null +++ b/hardware/virtualization/virtualbox/files/LocalConfig.kmk @@ -0,0 +1,21 @@ +VBOX_WITH_ADDITION_DRIVERS = +VBOX_WITH_INSTALLER = 1 +VBOX_WITH_LINUX_ADDITIONS = 1 +VBOX_WITH_X11_ADDITIONS = 1 +VBOX_WITH_TESTCASES = +VBOX_WITH_TESTSUITE = +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_WITH_REGISTRATION_REQUEST = +VBOX_WITH_UPDATE_REQUEST = +VBOX_BLD_PYTHON = python +VBOX_JAVA_HOME = /usr/lib/jvm/java-7-openjdk +VBOX_GCC_WERR = +VBOX_GCC_WARN = +# fix gsoap missing zlib include and produce errors with --as-needed +VBOX_GSOAP_CXX_LIBS := gsoapssl++ z diff --git a/hardware/virtualization/virtualbox/files/desktop-file.patch b/hardware/virtualization/virtualbox/files/desktop-file.patch new file mode 100644 index 0000000000..05eff96be4 --- /dev/null +++ b/hardware/virtualization/virtualbox/files/desktop-file.patch @@ -0,0 +1,17 @@ +Index: VirtualBox-2.2.0_OSE/src/VBox/Installer/freebsd/VirtualBox.desktop +=================================================================== +--- VirtualBox-2.2.0_OSE.orig/src/VBox/Installer/freebsd/virtualbox.desktop ++++ VirtualBox-2.2.0_OSE/src/VBox/Installer/freebsd/virtualbox.desktop +@@ -3,6 +3,7 @@ Encoding=UTF-8 + Version=1.0 + Name=Oracle VM VirtualBox + GenericName=Virtual Machine ++GenericName[tr]=Sanal Makine + Type=Application + Exec=VirtualBox + TryExec=VirtualBox +@@ -14,3 +15,4 @@ Comment[de]=Windows und andere Betriebss + Comment[pl]=Uruchamianie wielu systemów wirtualnych na jednym komputerze gospodarza + Comment[sv]=Kör flera virtuella system på en enda värddator + Comment[ko]=가상 머신 ++Comment[tr]=Tek bir sunucu bilgisayarda birden fazla sanal sistem çalıştırın diff --git a/hardware/virtualization/virtualbox/files/fix-tr-keyboard.patch b/hardware/virtualization/virtualbox/files/fix-tr-keyboard.patch new file mode 100644 index 0000000000..f95e3bda04 --- /dev/null +++ b/hardware/virtualization/virtualbox/files/fix-tr-keyboard.patch @@ -0,0 +1,13 @@ +Index: VirtualBox-2.2.4_OSE/src/VBox/Frontends/Common/VBoxKeyboard/keyboard-layouts.h +=================================================================== +--- VirtualBox-2.2.4_OSE.orig/src/VBox/Frontends/Common/VBoxKeyboard/keyboard-layouts.h ++++ VirtualBox-2.2.4_OSE/src/VBox/Frontends/Common/VBoxKeyboard/keyboard-layouts.h +@@ -1836,7 +1836,7 @@ static const char main_key_th_pat[MAIN_L + /* Turkey */ + static const char main_key_tr[MAIN_LEN][2] = + { +-"\"\\","1!","2'","3^","4+","5%","6&","7/","8(","9)","0=","*?","-_", ++"\"\xe9","1!","2'","3^","4+","5%","6&","7/","8(","9)","0=","*?","-_", + "qQ","wW","eE","rR","tT","yY","uU","\xb9I","oO","pP","\xbb\xab","\xfc\xdc", + "aA","sS","dD","fF","gG","hH","jJ","kK","lL","\xba\xaa","i\xa9",",;", + "zZ","xX","cC","vV","bB","nN","mM","\xf6\xd6","\xe7\xc7",".:","<>","\x0\x0","\x0\x0" diff --git a/hardware/virtualization/virtualbox/files/vboxclient.sh b/hardware/virtualization/virtualbox/files/vboxclient.sh new file mode 100644 index 0000000000..49905d5d2a --- /dev/null +++ b/hardware/virtualization/virtualbox/files/vboxclient.sh @@ -0,0 +1,2 @@ +# Start VirtualBox Clients on guest machines +test -c /dev/vboxguest && /usr/bin/VBoxClient-all diff --git a/hardware/virtualization/virtualbox/files/vboxreload b/hardware/virtualization/virtualbox/files/vboxreload new file mode 100644 index 0000000000..7b525674a3 --- /dev/null +++ b/hardware/virtualization/virtualbox/files/vboxreload @@ -0,0 +1,40 @@ +#!/bin/bash + +# vboxreload: shortcut to reload virtualbox modules with DKMS support +# +# Copyright © 2013 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. + +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 + +if type -P dkms >/dev/null; then + echo 'DKMS autoinstall' + dkms autoinstall +fi + +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/hardware/virtualization/virtualbox/files/virtualbox-4-makeself-check.patch b/hardware/virtualization/virtualbox/files/virtualbox-4-makeself-check.patch new file mode 100644 index 0000000000..e1fcb8c2f4 --- /dev/null +++ b/hardware/virtualization/virtualbox/files/virtualbox-4-makeself-check.patch @@ -0,0 +1,10 @@ +--- VirtualBox-4.0.0_OSE/configure ++++ VirtualBox-4.0.0_OSE/configure +@@ -2527,7 +2527,6 @@ + check_compiler_h + [ "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit + # tools/common/makeself* +- [ $OSE -ge 1 ] && check_makeself + fi + + [ -n "$SETUP_WINE" ] && setup_wine diff --git a/hardware/virtualization/virtualbox/pspec.xml b/hardware/virtualization/virtualbox/pspec.xml new file mode 100644 index 0000000000..6e92768423 --- /dev/null +++ b/hardware/virtualization/virtualbox/pspec.xml @@ -0,0 +1,289 @@ + + + + + virtualbox + http://www.virtualbox.org/ + + Serdar Soytetir + kaptan@pisilinux.org + + GPLv2 + app:gui + A powerful virtualization program + VirtualBox is a family of powerful x86 virtualization products for enterprise as well as home use. This is the Open Source Edition which lacks USB support and some other things. + http://download.virtualbox.org/virtualbox/5.0.12/VirtualBox-5.0.12.tar.bz2 + + dev86 + cdrkit + acpica + mesa-devel + curl-devel + python-devel + pam-devel + device-mapper-devel + libcap-devel + glibc-32bit + gsoap-devel + libXt-devel + libXmu-devel + libIDL-devel + libsdl-devel + libvpx-devel + libXext-devel + libxslt-devel + mesa-glu-devel + alsa-lib-devel + libXfixes-devel + libXrandr-devel + libXdamage-devel + libXcursor-devel + libXinerama-devel + xorg-server-devel + libvncserver-devel + libXcomposite-devel + pulseaudio-libs-devel + jdk7-openjdk + kernel-module-headers + + + LocalConfig.kmk + + + + 002-dri-driver-path.patch + 003-ogl-include-path.patch + + 005-gsoap-build.patch + 006-rdesktop-vrdp-keymap-path.patch + + + desktop-file.patch + fix-tr-keyboard.patch + virtualbox-4-makeself-check.patch + + + + + + virtualbox + + device-mapper + mesa + libXt + gsoap + libvpx + libXmu + libsdl + libXext + libXcursor + libXinerama + virt-wrapper + libvncserver + module-virtualbox + curl + zlib + libX11 + libgcc + libpng + python + libxml2 + openssl + + + /etc/vbox + /usr/bin + /usr/lib/virtualbox + /usr/lib/python* + /usr/share/virtualbox + /usr/share/applications + /usr/share/pixmaps + /usr/share/icons/hicolor + /usr/share/mime/packages + + + System.Package + + + vboxreload + 60-vboxdrv.rules + 60-vboxguest.rules + + + + + virtualbox-guest-utils + x11.driver + VirtualBox guest utilities and drivers + + libXt + libXmu + libXext + libXfixes + libXrandr + libXdamage + xorg-server + libXcomposite + module-virtualbox-guest + + + /etc/X11/Xsession.d + /lib/udev/rules.d + /lib/security + /sbin + /usr/bin/VBoxClient* + /usr/bin/VBoxControl + /usr/sbin + /usr/lib + /usr/kde/*/share/autostart + /usr/share/X11 + /usr/lib/xorg/modules + + + vboxclient.sh + + + + + + 2015-08-09 + 5.0.12 + Version bump. + ali algul + alialgul@pisilinux.org + + + 2015-08-09 + 5.0.4 + Version bump. + ali algul + alialgul@pisilinux.org + + + 2015-07-24 + 5.0.0 + Version bump. + ali algul + alialgul@pisilinux.org + + + 2015-05-18 + 4.3.28 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-02-13 + 4.3.20 + Version bump, rebuild. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-11-21 + 4.3.18 + Rebuild + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-10-19 + 4.3.18 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-19 + 4.3.16 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-07-26 + 4.3.14 + Version bump. + Vedat Demir + vedat@pisilinux.org + + + 2014-04-06 + 4.3.10 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-03-23 + 4.3.8 + Some improvements. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-03-02 + 4.3.8 + Version bump. + Osman Erkan + osman.erkan@pisilinux.org + + + 2013-12-21 + 4.3.6 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-11 + 4.3.2 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-10-10 + 4.2.18 + Version bump. + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-07-05 + 4.2.16 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-05-04 + 4.2.12 + Add system-xorg.patch + Marcin Bojara + marcin@pisilinux.org + + + 2013-04-14 + 4.2.12 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-03-02 + 4.2.8 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-01-22 + 4.2.6 + First release + Marcin Bojara + marcin@pisilinux.org + + + diff --git a/hardware/virtualization/virtualbox/translations.xml b/hardware/virtualization/virtualbox/translations.xml new file mode 100644 index 0000000000..5f2276971a --- /dev/null +++ b/hardware/virtualization/virtualbox/translations.xml @@ -0,0 +1,13 @@ + + + + virtualbox + Güçlü bir sanallaştırma programı + VirtualBox, ev kullanımı yanında kurumsal kullanım alanı da bulan güçlü bir xf86 sanallaştırma ürünleri ailesidir. Bu sürüm, USB ve birkaç özellik için desteği bulunmayan açık kodlu uyarlamasıdır. + + + + virtualbox-guest-utils + VirtualBox misafir işletim sistemleri için yardımcı araçlar ve sürücüler + +