diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2017-01-24 12:27:45 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2017-01-24 12:30:02 +0000 |
commit | 54c94a12e787b5999338e00b50967103032f722e (patch) | |
tree | 0df51903fecda4f6f95a45e36b8c60f588248882 /community/virtualbox-guest-additions | |
parent | 262629094f233d25f4c19ed7a07f556f5763b58d (diff) | |
download | aports-54c94a12e787b5999338e00b50967103032f722e.tar.bz2 aports-54c94a12e787b5999338e00b50967103032f722e.tar.xz |
community/virtualbox-guest-*: move from testing
ref #5722
Diffstat (limited to 'community/virtualbox-guest-additions')
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 |