aboutsummaryrefslogtreecommitdiffstats
path: root/community/virtualbox-guest-additions
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2017-01-24 12:27:45 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2017-01-24 12:30:02 +0000
commit54c94a12e787b5999338e00b50967103032f722e (patch)
tree0df51903fecda4f6f95a45e36b8c60f588248882 /community/virtualbox-guest-additions
parent262629094f233d25f4c19ed7a07f556f5763b58d (diff)
downloadaports-54c94a12e787b5999338e00b50967103032f722e.tar.bz2
aports-54c94a12e787b5999338e00b50967103032f722e.tar.xz
community/virtualbox-guest-*: move from testing
ref #5722
Diffstat (limited to 'community/virtualbox-guest-additions')
-rw-r--r--community/virtualbox-guest-additions/APKBUILD95
-rw-r--r--community/virtualbox-guest-additions/futimens.patch16
-rw-r--r--community/virtualbox-guest-additions/musl-fix-headers.patch10
-rw-r--r--community/virtualbox-guest-additions/musl-fix-stat-nsec.patch11
-rw-r--r--community/virtualbox-guest-additions/musl-no-glibc.patch45
-rw-r--r--community/virtualbox-guest-additions/musl-sched_yield.patch32
-rw-r--r--community/virtualbox-guest-additions/uclibc-gnu_linux.patch11
-rw-r--r--community/virtualbox-guest-additions/uclibc-spawn.patch26
-rw-r--r--community/virtualbox-guest-additions/vboxguestlib-makefile-nox11.patch19
-rw-r--r--community/virtualbox-guest-additions/virtualbox-guest-additions-localconfig37
-rwxr-xr-xcommunity/virtualbox-guest-additions/virtualbox-guest-additions.initd33
-rw-r--r--community/virtualbox-guest-additions/virtualbox-guest-additions.pre-install5
12 files changed, 340 insertions, 0 deletions
diff --git a/community/virtualbox-guest-additions/APKBUILD b/community/virtualbox-guest-additions/APKBUILD
new file mode 100644
index 0000000000..436cb09b3d
--- /dev/null
+++ b/community/virtualbox-guest-additions/APKBUILD
@@ -0,0 +1,95 @@
+# Maintainer: Ben Allen <bensallen@me.com>
+# Contributor: Ben Allen <bensallen@me.com>
+
+_flavor=${FLAVOR:-grsec}
+
+pkgname=virtualbox-guest-additions
+pkgver=5.1.12
+
+pkgrel=0
+pkgdesc="VirtualBox Addtions userland components"
+arch='x86_64'
+url='http://virtualbox.org'
+license="GPL custom"
+install="$pkgname.pre-install"
+makedepends="sed kbuild lvm2-dev yasm zlib-dev libressl-dev curl-dev"
+depends="virtualbox-guest-modules-$_flavor"
+source="http://download.virtualbox.org/virtualbox/$pkgver/VirtualBox-$pkgver.tar.bz2
+ futimens.patch
+ musl-fix-headers.patch
+ musl-no-glibc.patch
+ musl-fix-stat-nsec.patch
+ musl-sched_yield.patch
+ uclibc-gnu_linux.patch
+ vboxguestlib-makefile-nox11.patch
+ virtualbox-guest-additions-localconfig
+ $pkgname.initd
+ "
+
+_builddir="$srcdir"/VirtualBox-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ rm -rf $_builddir/kBuild/bin $_builddir/tools
+ local i
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ cp $srcdir/$pkgname-localconfig LocalConfig.kmk
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --nofatal \
+ --disable-dbus \
+ --disable-xpcom \
+ --disable-sdl-ttf \
+ --disable-pulse \
+ --disable-alsa \
+ --disable-kmods \
+ --build-headless
+ source env.sh
+ # Build Guest Additions
+ kmk KBUILD_VERBOSE=2
+}
+
+package() {
+ cd "$_builddir"
+ install -v -Dm755 "$_builddir/out/linux.amd64/release/bin/additions/VBoxService" "$pkgdir/usr/sbin/VBoxService"
+ install -v -Dm755 "$_builddir/out/linux.amd64/release/bin/additions/VBoxControl" "$pkgdir/usr/bin/VBoxControl"
+ install -v -Dm755 "$_builddir/out/linux.amd64/release/bin/additions/mount.vboxsf" "$pkgdir/usr/sbin/mount.vboxsf"
+ install -v -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+}
+
+md5sums="58fd51b90358ac42811e044988d53438 VirtualBox-5.1.12.tar.bz2
+10f65154d3ff17d88fad5ed384e20276 futimens.patch
+81a2ebe27e166219a03858f87eb57518 musl-fix-headers.patch
+2d8119cc2bb88a1dc8e1bcd2a6abf36e musl-no-glibc.patch
+9b6a45f250956232f33911ea26d1355e musl-fix-stat-nsec.patch
+5de14e453e1e7c92afdd73ef60bd4fe9 musl-sched_yield.patch
+072ee2114b3771e7bdbff5211f342755 uclibc-gnu_linux.patch
+b5e6069e20db86cb2e00f1431b202ca4 vboxguestlib-makefile-nox11.patch
+8a6525395f4791b8261f245be1eec552 virtualbox-guest-additions-localconfig
+c4fea5734564528cd7f9cc5d73c71aa2 virtualbox-guest-additions.initd"
+sha256sums="e6f10b1b6f3eb1be2c5223f60569f8ce35468a4354ed53db12f4c9b419393d0d VirtualBox-5.1.12.tar.bz2
+deaa739129ec23a05d5aa43ad8af3e93086ca340696fde3e5d1539e1c7347adb futimens.patch
+d5085e8921b5fa7dca26d2a8da6d1174f7971491c356b6bea5126e6dda0d863c musl-fix-headers.patch
+d0bc2e84675741a54b42b59c9746f255799264512b11a565ce3d435f1398a874 musl-no-glibc.patch
+aab58b5dd854551c52063876e8b4186892ba0b3cf9d907c3abe9cff93b8be7fc musl-fix-stat-nsec.patch
+5f478eee88c170b502f5d73181e282e8f4306b1609243bbe152642e3410a641f musl-sched_yield.patch
+1bf547f849bf325e443f74ce7fbfb3657d9b2918b4c888efac304eac929a0fae uclibc-gnu_linux.patch
+19d156225f205245abeca94aac72b90d6dec2d830b4fb30b6c6ce790011e97ac vboxguestlib-makefile-nox11.patch
+555a92cc4741419f7ffd6b9698600b85dc14ddfc6fed6df792d13caf7116e2af virtualbox-guest-additions-localconfig
+9f163a04d5e829a314c084ba00e01038fba697a360c21e0c6c611918ce869273 virtualbox-guest-additions.initd"
+sha512sums="0e63f778595aada4389a0d4f390aaa56fc1fb0ed0c4ce999f060787ce6d29462329d6543f34572111d2538cf49a54b799263fe04ebd115c2426506c28c809516 VirtualBox-5.1.12.tar.bz2
+1da850bc30399ecde501eba5403ef1add1ae108d38394b01cd7f5cdf0462b855793d564d3adc1f770983b36529d77f3f7b0269fb65152468084a0a44c38e1638 futimens.patch
+0169a620d62aa3de8124e0084f4b747b602fbdcab7892fe075606459e0200d412321c86da4c5d98309f4d7479ae1b5267ed28bea6c6e64fd8be88cab74f8e94c musl-fix-headers.patch
+b1c47cb910ac751df7bd4bc10c5501e91d88a9b3e4fe181b02755d433df8e89a160a38422912266f0cc51ba0c09854dad513ba6f2634fc76c59cee7989b259eb musl-no-glibc.patch
+2c329085915f0ffa43828a14d8b29d0d876e48e18a0190ad146cd0731af7eca11cdf41d2e533c9cc73aa75506b9b91e3a08f2272cd8884e0d929722730b99862 musl-fix-stat-nsec.patch
+ddeca1cf8dd7d749e3c649b7861d3b12d246882dc0fbd2a980efc2c5a33dac94c5b40b07a49d26cd3ea1bb9917ce0485abc4ee8ff3e6291534433263a54050d4 musl-sched_yield.patch
+d2bba9de80c40bc258b025a8e3395a4b0b7781d70d5528993f0fff57e9fc015306b483d4da14e22aed3f188ffda8685aa51e13943f48c17ae18a2a66d15d7bbb uclibc-gnu_linux.patch
+0ced8df03a354e211fd0631d3971246d75de3a60c2347b5fe33236405d55911422d53eb7c679ae6fc18dc8f57c245d5701fa02ae740d1f0bd1e1cbb0b715bf2f vboxguestlib-makefile-nox11.patch
+1b14e0239e91d2d1515250272eb485b442d785dac98bdd7b1cca2fad123f853fe138b6cfad2566c8cb35cab3b77151a49a9422fbad3c13489fa12f3f43d550b9 virtualbox-guest-additions-localconfig
+a2325a3bdc2655a0d245c674400bbb44ecbce159044176fc2faa7b959986d39a327d4dfcbf1d1b815459c157087fb75650b525344f561cd44edb071c29263f2d virtualbox-guest-additions.initd"
diff --git a/community/virtualbox-guest-additions/futimens.patch b/community/virtualbox-guest-additions/futimens.patch
new file mode 100644
index 0000000000..f85e1ae6e2
--- /dev/null
+++ b/community/virtualbox-guest-additions/futimens.patch
@@ -0,0 +1,16 @@
+--- ./src/VBox/Runtime/r3/posix/fileio2-posix.cpp.orig
++++ ./src/VBox/Runtime/r3/posix/fileio2-posix.cpp
+@@ -165,7 +165,12 @@
+
+ /* XXX this falls back to utimes("/proc/self/fd/...",...) for older kernels/glibcs and this
+ * will not work for hardened builds where this directory is owned by root.root and mode 0500 */
+- if (futimes(RTFileToNative(hFile), aTimevals))
++ struct timespec aTimespecs[2] = {
++ { aTimevals[0].tv_sec, aTimevals[0].tv_usec * 1000 },
++ { aTimevals[1].tv_sec, aTimevals[1].tv_usec * 1000 },
++ };
++
++ if (futimens(RTFileToNative(hFile), aTimespecs))
+ {
+ int rc = RTErrConvertFromErrno(errno);
+ Log(("RTFileSetTimes(%RTfile,%p,%p,,): returns %Rrc\n", hFile, pAccessTime, pModificationTime, rc));
diff --git a/community/virtualbox-guest-additions/musl-fix-headers.patch b/community/virtualbox-guest-additions/musl-fix-headers.patch
new file mode 100644
index 0000000000..8eaa63c1f8
--- /dev/null
+++ b/community/virtualbox-guest-additions/musl-fix-headers.patch
@@ -0,0 +1,10 @@
+--- ./src/VBox/Runtime/r3/linux/sysfs.cpp.orig
++++ ./src/VBox/Runtime/r3/linux/sysfs.cpp
+@@ -40,7 +40,6 @@
+
+ #include <unistd.h>
+ #include <stdio.h>
+-#include <sys/sysctl.h>
+ #include <sys/stat.h>
+ #include <sys/fcntl.h>
+ #include <errno.h>
diff --git a/community/virtualbox-guest-additions/musl-fix-stat-nsec.patch b/community/virtualbox-guest-additions/musl-fix-stat-nsec.patch
new file mode 100644
index 0000000000..d0d073e651
--- /dev/null
+++ b/community/virtualbox-guest-additions/musl-fix-stat-nsec.patch
@@ -0,0 +1,11 @@
+--- VirtualBox-5.0.12/src/VBox/Runtime/include/internal/fs.h.orig
++++ VirtualBox-5.0.12/src/VBox/Runtime/include/internal/fs.h
+@@ -49,8 +49,6 @@
+ #ifdef RT_OS_LINUX
+ # ifdef __USE_MISC
+ # define HAVE_STAT_TIMESPEC_BRIEF
+-# else
+-# define HAVE_STAT_NSEC
+ # endif
+ #endif
+
diff --git a/community/virtualbox-guest-additions/musl-no-glibc.patch b/community/virtualbox-guest-additions/musl-no-glibc.patch
new file mode 100644
index 0000000000..fe4cc79379
--- /dev/null
+++ b/community/virtualbox-guest-additions/musl-no-glibc.patch
@@ -0,0 +1,45 @@
+--- ./src/VBox/Runtime/r3/linux/thread-affinity-linux.cpp.orig
++++ ./src/VBox/Runtime/r3/linux/thread-affinity-linux.cpp
+@@ -32,6 +32,8 @@
+ # define _GNU_SOURCE
+ #endif
+ #include <features.h>
++
++#if defined(__GLIBC__)
+ #if __GLIBC_PREREQ(2,4)
+
+ #include <sched.h>
+@@ -87,6 +89,11 @@
+
+ return VINF_SUCCESS;
+ }
++
++#else
++# include "../../generic/RTThreadGetAffinity-stub-generic.cpp"
++# include "../../generic/RTThreadSetAffinity-stub-generic.cpp"
++#endif
+
+ #else
+ # include "../../generic/RTThreadGetAffinity-stub-generic.cpp"
+--- ./src/VBox/Runtime/r3/linux/semeventmulti-linux.cpp.orig
++++ ./src/VBox/Runtime/r3/linux/semeventmulti-linux.cpp
+@@ -26,7 +26,7 @@
+
+
+ #include <features.h>
+-#if __GLIBC_PREREQ(2,6) && !defined(IPRT_WITH_FUTEX_BASED_SEMS)
++#if defined(__GLIBC__) && !defined(IPRT_WITH_FUTEX_BASED_SEMS)
+
+ /*
+ * glibc 2.6 fixed a serious bug in the mutex implementation. We wrote this
+--- ./src/VBox/Runtime/r3/linux/semevent-linux.cpp.orig
++++ ./src/VBox/Runtime/r3/linux/semevent-linux.cpp
+@@ -25,7 +25,7 @@
+ */
+
+ #include <features.h>
+-#if __GLIBC_PREREQ(2,6) && !defined(IPRT_WITH_FUTEX_BASED_SEMS)
++#if defined(__GLIBC__) && !defined(IPRT_WITH_FUTEX_BASED_SEMS)
+
+ /*
+ * glibc 2.6 fixed a serious bug in the mutex implementation. We wrote this
diff --git a/community/virtualbox-guest-additions/musl-sched_yield.patch b/community/virtualbox-guest-additions/musl-sched_yield.patch
new file mode 100644
index 0000000000..b3012e5c1a
--- /dev/null
+++ b/community/virtualbox-guest-additions/musl-sched_yield.patch
@@ -0,0 +1,32 @@
+--- ./src/VBox/Runtime/r3/posix/thread2-posix.cpp.orig
++++ ./src/VBox/Runtime/r3/posix/thread2-posix.cpp
+@@ -63,7 +63,7 @@
+ #elif defined(RT_OS_SOLARIS) || defined(RT_OS_HAIKU) || defined(RT_OS_FREEBSD) || defined(RT_OS_NETBSD)
+ sched_yield();
+ #else
+- if (!pthread_yield())
++ if (!sched_yield())
+ #endif
+ {
+ LogFlow(("RTThreadSleep: returning %Rrc (cMillies=%d)\n", VINF_SUCCESS, cMillies));
+@@ -100,7 +100,7 @@
+ #elif defined(RT_OS_SOLARIS) || defined(RT_OS_HAIKU) || defined(RT_OS_FREEBSD) || defined(RT_OS_NETBSD)
+ sched_yield();
+ #else
+- if (!pthread_yield())
++ if (!sched_yield())
+ #endif
+ return VINF_SUCCESS;
+ }
+@@ -126,10 +126,8 @@
+ #endif
+ #ifdef RT_OS_DARWIN
+ pthread_yield_np();
+-#elif defined(RT_OS_SOLARIS) || defined(RT_OS_HAIKU) || defined(RT_OS_FREEBSD) || defined(RT_OS_NETBSD)
+- sched_yield();
+ #else
+- pthread_yield();
++ sched_yield();
+ #endif
+ #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86)
+ u64TS = ASMReadTSC() - u64TS;
diff --git a/community/virtualbox-guest-additions/uclibc-gnu_linux.patch b/community/virtualbox-guest-additions/uclibc-gnu_linux.patch
new file mode 100644
index 0000000000..b227d55b1d
--- /dev/null
+++ b/community/virtualbox-guest-additions/uclibc-gnu_linux.patch
@@ -0,0 +1,11 @@
+--- ./src/libs/kStuff/kStuff/include/k/kDefs.h.orig
++++ ./src/libs/kStuff/kStuff/include/k/kDefs.h
+@@ -82,7 +82,7 @@
+ # define K_OS K_OS_DRAGONFLY
+ # elif defined(__FreeBSD__) /*??*/
+ # define K_OS K_OS_FREEBSD
+-# elif defined(__gnu_linux__)
++# elif defined(__linux__)
+ # define K_OS K_OS_LINUX
+ # elif defined(__NetBSD__) /*??*/
+ # define K_OS K_OS_NETBSD
diff --git a/community/virtualbox-guest-additions/uclibc-spawn.patch b/community/virtualbox-guest-additions/uclibc-spawn.patch
new file mode 100644
index 0000000000..98b4e8ad6e
--- /dev/null
+++ b/community/virtualbox-guest-additions/uclibc-spawn.patch
@@ -0,0 +1,26 @@
+--- ./src/VBox/Runtime/r3/posix/process-creation-posix.cpp.orig
++++ ./src/VBox/Runtime/r3/posix/process-creation-posix.cpp
+@@ -48,6 +48,9 @@
+ * whether it is started detached or not. */
+ # define HAVE_POSIX_SPAWN 1
+ #endif
++#if defined(__UCLIBC__)
++#undef HAVE_POSIX_SPAWN
++#endif
+ #ifdef HAVE_POSIX_SPAWN
+ # include <spawn.h>
+ #endif
+@@ -103,11 +106,9 @@
+ if (spwd)
+ pw->pw_passwd = spwd->sp_pwdp;
+
+- /* be reentrant */
+- struct crypt_data *data = (struct crypt_data*)RTMemTmpAllocZ(sizeof(*data));
+- char *pszEncPasswd = crypt_r(pszPasswd, pw->pw_passwd, data);
++ /* NOT reentrant */
++ char *pszEncPasswd = crypt(pszPasswd, pw->pw_passwd);
+ int fCorrect = !strcmp(pszEncPasswd, pw->pw_passwd);
+- RTMemTmpFree(data);
+ if (!fCorrect)
+ return VERR_PERMISSION_DENIED;
+
diff --git a/community/virtualbox-guest-additions/vboxguestlib-makefile-nox11.patch b/community/virtualbox-guest-additions/vboxguestlib-makefile-nox11.patch
new file mode 100644
index 0000000000..44b2efddbf
--- /dev/null
+++ b/community/virtualbox-guest-additions/vboxguestlib-makefile-nox11.patch
@@ -0,0 +1,19 @@
+--- ./src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk.orig
++++ ./src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk
+@@ -38,16 +38,6 @@
+ LIBRARIES += \
+ VBoxGuestR3Lib \
+ VBoxGuestR3LibShared
+-ifndef VBOX_ONLY_VALIDATIONKIT
+- if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd)
+- LIBRARIES += \
+- VBoxGuestR3LibXFree86
+- endif
+- if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
+- LIBRARIES += \
+- VBoxGuestR3LibXOrg
+- endif
+-endif
+ LIBRARIES.win.amd64 += VBoxGuestR3Lib-x86 VBoxGuestR3LibShared-x86
+
+
diff --git a/community/virtualbox-guest-additions/virtualbox-guest-additions-localconfig b/community/virtualbox-guest-additions/virtualbox-guest-additions-localconfig
new file mode 100644
index 0000000000..bcc7972528
--- /dev/null
+++ b/community/virtualbox-guest-additions/virtualbox-guest-additions-localconfig
@@ -0,0 +1,37 @@
+# -*- 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 := 2
+VBOX_WITH_ORIGIN :=
+VBOX_ONLY_ADDITIONS := 1
+
+## don't build with -Werror
+VBOX_WITH_WARNINGS_AS_ERRORS :=
+
+## Disable anything X11 related
+VBOX_X11_SEAMLESS_GUEST :=
+VBOX_WITH_X11_ADDITIONS :=
+WITH_X11 :=
+VBOX_WITH_DRAG_AND_DROP :=
+VBOX_WITH_PAM :=
diff --git a/community/virtualbox-guest-additions/virtualbox-guest-additions.initd b/community/virtualbox-guest-additions/virtualbox-guest-additions.initd
new file mode 100755
index 0000000000..c8663c1c6e
--- /dev/null
+++ b/community/virtualbox-guest-additions/virtualbox-guest-additions.initd
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+pidfile="/var/run/vboxguest-service.pid"
+command="/usr/sbin/VBoxService"
+command_args="--foreground"
+start_stop_daemon_args="--make-pidfile --pidfile ${pidfile} --background"
+
+depend() {
+ need localmount
+}
+
+start_pre() {
+ einfo "Loading kernel modules"
+ /sbin/modprobe vboxguest 2>&1 && \
+ /sbin/modprobe vboxsf 2>&1
+ eend $?
+}
+
+stop_pre() {
+ einfo "Unmounting shared folders"
+ /bin/grep vboxsf /proc/mounts | /usr/bin/cut -f2 -d' ' | /usr/bin/xargs -n1 -r /bin/umount
+ eend $?
+}
+
+stop_post() {
+ einfo "Removing kernel modules"
+ /sbin/modprobe -r vboxsf 2>&1 && \
+ /sbin/modprobe -r vboxguest 2>&1
+ eend $?
+}
diff --git a/community/virtualbox-guest-additions/virtualbox-guest-additions.pre-install b/community/virtualbox-guest-additions/virtualbox-guest-additions.pre-install
new file mode 100644
index 0000000000..dc2d87d9cf
--- /dev/null
+++ b/community/virtualbox-guest-additions/virtualbox-guest-additions.pre-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+addgroup -S vboxsf 2>/dev/null
+
+exit 0