From b2471c84ef9e31dd8fb53255148619c815d8b9eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Thu, 15 Mar 2012 18:40:05 -0300 Subject: libre/virtualbox-libre --- libre/virtualbox-libre/LocalConfig.kmk | 2 +- libre/virtualbox-libre/PKGBUILD | 70 +++++++++++++-------- libre/virtualbox-libre/gsoap.patch | 11 ++++ libre/virtualbox-libre/vbox-service.rc | 2 +- libre/virtualbox-libre/vboxbuild | 1 - libre/virtualbox-libre/vboxdrv-reference.patch | 4 +- libre/virtualbox-libre/vboxweb.conf | 11 ++++ libre/virtualbox-libre/vboxweb.rc | 86 ++++++++++++++++++++++++++ libre/virtualbox-libre/virtualbox.install | 2 +- 9 files changed, 156 insertions(+), 33 deletions(-) create mode 100644 libre/virtualbox-libre/gsoap.patch create mode 100644 libre/virtualbox-libre/vboxweb.conf create mode 100644 libre/virtualbox-libre/vboxweb.rc (limited to 'libre') diff --git a/libre/virtualbox-libre/LocalConfig.kmk b/libre/virtualbox-libre/LocalConfig.kmk index e5cbcebcd..d42cd3e1f 100644 --- a/libre/virtualbox-libre/LocalConfig.kmk +++ b/libre/virtualbox-libre/LocalConfig.kmk @@ -14,6 +14,6 @@ VBOX_WITH_REGISTRATION_REQUEST = VBOX_WITH_UPDATE_REQUEST = VBOX_WITH_VNC := 1 VBOX_BLD_PYTHON = python2 -VBOX_JAVA_HOME = /usr/lib/jvm/java-6-openjdk +VBOX_JAVA_HOME = /usr/lib/jvm/java-7-openjdk VBOX_GCC_WERR = VBOX_GCC_WARN = diff --git a/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD index edf35ff62..73e443d6a 100644 --- a/libre/virtualbox-libre/PKGBUILD +++ b/libre/virtualbox-libre/PKGBUILD @@ -1,5 +1,6 @@ # $Id: PKGBUILD 63763 2012-02-05 12:13:00Z ibiru $ -# Maintainer: Nicolas Reynolds +# Maintainer (Parabola): Nicolas Reynolds +# Contributor (Parabola): Jorge López # Changes: # * Adapt to linux-libre # * virtualbox-{archlinux,parabola}-* @@ -9,35 +10,41 @@ #Maintainer: Ionut Biru pkgbase=virtualbox-libre pkgname=('virtualbox-libre' 'virtualbox-parabola-additions' 'virtualbox-sdk' 'virtualbox-source') -pkgver=4.1.8 -pkgrel=2 +pkgver=4.1.10 +pkgrel=1 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL' 'custom') makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libxcursor' 'qt' 'libidl2' 'sdl_ttf' 'alsa-lib' 'libpulse' 'libxtst' -'xalan-c' 'sdl' 'libxmu' 'curl' 'python2' 'linux-libre-headers' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'openjdk6' 'gsoap' 'vde2') +'xalan-c' 'sdl' 'libxmu' 'curl' 'python2' 'linux-libre-headers' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'jdk7-openjdk' 'gsoap' 'vde2') #'xorg-server-devel' 'xf86driproto' 'libxcomposite') [[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc') source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2 - 10-vboxdrv.rules vboxdrv-reference.patch LocalConfig.kmk vboxbuild - change_default_driver_dir.patch vbox-service.conf vbox-service.rc) -md5sums=('2092bba46baa62fab5520d67dee2ece8' + 10-vboxdrv.rules vboxdrv-reference.patch gsoap.patch LocalConfig.kmk vboxbuild + change_default_driver_dir.patch vbox-service.conf vbox-service.rc + vboxweb.conf vboxweb.rc) + +md5sums=('263e495ef3a7ab75943af28d446ee702' '5f85710e0b8606de967716ded7b2d351' - '6ab2455c391d8cc005e2f4461ae26a3b' - '78ffa67ff131680f1d2b6f06d4325c5b' - '67688bff176d3c6fac5664dc282fea52' + '755ab0dd9bcacf2c00d2275b1ca69547' + 'b9f4da759d23b60b69b12005213c3aa7' + 'a1ff1d1b4423556887e48a32978226a6' + '3c96faa76894c182c1bb56bb30d9a17e' '97e193f050574dd272a38e5ee5ebe62b' '3c08ad30b89add47d3f45121200a5360' - 'e7416331d0bc331f3b5aae3e5d104642') + '208cf5f842eb2e3a5b6dcfc59080d26c' + '3ac185709bfe688bb753c46e170d0546' + 'c159d683ba1947290fc2ad2c64194150') _extramodules=extramodules-3.2-LIBRE _kernver="$(cat /lib/modules/${_extramodules}/version)" build() { - cd "$srcdir/VirtualBox-${pkgver}_OSE" + cd "$srcdir/VirtualBox-${pkgver}" patch -Np1 -i "$srcdir/vboxdrv-reference.patch" patch -Np1 -i "$srcdir/change_default_driver_dir.patch" + patch -Np0 -i "$srcdir//gsoap.patch" cp "$srcdir/LocalConfig.kmk" . @@ -66,11 +73,12 @@ package_virtualbox-libre() { provides=("virtualbox=$pkgver") install=virtualbox.install - source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" + source "$srcdir/VirtualBox-${pkgver}/env.sh" - cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin" mkdir -p "$pkgdir"/usr/{bin,lib/virtualbox/components,lib/virtualbox/ExtensionPacks,share/virtualbox/nls} + #Binaries and Wrapper with Launchers install -m 0755 VBox.sh "$pkgdir/usr/bin/VBox" @@ -116,23 +124,30 @@ package_virtualbox-libre() { echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg" #udev and licence - install -D -m 0644 "$srcdir/VirtualBox-${pkgver}_OSE/COPYING" \ + install -D -m 0644 "$srcdir/VirtualBox-${pkgver}/COPYING" \ "$pkgdir/usr/share/licenses/virtualbox/LICENSE" install -D -m 0644 "$srcdir/10-vboxdrv.rules" \ "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules" + + # install rc.d script + install -D -m755 "$srcdir/vboxweb.rc" "$pkgdir/etc/rc.d/vboxweb" + # install sample config + install -D -m644 "$srcdir/vboxweb.conf" "$pkgdir/etc/conf.d/vboxweb" + } package_virtualbox-source() { pkgdesc="VirtualBox kernel modules source" depends=(gcc make) provides=(virtualbox-modules) - optdepends=('linux-libre-headers') + optdepends=('linux-libre-headers' + 'linux-libre-lts-headers') install=virtualbox-source.install - source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" + source "$srcdir/VirtualBox-${pkgver}/env.sh" mkdir -p $pkgdir/usr/lib/virtualbox - cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin" #sources for modules cp -r src ${pkgdir}/usr/lib/virtualbox @@ -146,8 +161,8 @@ package_virtualbox-sdk() { mkdir -p "$pkgdir/usr/lib/virtualbox" - source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" - cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin" + source "$srcdir/VirtualBox-${pkgver}/env.sh" + cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin" install -D -m 0755 vboxshell.py "$pkgdir/usr/lib/virtualbox/vboxshell.py" #python sdk @@ -165,19 +180,19 @@ package_virtualbox-parabola-additions(){ conflicts=('virtualbox-guest-additions' 'virtualbox-archlinux-additions') provides=("virtualbox-archlinux-additions=${pkgver}") - source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" + source "$srcdir/VirtualBox-${pkgver}/env.sh" - cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions" + cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions" install -d "$pkgdir"/{usr/bin,sbin} install -m755 VBoxClient VBoxControl VBoxService "$pkgdir/usr/bin" install -m755 mount.vboxsf "$pkgdir/sbin" - install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ + install -m755 -D "$srcdir"/VirtualBox-${pkgver}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ "$pkgdir"/usr/bin/VBoxClient-all - install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/vboxclient.desktop \ + install -m755 -D "$srcdir"/VirtualBox-${pkgver}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ "$pkgdir"/etc/xdg/autostart/vboxclient.desktop - install -D vboxvideo_drv_111.so \ + install -D vboxvideo_drv_112.so \ "$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so" install -d "$pkgdir/usr/lib/xorg/modules/dri" install -m755 VBoxOGL*.so "$pkgdir/usr/lib" @@ -185,8 +200,9 @@ package_virtualbox-parabola-additions(){ install -m755 -D pam_vbox.so "$pkgdir/lib/security/pam_vbox.so" # install rc.d script - install -D -m755 "${srcdir}/vbox-service.rc" "${pkgdir}/etc/rc.d/vbox-service" + install -D -m755 "$srcdir/vbox-service.rc" "$pkgdir/etc/rc.d/vbox-service" # install sample config - install -D -m644 "${srcdir}/vbox-service.conf" "${pkgdir}/etc/conf.d/vbox-service" + install -D -m644 "$srcdir/vbox-service.conf" "$pkgdir/etc/conf.d/vbox-service" } + diff --git a/libre/virtualbox-libre/gsoap.patch b/libre/virtualbox-libre/gsoap.patch new file mode 100644 index 000000000..c49caa720 --- /dev/null +++ b/libre/virtualbox-libre/gsoap.patch @@ -0,0 +1,11 @@ +--- configure.orig 2012-03-14 08:40:02.447527213 +0000 ++++ configure 2012-03-14 09:05:01.535432453 +0000 +@@ -1959,7 +1959,7 @@ + else + cnf_append "VBOX_GSOAP_CXX_SOURCES" "" + fi +- cnf_append "VBOX_GSOAP_CXX_LIBS" "libgsoap++" ++ cnf_append "VBOX_GSOAP_CXX_LIBS" "libgsoapssl++ libz" + log_success "found" + else + log_failure "stlvector.h not found -- disabling webservice" diff --git a/libre/virtualbox-libre/vbox-service.rc b/libre/virtualbox-libre/vbox-service.rc index 6f1b8d892..96233f66d 100644 --- a/libre/virtualbox-libre/vbox-service.rc +++ b/libre/virtualbox-libre/vbox-service.rc @@ -27,7 +27,7 @@ case "$1" in ;; status) stat_busy "Checking $name status"; - ck_status $name + ck_status vbox-service ;; *) echo "usage: $0 {start|stop|restart|status}" diff --git a/libre/virtualbox-libre/vboxbuild b/libre/virtualbox-libre/vboxbuild index e6fb94edd..4bc8e0c9d 100644 --- a/libre/virtualbox-libre/vboxbuild +++ b/libre/virtualbox-libre/vboxbuild @@ -83,4 +83,3 @@ if (( ${#MODLIST[*]} )); then stat_busy "Reloading VirtualBox kernel modules" modprobe -a "${MODLIST[@]}" && stat_done || stat_fail fi - diff --git a/libre/virtualbox-libre/vboxdrv-reference.patch b/libre/virtualbox-libre/vboxdrv-reference.patch index 710e2e511..682175798 100644 --- a/libre/virtualbox-libre/vboxdrv-reference.patch +++ b/libre/virtualbox-libre/vboxdrv-reference.patch @@ -16,7 +16,7 @@ diff -Nur VirtualBox-4.1.6_OSE.orig/src/VBox/Frontends/VirtualBox/src/main.cpp V QString g_QStrHintOtherWrongDriverVersion = QApplication::tr( @@ -90,11 +89,8 @@ - + QString g_QStrHintLinuxWrongDriverVersion = QApplication::tr( "The VirtualBox kernel modules do not match this version of " - "VirtualBox. The installation of VirtualBox was apparently not " @@ -27,7 +27,7 @@ diff -Nur VirtualBox-4.1.6_OSE.orig/src/VBox/Frontends/VirtualBox/src/main.cpp V + "VirtualBox. Reload the modules or if you don't use our stock kernel execute

" + " '/usr/bin/vboxbuild'

" ); - + QString g_QStrHintOtherNoDriver = QApplication::tr( diff -Nur VirtualBox-4.1.6_OSE.orig/src/VBox/Installer/linux/VBox.sh VirtualBox-4.1.6_OSE/src/VBox/Installer/linux/VBox.sh --- VirtualBox-4.1.6_OSE.orig/src/VBox/Installer/linux/VBox.sh 2011-11-04 17:22:13.549415814 +0000 diff --git a/libre/virtualbox-libre/vboxweb.conf b/libre/virtualbox-libre/vboxweb.conf new file mode 100644 index 000000000..49d82d828 --- /dev/null +++ b/libre/virtualbox-libre/vboxweb.conf @@ -0,0 +1,11 @@ +# WebService Mandatory Variables +#VBOXWEB_USER= + +# WebService Variables +#VBOXWEB_LOGFILE= +#$VBOXWEB_HOST= +#$VBOXWEB_PORT= +#$VBOXWEB_TIMEOUT= +#$VBOXWEB_CHECK_INTERVAL= +#$VBOXWEB_THREADS= +#$VBOXWEB_KEEPALIVE= diff --git a/libre/virtualbox-libre/vboxweb.rc b/libre/virtualbox-libre/vboxweb.rc new file mode 100644 index 000000000..97273e3c7 --- /dev/null +++ b/libre/virtualbox-libre/vboxweb.rc @@ -0,0 +1,86 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/vbox/vbox.cfg +. /etc/conf.d/vboxweb + +BINARY="$INSTALL_DIR/vboxwebsrv" + +start() { + stat_busy "Starting VirtualBox Web Service"; + if ! pidof -o %PPID $BINARY >/dev/null; then + [[ "$VBOXWEB_USER" ]] || stat_die + lsmod | grep -q "vboxdrv[^_-]" || stat_die + PARAMS="--background" + [[ "$VBOXWEB_HOST" ]] && PARAMS+=" -H $VBOXWEB_HOST" + [[ "$VBOXWEB_PORT" ]] && PARAMS+=" -p $VBOXWEB_PORT" + [[ "$VBOXWEB_TIMEOUT" ]] && PARAMS+=" -t $VBOXWEB_TIMEOUT" + [[ "$VBOXWEB_CHECK_INTERVAL" ]] && PARAMS+=" -i $VBOXWEB_CHECK_INTERVAL" + [[ "$VBOXWEB_THREADS" ]] && PARAMS+=" -T $VBOXWEB_THREADS" + [[ "$VBOXWEB_KEEPALIVE" ]] && PARAMS+=" -k $VBOXWEB_KEEPALIVE" + [[ "$VBOXWEB_LOGFILE" ]] && PARAMS+=" -F $VBOXWEB_LOGFILE" + # prevent inheriting this setting to VBoxSVC + unset VBOX_RELEASE_LOG_DEST + su - $VBOXWEB_USER -c "$BINARY $PARAMS" &>/dev/null + # ugly: wait until the final process has forked + sleep .2 + if pidof -o %PPID $BINARY >/dev/null; then + add_daemon vboxweb + stat_done + else + stat_die + fi + else + stat_die + fi +} + +stop() { + stat_busy "Stopping VirtualBox Web Service" + PID=$(pidof -o %PPID $BINARY) + [[ $PID ]] && kill $PID &>/dev/null + if ! pidof -o %PPID $BINARY >/dev/null; then + rm_daemon vboxweb + stat_done + else + stat_die + fi +} + +restart() { + stop && start +} + +status() { + stat_busy "Checking for VirtualBox Web Service" + if pidof -o %PPID $BINARY >/dev/null; then + stat_done + else + stat_fail + false + fi +} + +case "$1" in +start) + start + ;; +stop) + stop + ;; +restart) + restart + ;; +force-reload) + restart + ;; +status) + status + ;; +*) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 +esac + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/libre/virtualbox-libre/virtualbox.install b/libre/virtualbox-libre/virtualbox.install index 29646e973..6c9baa21e 100644 --- a/libre/virtualbox-libre/virtualbox.install +++ b/libre/virtualbox-libre/virtualbox.install @@ -20,7 +20,7 @@ post_install() { post_upgrade() { getent group vboxusers >> /dev/null || usr/sbin/groupadd -g 108 vboxusers utils - if [ "$(vercmp $2 4.1.6-1)" -lt 0 ]; then + if [ "$(vercmp $2 4.1.10-1)" -lt 0 ]; then /bin/cat << EOF ===> Starting with virtualbox version 4.1.6-1, kernel modules handling is done by virtualbox-modules. ===> Use virtualbox-source package if you don't use our stock linux-libre package. -- cgit v1.2.3-2-g168b