summaryrefslogtreecommitdiffstats
path: root/virtualbox_bin
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xssn.at>2010-05-24 22:02:28 +0200
committerFlorian Pritz <bluewind@xssn.at>2010-05-24 22:03:10 +0200
commit76b5704f46d3e59e41ed5883d23dd0d4aa818f4c (patch)
treea5adf840adb3093276c1fcf6b27135cecd935462 /virtualbox_bin
parentb37bf77aa7e3354edc3831f7c9038d77da00fec2 (diff)
downloadaur-packages-76b5704f46d3e59e41ed5883d23dd0d4aa818f4c.tar.gz
aur-packages-76b5704f46d3e59e41ed5883d23dd0d4aa818f4c.tar.xz
updates
Signed-off-by: Florian Pritz <bluewind@xssn.at>
Diffstat (limited to 'virtualbox_bin')
-rw-r--r--virtualbox_bin/10-vboxdrv.rules3
-rw-r--r--virtualbox_bin/PKGBUILD104
-rw-r--r--virtualbox_bin/vbox.install102
-rw-r--r--virtualbox_bin/vbox_build_module5
-rw-r--r--virtualbox_bin/virtualbox.install100
5 files changed, 314 insertions, 0 deletions
diff --git a/virtualbox_bin/10-vboxdrv.rules b/virtualbox_bin/10-vboxdrv.rules
new file mode 100644
index 0000000..59babea
--- /dev/null
+++ b/virtualbox_bin/10-vboxdrv.rules
@@ -0,0 +1,3 @@
+KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660"
+SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE="0664"
+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE="0664"
diff --git a/virtualbox_bin/PKGBUILD b/virtualbox_bin/PKGBUILD
new file mode 100644
index 0000000..605710a
--- /dev/null
+++ b/virtualbox_bin/PKGBUILD
@@ -0,0 +1,104 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: thotypous <matiasΘarchlinux-br·org>
+# Contributor: xduugu <xduuguΘgmx·com>
+# Contributor: Peter 'piie' Feuerer <peterΘpiie·net>
+# Contributor: Sascha Pfau <MrPeacockΘgmail·com>
+# Contributor: iggy <iggy.mfΘgmail·com>
+
+pkgname="virtualbox_bin"
+pkgver="3.2.0"
+_build="61806"
+pkgrel=1
+pkgdesc="Powerful x86 virtualization (Personal Use Binaries Edition)."
+arch=('i686' 'x86_64')
+url="http://virtualbox.org"
+license=('custom:PUEL')
+depends=('libidl2' 'libxcursor' 'libxinerama' 'libxslt' 'curl' 'gcc' 'make' 'kernel26-headers')
+optdepends=("qt: for VirtualBox GUI"
+ "sdl: for VBoxSDL and VirtualBox GUI"
+ "libgl: for shared OpenGL"
+ "libxt: for shared Clipboard"
+ "alsa-lib: for ALSA support"
+ "pulseaudio: for PulseAudio support")
+provides=("virtualbox=${pkgver}")
+conflicts=('virtualbox-ose' 'virtualbox-modules')
+install='virtualbox.install'
+_architect='x86'
+[ "$CARCH" = "x86_64" ] && _architect='amd64'
+source=("VirtualBox-${pkgver}-${_build}-Linux_${_architect}.run::http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}-${_build}-Linux_${_architect}.run"
+ '10-vboxdrv.rules'
+ 'vbox_build_module')
+md5sums=('003c36b1704dda450b6b21e99afc2d85'
+ '98859bfca9ef2ebf2ea43eb9123316fc'
+ 'dcb2d165b25274f77426a895d6dc41af')
+[ "$CARCH" = "x86_64" ] && md5sums[0]='6fc4475dc26af6aa64bd9fb37ea9ca6a'
+
+build() {
+ # Check and unpack the run package via sh(1)
+ sh "VirtualBox-${pkgver}-${_build}-Linux_${_architect}.run" --check || return 1
+ echo yes | sh "VirtualBox-${pkgver}-${_build}-Linux_${_architect}.run" --target "$srcdir" \
+ --nox11 --noexec &> /dev/null || return 1
+
+ # Unpack bundled files
+ mkdir -p "$pkgdir/opt/VirtualBox" || return 1
+ cd "$pkgdir/opt/VirtualBox"
+ tar -xjf "$srcdir/VirtualBox.tar.bz2" || return 1
+
+ mkdir -p "$pkgdir/usr/"{bin,share/applications,share/pixmaps} || return 1
+
+ # Hardened build: Mark binaries suid root, create symlinks for working around
+ # unsupported $ORIGIN/.. in VBoxC.so and make sure the
+ # directory is only writable by the user (paranoid).
+ chmod 4511 VirtualBox VBox{SDL,Headless,NetDHCP}
+ for _lib in VBox{VMM,REM,RT,DDU,XPCOM}.so; do
+ ln -sf "/opt/VirtualBox/${_lib}" "components/${_lib}"
+ done
+ chmod go-w .
+
+ # VBoxNetAdpCtl needs to be suid root in any case
+ chmod 4511 VBoxNetAdpCtl
+
+ # Replace VirtualBox built-in Qt by system Qt libraries (disabled as of
+ # 2010-03-26, 3.1.6-1)
+ #for _lib in libQt{Core,Gui,Network,OpenGL}; do
+ # rm "${_lib}VBox.so.4"
+ # ln -s "/usr/lib/${_lib}.so.4" "${_lib}VBox.so.4"
+ #done
+
+ # Install the SDK (disabled, since the extension expects an UCS4-compiled
+ # python, while Arch Linux has an UCS2-compiled python)
+ #cd "$pkgdir/opt/VirtualBox/sdk/installer"
+ #VBOX_INSTALL_PATH="/opt/VirtualBox" python vboxapisetup.py install --root "${pkgdir}" || return 1
+ #rm -Rf build
+ #cd "$pkgdir/opt/VirtualBox"
+ rm -Rf sdk vboxshell.py VBoxPython*
+
+ # Symlink the launchers
+ for _bin in VirtualBox VBox{Headless,Manage,SDL,SVC,Tunctl,NetAdpCtl} rdesktop-vrdp; do
+ ln -s "/opt/VirtualBox/${_bin}" "$pkgdir/usr/bin/${_bin}"
+ done
+
+ # Symlink the desktop icon and ".desktop" files
+ ln -s "/opt/VirtualBox/VBox.png" "$pkgdir/usr/share/pixmaps/VBox.png"
+ ln -s "/opt/VirtualBox/virtualbox.desktop" "$pkgdir/usr/share/applications/VirtualBox.desktop"
+
+ # Install vbox_build_module
+ install -Dm0744 "$srcdir/vbox_build_module" "$pkgdir/usr/bin/vbox_build_module" || return 1
+
+ # Replace some init scripts by simplified stuff
+ sed -i -e 's,sudo /etc/init.d/vboxdrv setup,/usr/bin/vbox_build_module,g' \
+ "$pkgdir/opt/VirtualBox/VBox.sh"
+ sed -i -e 's,sudo /etc/init.d/vboxdrv restart,modprobe vboxdrv,g' \
+ "$pkgdir/opt/VirtualBox/VBox.sh"
+
+ # Install udev rules
+ install -Dm0644 "$srcdir/10-vboxdrv.rules" "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules" || return 1
+
+ # Setup configuration
+ mkdir -p "$pkgdir/etc/vbox" || return 1
+ echo 'INSTALL_DIR="/opt/VirtualBox"' > "$pkgdir/etc/vbox/vbox.cfg"
+
+ # Symlink the license
+ mkdir -p "$pkgdir/usr/share/licenses/$pkgname" || return 1
+ ln -s "/opt/VirtualBox/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/PUEL"
+}
diff --git a/virtualbox_bin/vbox.install b/virtualbox_bin/vbox.install
new file mode 100644
index 0000000..c4615db
--- /dev/null
+++ b/virtualbox_bin/vbox.install
@@ -0,0 +1,102 @@
+_install_notes() {
+ echo
+ echo '---------------------------------------------------------------------------'
+ echo ' IMPORTANT NOTES:'
+ echo
+ echo '- Run "vbox_build_module" as root every time your kernel is upgraded, to'
+ echo ' compile the module for the new kernel version.'
+ echo '- Add your user to the vboxusers group:'
+ echo ' gpasswd -a USERNAME vboxusers'
+ echo '- Add "vboxdrv" to the MODULES array in your "/etc/rc.conf"'
+ echo '- Add "vboxnetflt" to MODULES if you want Host Interface networking.'
+ echo '- Add "vboxnetadp" to MODULES if you want Host-Only networking.'
+ echo '- If USB does not work for you out-of-the-box, add the following line'
+ echo ' to "/etc/fstab":'
+ echo ' none /proc/bus/usb usbfs auto,busgid=108,busmode=0775,devgid=108,devmode=0664 0 0'
+ echo "---------------------------------------------------------------------------"
+}
+
+# $1: The new package version
+post_install() {
+ # Unload modules (if any).
+ for i in vboxdrv vboxnetadp vboxnetflt; do
+ modprobe -r $i &>/dev/null
+ done
+
+ # Build new module
+ echo "Building VirtualBox modules..."
+ /usr/bin/vbox_build_module &>/dev/null
+
+ # Add vboxusers group
+ #
+ # This GID is reserved (http://wiki.archlinux.org/index.php/UID_and_GID_list)
+ # But in some systems it may be being used. Please replace if needed.
+ groupadd -f -g 108 vboxusers
+
+ # Create the directory below if it doesn't exist
+ mkdir -p /var/run/VirtualBox
+
+ # Load new udev rule for module vboxdrv
+ udevadm control --reload-rules
+
+ # Show the license
+ echo '---------------------------------------------------------------------------' >&2
+ echo ' You must agree to the following license in order to use this program:' >&2
+ echo >&2
+ cat /opt/VirtualBox/LICENSE >&2
+ echo >&2
+ echo '---------------------------------------------------------------------------' >&2
+
+ # Load the new module
+ modprobe vboxdrv
+
+ _install_notes
+}
+
+# $1: The new package version
+# $2: The old package version
+post_upgrade() {
+ _NEWVERSION=`echo $1 | cut -f-1 -d '-'`
+ _OLDVERSION=`echo $2 | cut -f-1 -d '-'`
+
+ # Unload modules (if any).
+ for i in vboxdrv vboxnetadp vboxnetflt; do
+ modprobe -r $i &>/dev/null
+ done
+
+ # Remove any stuff (eg. module compilation files) from an
+ # old installation. Old versions used to use these directories.
+ if [ "$_NEWVERSION" != "$_OLDVERSION" ]; then
+ rm -Rf "/opt/VirtualBox-${_OLDVERSION}" &>/dev/null
+ fi
+ if [ "$1" != "$2" ]; then
+ rm -Rf "/opt/virtualbox" &>/dev/null
+ fi
+
+ # Create the directory below if it doesn't exist
+ mkdir -p /var/run/VirtualBox
+
+ # Build new module
+ echo "Building VirtualBox modules..."
+ /usr/bin/vbox_build_module &>/dev/null
+
+ # Load the new module
+ modprobe vboxdrv
+
+ _install_notes
+}
+
+# $1: The old package version
+pre_remove() {
+ # Unload modules (if any).
+ for i in vboxdrv vboxnetadp vboxnetflt; do
+ modprobe -r $i &>/dev/null
+ done
+
+ # Remove the module files.
+ rm -f /lib/modules/`uname -r`/misc/{vboxdrv,vboxnetadp,vboxnetflt}.ko
+
+ # Remove any stuff remaining from the module compilation.
+ rm -Rf "/opt/VirtualBox"
+}
+
diff --git a/virtualbox_bin/vbox_build_module b/virtualbox_bin/vbox_build_module
new file mode 100644
index 0000000..58e1e6b
--- /dev/null
+++ b/virtualbox_bin/vbox_build_module
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+echo "Building vboxdrv for `uname -sr`"
+cd "/opt/VirtualBox/src"
+make clean && make && make install
diff --git a/virtualbox_bin/virtualbox.install b/virtualbox_bin/virtualbox.install
new file mode 100644
index 0000000..6831b68
--- /dev/null
+++ b/virtualbox_bin/virtualbox.install
@@ -0,0 +1,100 @@
+_install_notes() {
+ echo
+ echo '---------------------------------------------------------------------------'
+ echo ' IMPORTANT NOTES:'
+ echo
+ echo '- Run "vbox_build_module" as root every time your kernel is upgraded, to'
+ echo ' compile the module for the new kernel version.'
+ echo '- Add your user to the vboxusers group:'
+ echo ' gpasswd -a USERNAME vboxusers'
+ echo '- Add "vboxdrv" to the MODULES array in your "/etc/rc.conf"'
+ echo '- Add "vboxnetflt" to MODULES if you want Host Interface networking.'
+ echo '- Add "vboxnetadp" to MODULES if you want Host-Only networking.'
+ echo '- If USB does not work for you out-of-the-box, add the following line'
+ echo ' to "/etc/fstab":'
+ echo ' none /proc/bus/usb usbfs auto,busgid=108,busmode=0775,devgid=108,devmode=0664 0 0'
+ echo "---------------------------------------------------------------------------"
+}
+
+# $1: The new package version
+post_install() {
+ # Unload modules (if any)
+ for _mod in vbox{drv,netadp,netflt}; do
+ modprobe -r $_mod &> /dev/null
+ done
+
+ # Build new module
+ echo "Building VirtualBox modules..."
+ /usr/bin/vbox_build_module &> /dev/null
+
+ # Add vboxusers group, GID 108 is reserved (http://wiki.archlinux.org/index.php/UID_and_GID_list),
+ # but in some systems it may be being used - please replace if needed.
+ groupadd -f -g 108 vboxusers
+
+ # Create the directory below if it doesn't exist
+ mkdir -p "/var/run/VirtualBox"
+
+ # Load new udev rule for module vboxdrv
+ udevadm control --reload-rules
+
+ # Show the license
+ echo '---------------------------------------------------------------------------' >&2
+ echo ' You must agree to the following license in order to use this program:' >&2
+ echo >&2
+ cat "/opt/VirtualBox/LICENSE" >&2
+ echo >&2
+ echo '---------------------------------------------------------------------------' >&2
+
+ # Load the new module
+ modprobe vboxdrv
+
+ _install_notes
+}
+
+# $1: The new package version
+# $2: The old package version
+post_upgrade() {
+ _NEWVERSION=`echo $1 | cut -f-1 -d '-'`
+ _OLDVERSION=`echo $2 | cut -f-1 -d '-'`
+
+ # Unload modules (if any)
+ for _mod in vbox{drv,netadp,netflt}; do
+ modprobe -r $_mod &> /dev/null
+ done
+
+ # Remove any stuff (e.g. module compilation files) from an old installation - old versions used
+ # to use these directories.
+ if [ "$_NEWVERSION" != "$_OLDVERSION" ]; then
+ rm -Rf "/opt/VirtualBox-${_OLDVERSION}" &> /dev/null
+ fi
+ if [ "$1" != "$2" ]; then
+ rm -Rf "/opt/virtualbox" &> /dev/null
+ fi
+
+ # Create the directory below if it doesn't exist
+ mkdir -p "/var/run/VirtualBox"
+
+ # Build new module
+ echo "Building VirtualBox modules..."
+ /usr/bin/vbox_build_module &> /dev/null
+
+ # Load the new module
+ modprobe vboxdrv
+
+ _install_notes
+}
+
+# $1: The old package version
+pre_remove() {
+ # Unload modules (if any)
+ for _mod in vbox{drv,netadp,netflt}; do
+ modprobe -r $_mod &> /dev/null
+ done
+
+ # Remove the module files
+ rm -f "/lib/modules/`uname -r`/misc/"{vboxdrv,vboxnetadp,vboxnetflt}.ko
+
+ # Remove any stuff remaining from the module compilation
+ rm -Rf "/opt/VirtualBox"
+}
+