summaryrefslogtreecommitdiff
path: root/community-testing
diff options
context:
space:
mode:
Diffstat (limited to 'community-testing')
-rw-r--r--community-testing/lxtask/PKGBUILD26
-rw-r--r--community-testing/open-vm-tools-modules/PKGBUILD38
-rw-r--r--community-testing/open-vm-tools-modules/open-vm-tools-modules.install34
-rw-r--r--community-testing/open-vm-tools/PKGBUILD68
-rw-r--r--community-testing/open-vm-tools/open-vm-tools-X11Bool.patch15
-rw-r--r--community-testing/open-vm-tools/open-vm-tools.conf.d6
-rw-r--r--community-testing/open-vm-tools/open-vm-tools.install10
-rw-r--r--community-testing/open-vm-tools/open-vm-tools.rc.d101
-rw-r--r--community-testing/open-vm-tools/scripts-network-FS19541.patch40
-rw-r--r--community-testing/open-vm-tools/scripts-network.patch63
-rw-r--r--community-testing/open-vm-tools/tools.conf1
-rw-r--r--community-testing/open-vm-tools/vmware-guestd6
-rw-r--r--community-testing/open-vm-tools/xautostart.conf6
-rw-r--r--community-testing/virtualbox/10-vboxdrv.rules5
-rw-r--r--community-testing/virtualbox/18-system-xorg.patch277
-rw-r--r--community-testing/virtualbox/60-vboxguest.rules2
-rw-r--r--community-testing/virtualbox/LocalConfig.kmk19
-rw-r--r--community-testing/virtualbox/PKGBUILD205
-rw-r--r--community-testing/virtualbox/change_default_driver_dir.patch18
-rw-r--r--community-testing/virtualbox/vboxdrv-reference.patch45
-rwxr-xr-xcommunity-testing/virtualbox/vboxdrv.sh92
-rw-r--r--community-testing/virtualbox/virtualbox-4-makeself-check.patch10
-rw-r--r--community-testing/virtualbox/virtualbox-4-mkisofs-check.patch10
-rw-r--r--community-testing/virtualbox/virtualbox-archlinux-modules.install24
-rw-r--r--community-testing/virtualbox/virtualbox.install51
25 files changed, 1172 insertions, 0 deletions
diff --git a/community-testing/lxtask/PKGBUILD b/community-testing/lxtask/PKGBUILD
new file mode 100644
index 000000000..38c46743e
--- /dev/null
+++ b/community-testing/lxtask/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 52423 2011-07-24 22:29:09Z angvp $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+pkgname=lxtask
+pkgver=0.1.4
+pkgrel=2
+pkgdesc="Task manager of the LXDE Desktop"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://lxde.org/"
+groups=('lxde')
+depends=('gtk3')
+makedepends=('pkgconfig' 'intltool')
+source=(http://downloads.sourceforge.net/sourceforge/lxde/${pkgname}-${pkgver}.tar.gz)
+md5sums=('c4ab47d03d41a88696d64d3f1e78cf7f')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ autoreconf
+ ./configure --sysconfdir=/etc --prefix=/usr --enable-gtk3
+ make
+}
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community-testing/open-vm-tools-modules/PKGBUILD b/community-testing/open-vm-tools-modules/PKGBUILD
new file mode 100644
index 000000000..449f8d6cf
--- /dev/null
+++ b/community-testing/open-vm-tools-modules/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 52418 2011-07-24 20:40:05Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Krzysztof Raczkowski <raczkow@gmail.com>
+
+pkgname=open-vm-tools-modules
+pkgver=2011.07.19
+_pkgsubver=450511
+pkgrel=1
+pkgdesc="The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools"
+arch=('i686' 'x86_64')
+url="http://open-vm-tools.sourceforge.net/"
+license=('GPL')
+makedepends=('libdnet' 'icu' 'uriparser' 'linux-headers')
+depends=("linux")
+install=$pkgname.install
+source=("http://downloads.sourceforge.net/open-vm-tools/open-vm-tools-$pkgver-${_pkgsubver}.tar.gz")
+md5sums=('efe9b078045e9f7ea1e1311bf11857e6')
+
+build() {
+ cd "$srcdir/open-vm-tools-${pkgver}-${_pkgsubver}"
+ sed -i 's#-lproc-3.2.7#-lproc-3.2.8#' configure
+ [ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr --without-x
+ (cd modules && make modules)
+}
+
+package() {
+ _kernver=`pacman -Q linux | cut -d . -f 2 | cut -f 1 -d -`
+ depends=("linux>=3.${_kernver}" "linux<3.`expr ${_kernver} + 1`")
+ KERNEL_VERSION=`uname -r`
+ msg "Kernel = $KERNEL_VERSION"
+
+ cd "$srcdir/open-vm-tools-${pkgver}-${_pkgsubver}"
+ mkdir -p $pkgdir/lib/modules/$KERNEL_VERSION/misc/
+ for MOD in `find -type f -name '*.ko'`; do
+ install -D -m644 $MOD $pkgdir/lib/modules/$KERNEL_VERSION/misc/
+ done
+ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='$KERNEL_VERSION'/" $startdir/$pkgname.install
+}
diff --git a/community-testing/open-vm-tools-modules/open-vm-tools-modules.install b/community-testing/open-vm-tools-modules/open-vm-tools-modules.install
new file mode 100644
index 000000000..8de8d6ec5
--- /dev/null
+++ b/community-testing/open-vm-tools-modules/open-vm-tools-modules.install
@@ -0,0 +1,34 @@
+KERNEL_VERSION='2.6.38-ARCH'
+
+post_install() {
+ depmod -a -v $KERNEL_VERSION > /dev/null 2>&1
+
+ VMXNET="install pcnet32 /sbin/modprobe -q --ignore-install vmxnet;"
+ VMXNET="$VMXNET /sbin/modprobe -q --ignore-install pcnet32 $CMDLINE_OPTS;"
+ VMXNET="$VMXNET /bin/true;"
+
+ echo ">>> Enabling vmxnet driver in /etc/modprobe.d/modprobe.conf"
+ echo ">>> (this will disable pcnet32 driver)"
+ sed "$ a \\\n#VMware net driver\n$VMXNET" -i /etc/modprobe.d/modprobe.conf
+ echo
+
+ echo ">>>"
+ echo ">>> If vmxnet driver doesn't handle your NIC, you have to manually"
+ echo ">>> disable loading of pcnet32 driver"
+ echo ">>>"
+}
+
+post_upgrade() {
+ depmod -a -v $KERNEL_VERSION > /dev/null 2>&1
+}
+
+post_remove() {
+ depmod -a -v $KERNEL_VERSION > /dev/null 2>&1
+
+ echo ">>> Disabling vmxnet driver in /etc/modprobe.d/modprobe.conf"
+ sed "/VMware net driver/,+1 d" -i /etc/modprobe.d/modprobe.conf
+
+ echo ">>>"
+ echo ">>> Remember to un-blacklist pcnet32 driver"
+ echo ">>>"
+}
diff --git a/community-testing/open-vm-tools/PKGBUILD b/community-testing/open-vm-tools/PKGBUILD
new file mode 100644
index 000000000..92e48c99b
--- /dev/null
+++ b/community-testing/open-vm-tools/PKGBUILD
@@ -0,0 +1,68 @@
+# $Id: PKGBUILD 52415 2011-07-24 20:39:18Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Krzysztof Raczkowski <raczkow@gmail.com>
+
+pkgname=open-vm-tools
+pkgver=2011.07.19
+_pkgsubver=450511
+pkgrel=1
+pkgdesc="The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools."
+arch=('i686' 'x86_64')
+url="http://open-vm-tools.sourceforge.net/"
+license=('LGPL')
+depends=('open-vm-tools-modules' 'libdnet' 'icu' 'procps' 'glib2' 'uriparser' 'libsigc++' 'libxss')
+makedepends=('chrpath' 'doxygen' 'gtkmm' 'fuse' 'libxtst')
+optdepends=('gtkmm' 'libnotify' 'libxtst' 'fuse' 'libsm')
+options=('docs' '!libtool')
+install=$pkgname.install
+source=(http://switch.dl.sourceforge.net/$pkgname/$pkgname-$pkgver-${_pkgsubver}.tar.gz
+ scripts-network.patch
+ scripts-network-FS19541.patch
+ open-vm-tools-X11Bool.patch
+ open-vm-tools.conf.d
+ open-vm-tools.rc.d
+ tools.conf
+ vmware-guestd
+ xautostart.conf)
+md5sums=('efe9b078045e9f7ea1e1311bf11857e6'
+ '06f7448e274db2a911f582e276088fc9'
+ 'b183ec265200d68431a5e4eb1b0c8cf5'
+ '8c333a979578bdc0c3134c1dd6bb7353'
+ '79b0a14d86191fee70a4639da8bd7785'
+ '67cb83a9e5a4dd016c1a1da2863ca36d'
+ 'b55d15e2c4be396aad709aeca91033d3'
+ '73cc1a2665b0dd62427733d62ead8b9a'
+ '75a25d83417e683957321f97a00f8465')
+
+build() {
+ cd "$srcdir/$pkgname-${pkgver}-${_pkgsubver}"
+ [ $NOEXTRACT -eq 1 ] || {
+ sed -i 's#3.2.7#3.2.8#' configure configure.ac
+ sed -i 's#CFLAGS="$CFLAGS -Werror"##' configure configure.ac
+ }
+ [ -f Makefile ] || ./configure --prefix=/usr --without-kernel-modules
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-${pkgver}-${_pkgsubver}"
+
+ make install DESTDIR=$pkgdir
+ install -D -m 755 scripts/common/vmware-xdg-detect-de $pkgdir/usr/bin/vmware-xdg-detect-de
+ chmod 07755 $pkgdir/usr/bin/vmware-user-suid-wrapper
+
+ cd $pkgdir
+ patch -Np1 -i $srcdir/scripts-network.patch etc/vmware-tools/scripts/vmware/network
+ patch -Np1 -i $srcdir/scripts-network-FS19541.patch etc/vmware-tools/scripts/vmware/network
+
+ install -D -m 755 $srcdir/open-vm-tools.rc.d $pkgdir/etc/rc.d/open-vm-tools
+ install -D -m 644 $srcdir/open-vm-tools.conf.d $pkgdir/etc/conf.d/open-vm-tools
+ install -D -m 644 $srcdir/tools.conf $pkgdir/etc/vmware-tools/tools.conf
+ install -D -m 644 $srcdir/xautostart.conf $pkgdir/etc/vmware-tools/xautostart.conf
+ install -D -m 644 $srcdir/vmware-guestd $pkgdir/etc/pam.d/vmware-guestd
+ rm -rf $pkgdir/usr/etc
+
+ ln -fs /usr/sbin/mount.vmhgfs $pkgdir/sbin/mount.vmhgfs
+
+ cd $pkgdir && find -type f -exec sh -c "file {} | grep ELF >/dev/null && echo {} && chrpath -d {}" \;
+}
diff --git a/community-testing/open-vm-tools/open-vm-tools-X11Bool.patch b/community-testing/open-vm-tools/open-vm-tools-X11Bool.patch
new file mode 100644
index 000000000..f12581807
--- /dev/null
+++ b/community-testing/open-vm-tools/open-vm-tools-X11Bool.patch
@@ -0,0 +1,15 @@
+diff -wbBur open-vm-tools-2010.08.24-292196.org/lib/include/vm_basic_types.h open-vm-tools-2010.08.24-292196/lib/include/vm_basic_types.h
+--- open-vm-tools-2010.08.24-292196.org/lib/include/vm_basic_types.h 2010-08-24 19:59:22.000000000 +0000
++++ open-vm-tools-2010.08.24-292196/lib/include/vm_basic_types.h 2010-08-30 09:38:48.000000000 +0000
+@@ -83,8 +83,11 @@
+
+ /* STRICT ANSI means the Xserver build and X defines Bool differently. */
+ #if !defined(__STRICT_ANSI__) || defined(__FreeBSD__) || defined(__MINGW32__)
++# ifndef _XTYPEDEF_BOOL
++# define _XTYPEDEF_BOOL
+ typedef char Bool;
+ #endif
++#endif
+
+ #ifndef FALSE
+ #define FALSE 0
diff --git a/community-testing/open-vm-tools/open-vm-tools.conf.d b/community-testing/open-vm-tools/open-vm-tools.conf.d
new file mode 100644
index 000000000..83f7864e8
--- /dev/null
+++ b/community-testing/open-vm-tools/open-vm-tools.conf.d
@@ -0,0 +1,6 @@
+# Enable support for Drag'n'Drop
+VM_DRAG_AND_DROP="yes"
+
+# vmware-guestd settings
+GUESTD_BIN="/usr/sbin/vmware-guestd"
+PIDFILE="/var/run/vmware-guestd.pid"
diff --git a/community-testing/open-vm-tools/open-vm-tools.install b/community-testing/open-vm-tools/open-vm-tools.install
new file mode 100644
index 000000000..88d9b88e6
--- /dev/null
+++ b/community-testing/open-vm-tools/open-vm-tools.install
@@ -0,0 +1,10 @@
+post_install() {
+ [ ! -d "/mnt/hgfs" ] && mkdir /mnt/hgfs
+ echo ">>>"
+ echo ">>> You can mount VMware Shared Folders via:"
+ echo ">>> mount -t vmhgfs .host:/ /mnt/hgfs"
+ echo ">>>"
+ echo ">>> or by adding this line to /etc/fstab:"
+ echo ">>> .host:/ /mnt/hgfs vmhgfs defaults 0 0"
+ echo ">>>"
+}
diff --git a/community-testing/open-vm-tools/open-vm-tools.rc.d b/community-testing/open-vm-tools/open-vm-tools.rc.d
new file mode 100644
index 000000000..0c9221489
--- /dev/null
+++ b/community-testing/open-vm-tools/open-vm-tools.rc.d
@@ -0,0 +1,101 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+# source application-specific settings
+[ -f /etc/conf.d/open-vm-tools ] && . /etc/conf.d/open-vm-tools
+
+PID=`pidof -o %PPID /usr/bin/vmtoolsd`
+case "$1" in
+ start)
+ stat_busy "Starting Open Virtual Machine Tools"
+
+ if [ "$VM_DRAG_AND_DROP" == "yes" ]; then
+ VMBLOCK=`grep -w vmblock /proc/modules`
+ [ -z "$VMBLOCK" ] && modprobe vmblock
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ fi
+
+ DND_TMPDIR="/tmp/VMwareDnD"
+ if [ ! -d "$DND_TMPDIR" ]; then
+ mkdir $DND_TMPDIR
+ chmod 1777 $DND_TMPDIR
+ fi
+
+ mount -t vmblock none /proc/fs/vmblock/mountPoint
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ fi
+ fi
+
+
+ for m in vmhgfs vmsync; do
+ VMMOD=`grep -w $m /proc/modules`
+ [ -z "$VMMOD" ] && \
+ { modprobe $m
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ fi; }
+ done
+
+
+ [ -z "$PID" ] && /usr/bin/vmtoolsd --background $PIDFILE
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon open-vm-tools
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Open Virtual Machine Tools"
+ [ ! -z "$PID" ] && kill $PID &>/dev/null
+# if [ $? -gt 0 ]; then
+# stat_fail
+# exit 1
+# fi
+
+ for m in vmhgfs vmsync vmci; do
+ VMMOD=`grep -w $m /proc/modules`
+ [ ! -z "$VMMOD" ] && rmmod $m
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 4
+ fi
+ done
+
+ if [ "$VM_DRAG_AND_DROP" == "yes" ]; then
+ MOUNTPOINT=`grep -w "none /proc/fs/vmblock/mountPoint vmblock" /proc/modules`
+ [ -z "$MOUNTPOINT" ] && umount /proc/fs/vmblock/mountPoint
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 5
+ fi
+
+ DND_TMPDIR="/tmp/VMwareDnD"
+ rm -r $DND_TMPDIR
+
+ VMBLOCK=`grep -w vmblock /proc/modules`
+ [ ! -z "$VMBLOCK" ] && rmmod vmblock
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 6
+ fi
+ fi
+
+ rm_daemon open-vm-tools
+ stat_done
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/open-vm-tools/scripts-network-FS19541.patch b/community-testing/open-vm-tools/scripts-network-FS19541.patch
new file mode 100644
index 000000000..1f65b9824
--- /dev/null
+++ b/community-testing/open-vm-tools/scripts-network-FS19541.patch
@@ -0,0 +1,40 @@
+--- network 2010-04-28 12:30:51.000000000 +0200
++++ network.bak 2010-05-20 12:12:50.000000000 +0200
+@@ -76,7 +76,7 @@
+ else
+ echo `date` "[rescue_nic] activating $nic ..."
+
+- ifup $nic
++ ifconfig $nic up
+ exitCode=`expr $exitCode \| $?`
+ fi
+ done < $activeList
+@@ -103,7 +103,7 @@
+ TranquilizeNetworkManager() {
+ # `which' may be a bit noisy, so we'll shush it.
+ dbusSend=`which dbus-send 2>/dev/null`
+- if [ $? -eq 0 ]; then
++ if [ $? -eq 0 ] && [ `pidof dbus-daemon` ]; then
+ # NetworkManager 0.6
+ $dbusSend --system --dest=org.freedesktop.NetworkManager \
+ /org/freedesktop/NetworkManager \
+@@ -133,7 +133,7 @@
+ WakeNetworkManager() {
+ # `which' may be a bit noisy, so we'll shush it.
+ dbusSend=`which dbus-send 2>/dev/null`
+- if [ $? -eq 0 ]; then
++ if [ $? -eq 0 ] && [ `pidof dbus-daemon` ]; then
+ # NetworkManager 0.6
+ $dbusSend --system --dest=org.freedesktop.NetworkManager \
+ /org/freedesktop/NetworkManager \
+@@ -165,8 +165,8 @@
+
+ # XXX Are these really necessary? If so, we should have seen customer
+ # complaints by now.
+- which ifup >/dev/null 2>&1 || Panic "ifup not in search path."
+- which ifconfig >/dev/null 2>&1 || Panic "ifconfig not in search path."
++# which ifup >/dev/null 2>&1 || Panic "ifup not in search path."
++ which ifconfig >/dev/null 2>&1 || Panic "ifconfig not in search path."
+
+ case "$1" in
+ poweron-vm)
diff --git a/community-testing/open-vm-tools/scripts-network.patch b/community-testing/open-vm-tools/scripts-network.patch
new file mode 100644
index 000000000..13ea7f565
--- /dev/null
+++ b/community-testing/open-vm-tools/scripts-network.patch
@@ -0,0 +1,63 @@
+--- network.org 2010-04-28 10:21:14.000000000 +0000
++++ network 2010-04-28 10:24:00.000000000 +0000
+@@ -34,51 +34,6 @@
+
+
+ #
+-# find_networking_script --
+-#
+-# Searches common Linux distro init/rc paths to find a singular network
+-# services script.
+-#
+-# Result:
+-# Returns a valid networking script path on success or "error" on failure.
+-#
+-# Side effects:
+-# None.
+-#
+-
+-find_networking_script() {
+- local script="error"
+- for dir in "/etc/init.d" "/sbin/init.d" "/etc" "/etc/rc.d" ; do
+- if [ -d "$dir/rc0.d" ] &&
+- [ -d "$dir/rc1.d" ] &&
+- [ -d "$dir/rc2.d" ] &&
+- [ -d "$dir/rc3.d" ] &&
+- [ -d "$dir/rc4.d" ] &&
+- [ -d "$dir/rc5.d" ] &&
+- [ -d "$dir/rc6.d" ]; then
+-
+- # Now find the appropriate networking script.
+- if [ -d "$dir/init.d" ]; then
+- if [ -x "$dir/init.d/network" ]; then
+- script="$dir/init.d/network"
+- elif [ -x "$dir/init.d/networking" ]; then
+- script="$dir/init.d/networking"
+- fi
+- else
+- if [ -x "$dir/network" ]; then
+- script="$dir/network"
+- elif [ -x "$dir/networking" ]; then
+- script="$dir/networking"
+- fi
+- fi
+- fi
+- done
+-
+- echo "$script"
+-}
+-
+-
+-#
+ # save_active_NIC_list --
+ #
+ # Records a list of every active NIC to /var/run/vmware-active-nics.
+@@ -205,7 +160,7 @@
+ exitCode=0
+ activeList=/var/run/vmware-active-nics
+
+- networkScript=`find_networking_script`
++ networkScript=/etc/rc.d/network
+ [ "$networkScript" != "error" ] || Panic "Cannot find system networking script."
+
+ # XXX Are these really necessary? If so, we should have seen customer
diff --git a/community-testing/open-vm-tools/tools.conf b/community-testing/open-vm-tools/tools.conf
new file mode 100644
index 000000000..0bb2681b1
--- /dev/null
+++ b/community-testing/open-vm-tools/tools.conf
@@ -0,0 +1 @@
+bindir = "/usr/bin"
diff --git a/community-testing/open-vm-tools/vmware-guestd b/community-testing/open-vm-tools/vmware-guestd
new file mode 100644
index 000000000..ac80c0385
--- /dev/null
+++ b/community-testing/open-vm-tools/vmware-guestd
@@ -0,0 +1,6 @@
+#%PAM-1.0
+
+auth sufficient /lib/security/pam_unix2.so shadow nullok
+auth required /lib/security/pam_unix_auth.so shadow nullok
+account sufficient /lib/security/pam_unix2.so
+account required /lib/security/pam_unix_acct.so
diff --git a/community-testing/open-vm-tools/xautostart.conf b/community-testing/open-vm-tools/xautostart.conf
new file mode 100644
index 000000000..829f379ce
--- /dev/null
+++ b/community-testing/open-vm-tools/xautostart.conf
@@ -0,0 +1,6 @@
+gnome-panel
+ksmserver
+startkde
+kwrapper
+panel
+xfce4-panel
diff --git a/community-testing/virtualbox/10-vboxdrv.rules b/community-testing/virtualbox/10-vboxdrv.rules
new file mode 100644
index 000000000..37403ae2f
--- /dev/null
+++ b/community-testing/virtualbox/10-vboxdrv.rules
@@ -0,0 +1,5 @@
+KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600" ENV{ACL_MANAGE}="1"
+SUBSYSTEM=="usb_device", ACTION=="add", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
+SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
+SUBSYSTEM=="usb_device", ACTION=="remove", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
+SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
diff --git a/community-testing/virtualbox/18-system-xorg.patch b/community-testing/virtualbox/18-system-xorg.patch
new file mode 100644
index 000000000..4a28b93b6
--- /dev/null
+++ b/community-testing/virtualbox/18-system-xorg.patch
@@ -0,0 +1,277 @@
+Description: Build the X.Org driver only for the selected system X Server version.
+Author: Michael Meskes <meskes@debian.org>, Felix Geyer <debfx-pkg@fobos.de>
+
+diff --git a/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk b/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk
+--- a/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk
++++ b/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk
+@@ -40,8 +40,8 @@ LIBRARIES += \
+ VBoxGuestR3LibShared
+ ifndef VBOX_ONLY_TESTSUITE
+ if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd)
+- LIBRARIES += \
+- VBoxGuestR3LibXFree86
++# LIBRARIES += \
++# VBoxGuestR3LibXFree86
+ endif
+ endif
+ LIBRARIES.win.amd64 += VBoxGuestR3Lib-x86 VBoxGuestR3LibShared-x86
+diff --git a/src/VBox/Additions/common/crOpenGL/Makefile.kmk b/src/VBox/Additions/common/crOpenGL/Makefile.kmk
+--- a/src/VBox/Additions/common/crOpenGL/Makefile.kmk
++++ b/src/VBox/Additions/common/crOpenGL/Makefile.kmk
+@@ -63,16 +63,12 @@ VBoxOGL_TEMPLATE = VBOXCROGLR3GUESTDLL
+ VBoxOGL_INCS = .
+ if1of ($(KBUILD_TARGET), linux solaris freebsd)
+ VBoxOGL_INCS += \
+- $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \
+- $(VBOX_PATH_X11_ROOT)/libXcomposite-0.4.0 \
+- $(VBOX_PATH_X11_ROOT)/libXfixes-4.0.3 \
+- $(VBOX_PATH_X11_ROOT)/damageproto-1.1.0 \
+- $(VBOX_PATH_X11_ROOT)/compositeproto-0.4 \
+- $(VBOX_PATH_X11_ROOT)/fixesproto-4.0 \
+- $(VBOX_PATH_X11_ROOT)/libx11-1.1.5-other \
+- $(VBOX_PATH_X11_ROOT)/1.3/xorg \
++ /usr/include/x11 \
++ /usr/include/xorg \
++ /usr/include/pixman-1 \
+ $(VBOX_MESA_INCS) \
+- $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13
++ /usr/include/drm \
++ /usr/include/libdrm
+ VBoxOGL_DEFS += VBOX_NO_NATIVEGL
+ endif
+
+diff --git a/src/VBox/Additions/x11/Makefile.kmk b/src/VBox/Additions/x11/Makefile.kmk
+--- a/src/VBox/Additions/x11/Makefile.kmk
++++ b/src/VBox/Additions/x11/Makefile.kmk
+@@ -17,6 +17,10 @@
+ SUB_DEPTH = ../../../..
+ include $(KBUILD_PATH)/subheader.kmk
+
++ifn1of ($(XSERVER_VERSION), 13 14 15 16 17 18 19 110)
++ XSERVER_VERSION := 17
++endif
++
+ # Include sub-makefiles.
+ if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
+ include $(PATH_SUB_CURRENT)/VBoxClient/Makefile.kmk
+diff --git a/src/VBox/Additions/x11/vboxmouse/Makefile.kmk b/src/VBox/Additions/x11/vboxmouse/Makefile.kmk
+--- a/src/VBox/Additions/x11/vboxmouse/Makefile.kmk
++++ b/src/VBox/Additions/x11/vboxmouse/Makefile.kmk
+@@ -23,7 +23,6 @@ include $(KBUILD_PATH)/subheader.kmk
+ # vboxmouse_drv
+ #
+ if1of ($(KBUILD_TARGET), linux)
+- SYSMODS += vboxmouse_drv
+ vboxmouse_drv_TEMPLATE = VBOXGUESTR3XF86MOD
+ vboxmouse_drv_DEFS.linux = linux
+ vboxmouse_drv_DEFS.x86 += __i386__
+@@ -59,7 +58,6 @@ endif
+ #
+ # vboxmouse_drv_70
+ #
+-DLLS += vboxmouse_drv_70
+ vboxmouse_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxmouse_drv_70_DEFS = \
+ XFree86Server IN_MODULE XFree86Module XFree86LOADER XINPUT XORG_7X IN_XF86_MODULE
+@@ -80,7 +78,6 @@ vboxmouse_drv_70_SOURCES = \
+ #
+ # vboxmouse_drv_71
+ #
+-DLLS += vboxmouse_drv_71
+ vboxmouse_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxmouse_drv_71_DEFS := $(vboxmouse_drv_70_DEFS)
+ vboxmouse_drv_71_INCS := \
+@@ -97,7 +94,6 @@ vboxmouse_drv_71_SOURCES = \
+ #
+ # vboxmouse_drv_13
+ #
+-DLLS += vboxmouse_drv_13
+ vboxmouse_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxmouse_drv_13_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ vboxmouse_drv_13_INCS := \
+@@ -112,7 +108,6 @@ vboxmouse_drv_13_SOURCES = \
+ #
+ # vboxmouse_drv_14
+ #
+-DLLS += vboxmouse_drv_14
+ vboxmouse_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxmouse_drv_14_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ vboxmouse_drv_14_INCS := \
+@@ -126,7 +121,6 @@ endif
+ #
+ # vboxmouse_drv_15
+ #
+-DLLS += vboxmouse_drv_15
+ vboxmouse_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxmouse_drv_15_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ vboxmouse_drv_15_INCS := \
+@@ -141,7 +135,6 @@ vboxmouse_drv_15_SOURCES = \
+ #
+ # vboxmouse_drv_16
+ #
+-DLLS += vboxmouse_drv_16
+ vboxmouse_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxmouse_drv_16_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ vboxmouse_drv_16_INCS := \
+@@ -157,7 +150,6 @@ vboxmouse_drv_16_SOURCES = \
+ #
+ # vboxmouse_drv_17
+ #
+-DLLS += vboxmouse_drv_17
+ vboxmouse_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxmouse_drv_17_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
+@@ -177,7 +169,6 @@ vboxmouse_drv_17_SOURCES = \
+ #
+ # vboxmouse_drv_18
+ #
+-DLLS += vboxmouse_drv_18
+ vboxmouse_drv_18_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxmouse_drv_18_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
+@@ -197,7 +188,6 @@ vboxmouse_drv_18_SOURCES = \
+ #
+ # vboxmouse_drv_19
+ #
+-DLLS += vboxmouse_drv_19
+ vboxmouse_drv_19_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxmouse_drv_19_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
+@@ -217,7 +207,6 @@ vboxmouse_drv_19_SOURCES = \
+ #
+ # vboxmouse_drv_110
+ #
+-DLLS += vboxmouse_drv_110
+ vboxmouse_drv_110_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxmouse_drv_110_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
+@@ -234,6 +224,14 @@ vboxmouse_drv_110_SOURCES = \
+ vboxmouse_15.c
+
+
++vboxmouse_drv_$(XSERVER_VERSION)_NAME := vboxmouse_drv
++vboxmouse_drv_$(XSERVER_VERSION)_INCS := \
++ /usr/include/x11 \
++ /usr/include/xorg \
++ /usr/include/pixman-1
++DLLS += vboxmouse_drv_$(XSERVER_VERSION)
++
++
+ # Check the undefined symbols in the X.Org modules against lists of allowed
+ # symbols. Not very elegant, but it will catch problems early.
+ ifdef VBOX_WITH_TESTCASES
+diff --git a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+--- a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
++++ b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+@@ -22,7 +22,6 @@ include $(KBUILD_PATH)/subheader.kmk
+ # vboxvideo_drv
+ #
+ if1of ($(KBUILD_TARGET), linux)
+- SYSMODS += vboxvideo_drv
+ endif # target linux
+ vboxvideo_drv_TEMPLATE = VBOXGUESTR3XF86MOD
+ vboxvideo_drv_DEFS.linux = linux
+@@ -89,7 +88,6 @@ endif # target linux
+ # base keywords instead of using .solaris or .linux.
+ # Also it is *important* to use := and not = when deriving a property.
+ #
+-DLLS += vboxvideo_drv_70
+ vboxvideo_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD
+ if1of ($(KBUILD_TARGET), linux)
+ vboxvideo_drv_70_CFLAGS += \
+@@ -112,7 +110,6 @@ vboxvideo_drv_70_SOURCES = $(vboxvideo_drv_SOURCES)
+ #
+ # vboxvideo_drv_71
+ #
+-DLLS += vboxvideo_drv_71
+ vboxvideo_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxvideo_drv_71_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
+ vboxvideo_drv_71_DEFS := $(vboxvideo_drv_70_DEFS)
+@@ -127,7 +124,6 @@ vboxvideo_drv_71_SOURCES = $(vboxvideo_drv_SOURCES)
+ #
+ # vboxvideo_drv_13
+ #
+-DLLS += vboxvideo_drv_13
+ vboxvideo_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxvideo_drv_13_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
+ vboxvideo_drv_13_DEFS := $(vboxvideo_drv_70_DEFS) VBOXVIDEO_13
+@@ -146,7 +142,6 @@ vboxvideo_drv_13_SOURCES = \
+ #
+ # vboxvideo_drv_14
+ #
+-DLLS += vboxvideo_drv_14
+ vboxvideo_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxvideo_drv_14_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
+ vboxvideo_drv_14_DEFS := $(vboxvideo_drv_13_DEFS)
+@@ -165,7 +160,6 @@ vboxvideo_drv_14_SOURCES = $(vboxvideo_drv_13_SOURCES)
+ #
+ # vboxvideo_drv_15
+ #
+-DLLS += vboxvideo_drv_15
+ vboxvideo_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxvideo_drv_15_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
+ vboxvideo_drv_15_DEFS := $(vboxvideo_drv_13_DEFS) NO_ANSIC PCIACCESS \
+@@ -192,7 +186,6 @@ endif
+ #
+ # vboxvideo_drv_16
+ #
+-DLLS += vboxvideo_drv_16
+ vboxvideo_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxvideo_drv_16_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
+ vboxvideo_drv_16_DEFS := $(vboxvideo_drv_15_DEFS)
+@@ -212,7 +205,6 @@ vboxvideo_drv_16_SOURCES := $(vboxvideo_drv_15_SOURCES)
+ #
+ # vboxvideo_drv_17
+ #
+-DLLS += vboxvideo_drv_17
+ vboxvideo_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxvideo_drv_17_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
+ vboxvideo_drv_17_DEFS := $(vboxvideo_drv_15_DEFS)
+@@ -239,7 +231,6 @@ vboxvideo_drv_17_SOURCES := $(vboxvideo_drv_15_SOURCES)
+ #
+ # vboxvideo_drv_18
+ #
+-DLLS += vboxvideo_drv_18
+ vboxvideo_drv_18_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxvideo_drv_18_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
+ vboxvideo_drv_18_DEFS := $(vboxvideo_drv_15_DEFS)
+@@ -266,7 +257,6 @@ vboxvideo_drv_18_SOURCES := $(vboxvideo_drv_15_SOURCES)
+ #
+ # vboxvideo_drv_19
+ #
+-DLLS += vboxvideo_drv_19
+ vboxvideo_drv_19_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxvideo_drv_19_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
+ vboxvideo_drv_19_DEFS := $(vboxvideo_drv_15_DEFS)
+@@ -293,7 +282,6 @@ vboxvideo_drv_19_SOURCES := $(vboxvideo_drv_15_SOURCES)
+ #
+ # vboxvideo_drv_110
+ #
+-DLLS += vboxvideo_drv_110
+ vboxvideo_drv_110_TEMPLATE = VBOXGUESTR3XORGMOD
+ vboxvideo_drv_110_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
+ vboxvideo_drv_110_DEFS := $(vboxvideo_drv_15_DEFS)
+@@ -317,6 +306,23 @@ vboxvideo_drv_110_INCS = \
+ vboxvideo_drv_110_SOURCES := $(vboxvideo_drv_15_SOURCES)
+
+
++vboxvideo_drv_$(XSERVER_VERSION)_NAME := vboxvideo_drv
++vboxvideo_drv_$(XSERVER_VERSION)_INCS := \
++ /usr/include/xorg \
++ /usr/include/x11 \
++ /usr/include/pixman-1 \
++ /usr/include/X11/dri \
++ /usr/include/drm \
++ /usr/include/libdrm
++vboxvideo_drv_$(XSERVER_VERSION)_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
++DLLS += vboxvideo_drv_$(XSERVER_VERSION)
++
++# required for lenny backports
++ifeq ($(XSERVER_VERSION),14)
++ vboxvideo_drv_$(XSERVER_VERSION)_INCS += $(VBOX_PATH_X11_XORG_1_4)/xorg
++endif
++
++
+ # Check the undefined symbols in the X.Org modules against lists of allowed
+ # symbols. Not very elegant, but it will catch problems early.
+ ifdef VBOX_WITH_TESTCASES
diff --git a/community-testing/virtualbox/60-vboxguest.rules b/community-testing/virtualbox/60-vboxguest.rules
new file mode 100644
index 000000000..6285f7249
--- /dev/null
+++ b/community-testing/virtualbox/60-vboxguest.rules
@@ -0,0 +1,2 @@
+ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600"
+ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666"
diff --git a/community-testing/virtualbox/LocalConfig.kmk b/community-testing/virtualbox/LocalConfig.kmk
new file mode 100644
index 000000000..e5cbcebcd
--- /dev/null
+++ b/community-testing/virtualbox/LocalConfig.kmk
@@ -0,0 +1,19 @@
+VBOX_WITH_ADDITION_DRIVERS =
+VBOX_WITH_INSTALLER = 1
+VBOX_WITH_LINUX_ADDITIONS = 1
+VBOX_WITH_X11_ADDITIONS = 1
+VBOX_WITH_TESTCASES =
+VBOX_WITH_TESTSUITE =
+VBOX_WITH_ORIGIN :=
+VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox
+VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
+VBOX_PATH_APP_DOCS := /usr/share/virtualbox
+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_GCC_WERR =
+VBOX_GCC_WARN =
diff --git a/community-testing/virtualbox/PKGBUILD b/community-testing/virtualbox/PKGBUILD
new file mode 100644
index 000000000..98b245770
--- /dev/null
+++ b/community-testing/virtualbox/PKGBUILD
@@ -0,0 +1,205 @@
+# $Id: PKGBUILD 52407 2011-07-24 17:47:57Z ibiru $
+#Maintainer: Ionut Biru <ibiru@archlinux.org>
+pkgbase=virtualbox
+pkgname=('virtualbox' 'virtualbox-archlinux-additions' 'virtualbox-archlinux-modules' 'virtualbox-sdk')
+pkgver=4.1.0
+pkgrel=3
+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-headers' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'openjdk6' '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
+ UserManual-$pkgver.pdf::http://download.virtualbox.org/virtualbox/${pkgver}/UserManual.pdf
+ virtualbox-4-makeself-check.patch virtualbox-4-mkisofs-check.patch
+ 10-vboxdrv.rules 60-vboxguest.rules vboxdrv-reference.patch LocalConfig.kmk vboxdrv.sh
+ change_default_driver_dir.patch)
+_kernver=3.0.0-ARCH
+
+build() {
+ cd "$srcdir/VirtualBox-${pkgver}_OSE"
+
+ patch -Np1 -i "$srcdir/virtualbox-4-makeself-check.patch"
+ patch -Np1 -i "$srcdir/virtualbox-4-mkisofs-check.patch"
+ patch -Np1 -i "$srcdir/vboxdrv-reference.patch"
+ patch -Np1 -i "$srcdir/change_default_driver_dir.patch"
+
+ cp "$srcdir/LocalConfig.kmk" .
+
+ ./configure --disable-docs \
+ --enable-webservice \
+ --enable-vde \
+ --with-linux=/usr/src/linux-${_kernver}
+ source ./env.sh
+ kmk all
+
+ export KERN_DIR=/usr/src/linux-${_kernver}
+ make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
+ make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src/vboxvideo"
+ sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' "out/linux.$BUILD_PLATFORM_ARCH/release/bin/vboxshell.py"
+}
+
+package_virtualbox() {
+ pkgdesc="Powerful x86 virtualization for enterprise as well as home use"
+ depends=('libxml2' 'libxcursor' 'libidl2' 'libxinerama' 'sdl' 'libxmu' 'curl' 'libvncserver' 'libpng' 'linux-headers' 'gcc' 'make')
+ optdepends=('qt: for VirtualBox GUI'
+ 'vde2: Virtual Distributed Ethernet support'
+ 'virtualbox-sdk: developer kit')
+
+ replaces=('virtualbox-ose')
+ conflicts=('virtualbox-ose')
+ install=virtualbox.install
+
+ source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
+
+ cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
+ mkdir -p "$pkgdir"/usr/{bin,lib/virtualbox/components,lib/virtualbox/ExtensionPacks,share/virtualbox/nls}
+
+ #doc
+ install -m 0644 "$srcdir/UserManual-$pkgver.pdf" "$pkgdir/usr/share/virtualbox/UserManual.pdf"
+
+ #Binaries and Wrapper with Launchers
+ install -m 0755 VBox.sh "$pkgdir/usr/bin/VBox"
+
+ for i in VBoxHeadless vboxheadless VBoxManage vboxmanage VBoxSDL vboxsdl VirtualBox virtualbox vboxwebsrv VBoxBalloonCtrl vboxballoonctrl; do
+ ln -sf VBox "$pkgdir/usr/bin/$i"
+ done
+ install -m 0755 VBoxTunctl "$pkgdir/usr/bin"
+
+ #components
+ install -m 0755 components/* -t "$pkgdir/usr/lib/virtualbox/components"
+
+ #lib
+ install -m 0755 *.so "$pkgdir/usr/lib/virtualbox"
+ install -m 0644 *.gc *.r0 VBoxEFI*.fd "$pkgdir/usr/lib/virtualbox"
+
+ #setuid root binaries
+ install -m 4755 VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl -t "$pkgdir/usr/lib/virtualbox"
+ #other binaries
+ install -m 0755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL VBoxBalloonCtrl vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox"
+
+ #language
+ install -m 0755 nls/*.qm -t "$pkgdir/usr/share/virtualbox/nls"
+
+ #useless scripts
+ install -m 0755 VBoxCreateUSBNode.sh VBoxSysInfo.sh -t "$pkgdir/usr/share/virtualbox"
+
+ #icons
+ install -D -m 0644 VBox.png "$pkgdir/usr/share/pixmaps/VBox.png"
+
+ pushd icons
+ for i in *; do
+ install -d "$pkgdir/usr/share/icons/hicolor/$i/mimetypes"
+ cp $i/* "$pkgdir/usr/share/icons/hicolor/$i/mimetypes"
+ done
+ popd
+
+ #desktop
+ install -D -m 0644 virtualbox.desktop "$pkgdir/usr/share/applications/virtualbox.desktop"
+ install -D -m 0644 virtualbox.xml "$pkgdir/usr/share/mime/packages/virtualbox.xml"
+
+ #install configuration
+ mkdir -p "$pkgdir/etc/vbox"
+ echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg"
+
+ #udev and licence
+ install -D -m 0644 "$srcdir/VirtualBox-${pkgver}_OSE/COPYING" \
+ "$pkgdir/usr/share/licenses/virtualbox/LICENSE"
+ install -D -m 0644 "$srcdir/10-vboxdrv.rules" \
+ "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules"
+
+ #sources for modules
+ cp -r src ${pkgdir}/usr/lib/virtualbox
+ #install compilation script
+ install -D -m 755 "${srcdir}/vboxdrv.sh" "${pkgdir}/etc/rc.d/vboxdrv"
+}
+
+package_virtualbox-sdk() {
+ pkgdesc=" VirtualBox Software Developer Kit (SDK)"
+ depends=('python2')
+
+ 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"
+
+ install -D -m 0755 vboxshell.py "$pkgdir/usr/lib/virtualbox/vboxshell.py"
+ #python sdk
+ pushd sdk/installer
+ VBOX_INSTALL_PATH="/usr/lib/virtualbox" python2 vboxapisetup.py install --root "${pkgdir}"
+ popd
+ rm -rf sdk/installer
+ mv sdk "$pkgdir/usr/lib/virtualbox"
+}
+
+package_virtualbox-archlinux-additions(){
+ pkgdesc="Additions only for Arch Linux guests (userspace tools)"
+ depends=("virtualbox-archlinux-modules=$pkgver" 'gcc-libs' 'libxmu' 'xorg-xrandr')
+ replaces=('virtualbox-guest-additions')
+ conflicts=('virtualbox-guest-additions')
+
+ source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
+
+ cd "$srcdir/VirtualBox-${pkgver}_OSE/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 -m644 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/50-vboxmouse.conf \
+ "$pkgdir"/etc/X11/xorg.conf.d/50-vboxmouse.conf
+ install -m644 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/linux/installer/70-xorg-vboxmouse.rules \
+ "$pkgdir"/lib/udev/rules.d/70-xorg-vboxmouse.rules
+ install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/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 \
+ "$pkgdir"/etc/xdg/autostart/vboxclient.desktop
+ install -D vboxmouse_drv_110.so \
+ "$pkgdir/usr/lib/xorg/modules/input/vboxmouse.so"
+ install -D vboxvideo_drv_110.so \
+ "$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so"
+ install -d "$pkgdir/usr/lib/xorg/modules/dri"
+ install -m755 VBoxOGL*.so "$pkgdir/usr/lib"
+ ln -s /usr/lib/VBoxOGL.so "$pkgdir/usr/lib/xorg/modules/dri/vboxvideo_dri.so"
+ install -m755 -D pam_vbox.so "$pkgdir/lib/security/pam_vbox.so"
+
+}
+
+package_virtualbox-archlinux-modules(){
+ pkgdesc="Additions only for Arch Linux guests (kernel modules)"
+ license=('GPL')
+ install=virtualbox-archlinux-modules.install
+ depends=('linux>=3.0' 'linux<3.1')
+ replaces=('virtualbox-guest-modules')
+ conflicts=('virtualbox-guest-modules')
+
+ source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
+
+ cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
+
+ install -D -m644 vboxguest.ko \
+ "$pkgdir/lib/modules/$_kernver/misc/vboxguest.ko"
+
+ install -D -m644 vboxsf.ko \
+ "$pkgdir/lib/modules/$_kernver/misc/vboxsf.ko"
+
+ install -D -m644 vboxvideo.ko \
+ "$pkgdir/lib/modules/$_kernver/misc/vboxvideo.ko"
+
+ install -D -m 0644 "$srcdir/60-vboxguest.rules" \
+ "$pkgdir/lib/udev/rules.d/60-vboxguest.rules"
+
+ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-archlinux-modules.install"
+}
+md5sums=('02556a6b4877cfdfbaa3ce0a0c0dcf31'
+ '24056c13ddbe2c9b5d135e8c96a53a11'
+ '44efb3c4be214daa453a317d527f1f30'
+ '32a232b43852b9a08cb11a7bcd64b347'
+ '5f85710e0b8606de967716ded7b2d351'
+ 'ed1341881437455d9735875ddf455fbe'
+ '4cf75d9c091199a47a7a1bc2f4e347d9'
+ '78ffa67ff131680f1d2b6f06d4325c5b'
+ '838c4c4ebe11b34ae2168df5cd06f694'
+ '97e193f050574dd272a38e5ee5ebe62b')
diff --git a/community-testing/virtualbox/change_default_driver_dir.patch b/community-testing/virtualbox/change_default_driver_dir.patch
new file mode 100644
index 000000000..d8531499d
--- /dev/null
+++ b/community-testing/virtualbox/change_default_driver_dir.patch
@@ -0,0 +1,18 @@
+diff -Nur VirtualBox-4.1.0_OSE.orig/src/VBox/Additions/common/crOpenGL/fakedri_drv.c VirtualBox-4.1.0_OSE/src/VBox/Additions/common/crOpenGL/fakedri_drv.c
+--- VirtualBox-4.1.0_OSE.orig/src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2011-07-19 15:11:37.903456612 +0000
++++ VirtualBox-4.1.0_OSE/src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2011-07-19 15:12:41.024021274 +0000
+@@ -36,13 +36,8 @@
+ //#define DEBUG_DRI_CALLS
+
+ //@todo this could be different...
+-#ifdef RT_ARCH_AMD64
+-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib64/dri:/usr/lib/dri:/usr/lib/x86_64-linux-gnu/dri"
++# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/xorg/modules/dri"
+ # define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/"
+-#else
+-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/dri:/usr/lib/i386-linux-gnu/dri"
+-# define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/"
+-#endif
+
+ #ifdef DEBUG_DRI_CALLS
+ #define SWDRI_SHOWNAME(pext, func) \
diff --git a/community-testing/virtualbox/vboxdrv-reference.patch b/community-testing/virtualbox/vboxdrv-reference.patch
new file mode 100644
index 000000000..05d840f05
--- /dev/null
+++ b/community-testing/virtualbox/vboxdrv-reference.patch
@@ -0,0 +1,45 @@
+diff -Nur VirtualBox-4.1.0_OSE.orig/src/VBox/Frontends/VirtualBox/src/main.cpp VirtualBox-4.1.0_OSE/src/VBox/Frontends/VirtualBox/src/main.cpp
+--- VirtualBox-4.1.0_OSE.orig/src/VBox/Frontends/VirtualBox/src/main.cpp 2011-07-19 15:11:37.730121727 +0000
++++ VirtualBox-4.1.0_OSE/src/VBox/Frontends/VirtualBox/src/main.cpp 2011-07-19 19:02:15.658471139 +0000
+@@ -75,9 +75,8 @@
+ "The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or "
+ "there is a permission problem with /dev/vboxdrv. Please reinstall the kernel "
+ "module by executing<br/><br/>"
+- " <font color=blue>'/etc/init.d/vboxdrv setup'</font><br/><br/>"
+- "as root. Users of Ubuntu, Fedora or Mandriva should install the DKMS "
+- "package first. This package keeps track of Linux kernel changes and "
++ " <font color=blue>'rc.d setup vboxdrv'</font><br/><br/>"
++ "as root. This package keeps track of Linux kernel changes and"
+ "recompiles the vboxdrv kernel module if necessary."
+ );
+
+@@ -92,7 +91,7 @@
+ "The VirtualBox kernel modules do not match this version of "
+ "VirtualBox. The installation of VirtualBox was apparently not "
+ "successful. Executing<br/><br/>"
+- " <font color=blue>'/etc/init.d/vboxdrv setup'</font><br/><br/>"
++ " <font color=blue>'rc.d setup vboxdrv'</font><br/><br/>"
+ "may correct this. Make sure that you do not mix the "
+ "OSE version and the PUEL version of VirtualBox."
+ );
+diff -Nur VirtualBox-4.1.0_OSE.orig/src/VBox/Installer/linux/VBox.sh VirtualBox-4.1.0_OSE/src/VBox/Installer/linux/VBox.sh
+--- VirtualBox-4.1.0_OSE.orig/src/VBox/Installer/linux/VBox.sh 2011-07-19 15:11:37.603453927 +0000
++++ VirtualBox-4.1.0_OSE/src/VBox/Installer/linux/VBox.sh 2011-07-19 19:02:15.658471139 +0000
+@@ -34,7 +34,7 @@
+ 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
++ sudo rc.d setup vboxdrv
+
+ You will not be able to start VMs until this problem is fixed.
+ EOF
+@@ -42,7 +42,7 @@
+ cat << EOF
+ WARNING: The character device /dev/vboxdrv does not exist. Try
+
+- sudo /etc/init.d/vboxdrv restart
++ sudo rc.d restart vboxdrv
+
+ and if that is not successful, try to re-install the package.
+
diff --git a/community-testing/virtualbox/vboxdrv.sh b/community-testing/virtualbox/vboxdrv.sh
new file mode 100755
index 000000000..5eb7ecb89
--- /dev/null
+++ b/community-testing/virtualbox/vboxdrv.sh
@@ -0,0 +1,92 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/vbox/vbox.cfg
+
+MODLIST=()
+LOG="/var/log/vbox-install.log"
+
+if [ -n "$INSTALL_DIR" ]; then
+ VBOXMANAGE="$INSTALL_DIR/VBoxManage"
+ BUILDVBOXDRV="$INSTALL_DIR/src/vboxdrv/build_in_tmp"
+ BUILDVBOXNETFLT="$INSTALL_DIR/src/vboxnetflt/build_in_tmp"
+ BUILDVBOXNETADP="$INSTALL_DIR/src/vboxnetadp/build_in_tmp"
+ BUILDVBOXPCI="$INSTALL_DIR/src/vboxpci/build_in_tmp"
+else
+ echo "missing vbox.cfg"
+ exit 0
+fi
+
+case "$1" in
+ setup)
+ stat_busy "Unloading VirtualBox kernel modules"
+ for module in vbox{netflt,netadp,drv}; do
+ if grep -q "^${module}" /proc/modules; then
+ MODLIST+=($module)
+ modprobe -r $module
+ fi
+ done
+ stat_done
+ for p in /lib/modules/*; do
+ if [ ! -d "$p/kernel" ]; then
+ if [ -e "$p/misc/vboxdrv.ko" ]; then
+ stat_busy "Removing old VirtualBox kernel modules from $p"
+ rm -f "$p/misc/vbox"{drv,netadp,netflt,pci}.ko 2>/dev/null
+ rmdir -p --ignore-fail-on-non-empty "$p/misc/" 2>/dev/null
+ stat_done
+ fi
+ fi
+ done
+ if find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|grep -q vboxnetadp; then
+ stat_busy "Removing old VirtualBox netadp kernel module"
+ find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2>/dev/null
+ stat_done
+ fi
+ if find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|grep -q vboxnetflt; then
+ stat_busy "Removing old VirtualBox netflt kernel module"
+ find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2>/dev/null
+ stat_done
+ fi
+ if find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|grep -q vboxdrv; then
+ stat_busy "Removing old VirtualBox kernel module"
+ find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2>/dev/null
+ stat_done
+ fi
+ if find /lib/modules/`uname -r` -name "vboxpci\.*" 2>/dev/null|grep -q vboxpci; then
+ stat_busy "Removing old VirtualBox pci kernel module"
+ find /lib/modules/`uname -r` -name "vboxpci\.*" 2>/dev/null|xargs rm -f 2>/dev/null
+ stat_done
+ fi
+
+ stat_busy "Recompiling VirtualBox kernel modules"
+ if ! $BUILDVBOXDRV \
+ --save-module-symvers /tmp/vboxdrv-Module.symvers \
+ --no-print-directory install > $LOG 2>&1; then
+ echo "Look at $LOG to find out what went wrong"
+ fi
+ if ! $BUILDVBOXNETFLT \
+ --use-module-symvers /tmp/vboxdrv-Module.symvers \
+ --no-print-directory install >> $LOG 2>&1; then
+ echo "Look at $LOG to find out what went wrong"
+ fi
+ if ! $BUILDVBOXNETADP \
+ --use-module-symvers /tmp/vboxdrv-Module.symvers \
+ --no-print-directory install >> $LOG 2>&1; then
+ echo "Look at $LOG to find out what went wrong"
+ fi
+ if ! $BUILDVBOXPCI \
+ --use-module-symvers /tmp/vboxdrv-Module.symvers \
+ --no-print-directory install >> $LOG 2>&1; then
+ echo "Look at $LOG to find out what went wrong"
+ fi
+ stat_done
+ stat_busy "Reloading VirtualBox kernel modules"
+ for module in "${MODLIST[@]}"; do
+ modprobe $module
+ done
+ stat_done
+ ;;
+ *)
+ echo "usage: $0 {setup}"
+esac
diff --git a/community-testing/virtualbox/virtualbox-4-makeself-check.patch b/community-testing/virtualbox/virtualbox-4-makeself-check.patch
new file mode 100644
index 000000000..e1fcb8c2f
--- /dev/null
+++ b/community-testing/virtualbox/virtualbox-4-makeself-check.patch
@@ -0,0 +1,10 @@
+--- VirtualBox-4.0.0_OSE/configure
++++ VirtualBox-4.0.0_OSE/configure
+@@ -2527,7 +2527,6 @@
+ check_compiler_h
+ [ "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit
+ # tools/common/makeself*
+- [ $OSE -ge 1 ] && check_makeself
+ fi
+
+ [ -n "$SETUP_WINE" ] && setup_wine
diff --git a/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch b/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch
new file mode 100644
index 000000000..8b0d59123
--- /dev/null
+++ b/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch
@@ -0,0 +1,10 @@
+--- VirtualBox-4.0.0_OSE/configure
++++ VirtualBox-4.0.0_OSE/configure
+@@ -2499,7 +2499,6 @@
+ # don't check for yasm for the time beeing as 0.40 and 0.50 both have known bugs
+ # [ "$OS" != "darwin" ] && check_yasm
+ [ "$OS" != "darwin" ] && check_xsltproc
+-[ "$OS" != "darwin" ] && check_mkisofs
+
+ # the libraries
+ [ "$OS" != "darwin" ] && check_pthread
diff --git a/community-testing/virtualbox/virtualbox-archlinux-modules.install b/community-testing/virtualbox/virtualbox-archlinux-modules.install
new file mode 100644
index 000000000..d3e425584
--- /dev/null
+++ b/community-testing/virtualbox/virtualbox-archlinux-modules.install
@@ -0,0 +1,24 @@
+KERNEL_VERSION='3.0.0-ARCH'
+
+post_install() {
+ cat << EOM
+
+===> virtualbox-archlinux-modules post-install message:
+===>
+===> You may want to load vboxguest, vboxsf and vboxvideo
+===>
+===> To load them automatically, add them
+===> to the MODULES array in /etc/rc.conf.
+
+EOM
+
+ depmod -v $KERNEL_VERSION >/dev/null 2>&1
+}
+
+post_remove() {
+ depmod -v $KERNEL_VERSION >/dev/null 2>&1
+}
+
+post_upgrade() {
+ depmod -v $KERNEL_VERSION >/dev/null 2>&1
+}
diff --git a/community-testing/virtualbox/virtualbox.install b/community-testing/virtualbox/virtualbox.install
new file mode 100644
index 000000000..97a1b52f9
--- /dev/null
+++ b/community-testing/virtualbox/virtualbox.install
@@ -0,0 +1,51 @@
+utils() {
+ if [ -x usr/bin/update-mime-database ]; then
+ update-mime-database usr/share/mime > /dev/null 2>&1
+ fi
+
+ if [ -x usr/bin/xdg-icon-resource ]; then
+ xdg-icon-resource forceupdate --theme hicolor > /dev/null 2>&1
+ fi
+
+ if [ -x usr/bin/update-desktop-database ]; then
+ usr/bin/update-desktop-database -q
+ fi
+}
+
+post_install() {
+ getent group vboxusers >> /dev/null || usr/sbin/groupadd -g 108 vboxusers
+ /bin/cat << EOF
+
+===> In order to run VirtualBox, you have to be in the 'vboxusers' group.
+===>
+===> If you want to be able to install guest additions, you have to install
+===> 'virtualbox-additions' package.
+===>
+===> You must load vboxdrv module before starting VirtualBox:
+===> # modprobe vboxdrv
+===>
+===> For networking you must load vboxnetflt or vboxnetadp.
+===>
+===> For PCI passthrough support load vboxpci module.
+===>
+===> To load it automatically, add vboxdrv module
+===> to the MODULES array in /etc/rc.conf.
+
+*** To compile the modules do rc.d setup vboxdrv ***
+
+EOF
+ utils
+}
+
+post_upgrade() {
+ getent group vboxusers >> /dev/null || usr/sbin/groupadd -g 108 vboxusers
+ /bin/cat << EOF
+*** To recompile the modules do rc.d setup vboxdrv ***
+EOF
+ utils
+}
+
+post_remove() {
+ groupdel vboxusers >/dev/null 2>&1 || true
+ utils
+}