[Lunar-commits] <moonbase-other> VirtualBox: readd it to the moombase.

Florin Braescu florin at lunar-linux.org
Sun Aug 5 11:57:13 CEST 2012


commit 05a024196f0f8d6c9b01c4b53fe891387533a38a
Author: Florin Braescu <florin at lunar-linux.org>
Date: Sun, 05 Aug 2012 02:57:13 -0700
URL: https://github.com/lunar-linux/moonbase-other/commit/05a024196f0f8d6c9b01c4b53fe891387533a38a

VirtualBox: readd it to the moombase.
---
  virtual/VirtualBox/BUILD                                     +72/-0    
  virtual/VirtualBox/DEPENDS                                   +17/-0    
  virtual/VirtualBox/DETAILS                                   +17/-0    
  virtual/VirtualBox/POST_INSTALL                              +2/-0     
  virtual/VirtualBox/VirtualBox                                +116/-0   
  5 files changed, 224 insertions (+), 0 deletions (-)

--- /dev/null
+++ b/virtual/VirtualBox/BUILD
@@ -0,0 +1,72 @@
+(
+
+  # Fixes a gcc 4.4 build failure.
+  echo "VBOX_WITH_TESTCASES =" > LocalConfig.kmk &&
+
+  if in_depends $MODULE sun-jdk ; then
+    # Location of javac
+    . /etc/profile.d/sun-jdk.rc &&
+    export VBOX_JAVA_HOME=$JAVA_HOME
+  fi &&
+
+  if in_depends $MODULE qt4 ; then
+    # We need the qt4 paths
+    . /etc/profile.d/qt4.rc &&
+    sedit "s:qt4/lib/pkgconfig:qt4/pkgconfig:g" configure
+  fi &&
+
+  # Build VirtualBox
+  # Disable hardening, so normal users can run it
+  OPTS+=" --disable-hardening"  &&
+  ./configure $OPTS             &&
+  source ./env.sh               &&
+  if ! module_installed Linux-PAM ; then
+     sedit "s/VBOX_WITH_PAM/VBOX_WITHOUT_PAM/" Config.kmk
+  fi   &&
+  kmk  &&
+
+  # Build source package for kernel module
+  pushd out/linux.x86/release/bin/ &&
+  message "Building ${MODULE_COLOR}virtualbox-module-${VERSION_COLOR}${VERSION}${DEFAULT_COLOR}." &&
+  message "This may take a while..." &&
+  tar -cjf $SOURCE_CACHE/virtualbox-module-$VERSION.tar.bz2 src &&
+  popd &&
+
+  # Prepare for installation
+  prepare_install &&
+
+  # Create install directory
+  mkdir -p $MODULE_PREFIX &&
+
+  # Install contents of the build directory
+  cp -R out/linux.x86/release/bin/* $MODULE_PREFIX/ &&
+
+  cp $SCRIPT_DIRECTORY/VirtualBox . &&
+  # Substitute $INSTALL_DIR with the module prefix
+  sedit 's:$INSTALL_DIR:'$MODULE_PREFIX':g' VirtualBox &&
+  # Install the startup script to /usr/bin
+  install -m 755 VirtualBox /usr/bin/ &&
+
+  # Install the config file to let VirtualBox know it is installed
+  echo "INSTALL_DIR=$MODULE_PREFIX" >  vbox.cfg &&
+  install -Dm 644 {,/etc/vbox/}vbox.cfg &&
+
+  if in_depends $MODULE qt4 ; then
+    # File path for PDF, and make name more recognizable
+    sed -i -e "s:/opt/VirtualBox/:/usr/share/doc/VirtualBox/:" -e "s:Oracle VM VirtualBox:VirtualBox Oracle VM:1" /usr/lib/virtualbox/virtualbox.desktop &&
+    # Install .desktop entry and icon, then update the icon cache
+    install -Dm 644 /usr/{lib/virtualbox,share/applications}/virtualbox.desktop    &&
+    install -Dm 644 /usr/{lib/virtualbox,share/icons/hicolor/32x32/apps}/VBox.png  &&
+    if [ -x /usr/bin/gtk-update-icon-cache ] ; then
+      gtk-update-icon-cache /usr/share/icons/hicolor
+    fi
+  fi &&
+
+  if in_depends $MODULE texlive ; then
+    install -Dm 644 /usr/{lib/virtualbox,share/doc/VirtualBox}/UserManual.pdf
+  fi &&
+
+  # Create the vboxusers group
+  groupadd -f vboxusers
+
+) > $C_FIFO 2>&1
--- /dev/null
+++ b/virtual/VirtualBox/DEPENDS
@@ -0,0 +1,17 @@
+depends xalan-c++
+depends iasl
+depends dev86
+depends libxslt
+depends libXcursor
+depends libIDL
+depends SDL_ttf
+depends alsa-lib
+depends libcap
+depends makeself
+depends cdrtools
+
+optional_depends qt4        "" "--disable-qt" "for UI (recommended)"
+optional_depends sun-jdk    "" "--disable-java" "for Java bindings"
+optional_depends Python     "" "--disable-python" "for Python bindings"
+optional_depends pulseaudio "" "--disable-pulse" "for pulseaudio backend"
+optional_depends texlive    "" "--disable-docs" "to build PDF documentation"
--- /dev/null
+++ b/virtual/VirtualBox/DETAILS
@@ -0,0 +1,17 @@
+          MODULE=VirtualBox
+         VERSION=4.1.18
+          SOURCE=$MODULE-$VERSION.tar.bz2
+      SOURCE_URL=http://download.virtualbox.org/virtualbox/$VERSION
+      SOURCE_VFY=sha1:a191f5d45fe4c7ffe873c35a54d92309805c5c73
+   MODULE_PREFIX=${VIRTUALBOX_PREFIX:-/usr/lib/virtualbox}
+        WEB_SITE=http://virtualbox.org
+         ENTERED=20071004
+         UPDATED=20120624
+           SHORT="Full virtualizer for x86 hardware"
+
+cat << EOF
+InnoTek VirtualBox is a general-purpose full virtualizer for x86
+hardware. Targeted at server, desktop and embedded use, it is now
+the only professional-quality virtualization solution that is also
+Open Source Software.
+EOF
--- /dev/null
+++ b/virtual/VirtualBox/POST_INSTALL
@@ -0,0 +1,2 @@
+# Install the kernel module
+lin -c virtualbox-module
--- /dev/null
+++ b/virtual/VirtualBox/VirtualBox
@@ -0,0 +1,116 @@
+#!/bin/sh
+#
+# innotek VirtualBox
+#
+#  Copyright (C) 2006-2007 innotek GmbH
+#
+#  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.
+
+PATH="/usr/bin:/bin:/usr/sbin:/sbin"
+CONFIG="/etc/vbox/vbox.cfg"
+
+if [ ! -r "$CONFIG" ]; then
+    echo "Could not find VirtualBox installation. Please reinstall."
+    exit 1
+fi
+
+. "$CONFIG"
+
+# Note: This script must not fail if the module was not successfully installed
+#       because the user might not want to run a VM but only change VM params!
+
+if [ "$1" = "shutdown" ]; then
+    SHUTDOWN="true"
+elif ! lsmod|grep -q vboxdrv; then
+    cat << EOF
+WARNING: The vboxdrv kernel module is not loaded. Either there is no module
+         available for the current kernel (`uname -r`) or it failed to
+         load. Please recompile the kernel module and install it by
+
+           sudo /etc/init.d/vboxdrv setup
+
+         You will not be able to start VMs until this problem is fixed.
+EOF
+elif [ ! -c /dev/vboxdrv ]; then
+    cat << EOF
+WARNING: The character device /dev/vboxdrv does not exist. Try
+
+           sudo /etc/init.d/virtualbox restart
+
+         and if that is not successful, try to re-install the package.
+
+	 You will not be able to start VMs until this problem is fixed.
+EOF
+elif [ ! -w /dev/vboxdrv ]; then
+    if [ "`id | grep vboxusers`" = "" ]; then
+        cat << EOF
+WARNING: You are not a member of the "vboxusers" group.  Please add yourself
+         to this group before starting VirtualBox.
+
+	 You will not be able to start VMs until this problem is fixed.
+EOF
+    else
+        cat << EOF
+WARNING: /dev/vboxdrv not writable for some reason. If you recently added the
+         current user to the vboxusers group then you have to logout and
+	 re-login to take the change effect.
+
+	 You will not be able to start VMs until this problem is fixed.
+EOF
+    fi
+fi
+
+if [ -f /etc/vbox/module_not_compiled ]; then
+    cat << EOF
+WARNING: The compilation of the vboxdrv.ko kernel module failed during the
+         installation for some reason. Starting a VM will not be possible.
+         Please consult the User Manual for build instructions.
+EOF
+fi
+
+export LD_LIBRARY_PATH="$INSTALL_DIR/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
+
+SERVER_PID=`ps -U \`whoami\` | grep VBoxSVC | awk '{ print $1 }'`
+if [ -z "$SERVER_PID" ]; then
+    # Server not running yet/anymore, cleanup socket path.
+    # See IPC_GetDefaultSocketPath()!
+    if [ -n "$LOGNAME" ]; then
+        rm -rf /tmp/.vbox-$LOGNAME-ipc > /dev/null 2>&1
+    else
+        rm -rf /tmp/.vbox-$USER-ipc > /dev/null 2>&1
+    fi
+fi
+
+if [ "$SHUTDOWN" = "true" ]; then
+    if [ -n "$SERVER_PID" ]; then
+        kill -TERM $SERVER_PID
+        sleep 2
+    fi
+    exit 0
+fi
+
+APP=`which $0`
+APP=${APP##/*/}
+case "$APP" in
+  VirtualBox)
+    exec "$INSTALL_DIR/VirtualBox" "$@"
+  ;;
+  VBoxManage)
+    exec "$INSTALL_DIR/VBoxManage" "$@"
+  ;;
+  VBoxSDL)
+    exec "$INSTALL_DIR/VBoxSDL" "$@"
+  ;;
+  VBoxVRDP)
+    exec "$INSTALL_DIR/VBoxVRDP" "$@"
+  ;;
+  *)
+    echo "Unknown application - $APP"
+  ;;
+esac




More information about the Lunar-commits mailing list