summaryrefslogtreecommitdiff
path: root/libre/virtualbox-libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre/virtualbox-libre')
-rw-r--r--libre/virtualbox-libre/60-vboxguest.rules2
-rw-r--r--libre/virtualbox-libre/PKGBUILD141
-rw-r--r--libre/virtualbox-libre/vboxdrv-reference.patch81
-rwxr-xr-xlibre/virtualbox-libre/virtualbox-libre-guest-utils.install31
4 files changed, 142 insertions, 113 deletions
diff --git a/libre/virtualbox-libre/60-vboxguest.rules b/libre/virtualbox-libre/60-vboxguest.rules
new file mode 100644
index 000000000..6285f7249
--- /dev/null
+++ b/libre/virtualbox-libre/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/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD
index 27e15f01f..ff13b50b9 100644
--- a/libre/virtualbox-libre/PKGBUILD
+++ b/libre/virtualbox-libre/PKGBUILD
@@ -10,36 +10,88 @@ pkgbase=virtualbox-libre
pkgname=('virtualbox-libre'
'virtualbox-libre-sdk'
'virtualbox-libre-host-source'
- 'virtualbox-libre-guest-additions'
+ 'virtualbox-libre-guest-utils'
'virtualbox-libre-guest-source')
pkgver=4.2.0
-pkgrel=2
+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-libre' 'libxmu' 'curl' 'python2' 'linux-libre-headers' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'jdk7-openjdk' 'gsoap' 'vde2' 'cdrkit')
-#'xorg-server-devel' 'xf86driproto' 'libxcomposite')
+makedepends=('alsa-lib'
+ 'bin86'
+ 'cdrkit-libre'
+ 'curl'
+ 'dev86'
+ 'gsoap'
+ 'iasl'
+ 'jdk7-openjdk'
+ 'libidl2'
+ 'libpulse'
+ 'libstdc++5'
+ 'libvncserver'
+ 'libxcursor'
+ 'libxinerama'
+ 'libxml2'
+ 'libxmu'
+ 'libxrandr'
+ 'libxslt'
+ 'libxtst'
+ 'linux-libre-headers'
+ 'mesa'
+ 'python2'
+ 'qt'
+ 'sdl-libre'
+ 'sdl_ttf'
+ 'vde2'
+ 'xalan-c')
[[ $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
- change_default_driver_dir.patch vboxservice.conf vboxservice.rc vboxservice.service
- vboxweb.conf vboxweb.rc vboxweb.service os_blag_64.png os_blag.png os_dragora_64.png
- os_dragora.png os_dynebolic.png os_gnewsense_64.png os_gnewsense.png os_gnu_64.png
- os_gnuhurd.png os_gnulinux_64.png os_gnulinux.png os_gnu.png os_musix_64.png
- os_musix.png os_parabola_64.png os_parabola.png os_trisquel_64.png os_trisquel.png
- os_ututo_64.png os_ututo.png os_venenux.png libre.patch free-distros.patch)
+source=("http://download.virtualbox.org/virtualbox/$pkgver/VirtualBox-$pkgver.tar.bz2"
+ '10-vboxdrv.rules'
+ '60-vboxguest.rules'
+ 'LocalConfig.kmk'
+ 'vboxservice.conf'
+ 'vboxservice.rc'
+ 'vboxservice.service'
+ 'vboxweb.conf'
+ 'vboxweb.rc'
+ 'vboxweb.service'
+ 'change_default_driver_dir.patch'
+ 'vboxdrv-reference.patch'
+ 'os_blag_64.png'
+ 'os_blag.png'
+ 'os_dragora_64.png'
+ 'os_dragora.png'
+ 'os_dynebolic.png'
+ 'os_gnewsense_64.png'
+ 'os_gnewsense.png'
+ 'os_gnu_64.png'
+ 'os_gnuhurd.png'
+ 'os_gnulinux_64.png'
+ 'os_gnulinux.png'
+ 'os_gnu.png'
+ 'os_musix_64.png'
+ 'os_musix.png'
+ 'os_parabola_64.png'
+ 'os_parabola.png'
+ 'os_trisquel_64.png'
+ 'os_trisquel.png'
+ 'os_ututo_64.png'
+ 'os_ututo.png'
+ 'os_venenux.png'
+ 'libre.patch'
+ 'free-distros.patch')
md5sums=('691b4134983ce7d89b9fb683305cb647'
'5f85710e0b8606de967716ded7b2d351'
- 'aa0c090e33aab3e2853b679cc52cba2a'
+ 'ed1341881437455d9735875ddf455fbe'
'58d6e5bb4b4c1c6f3f0b3daa6aaeed03'
- '97e193f050574dd272a38e5ee5ebe62b'
'3c08ad30b89add47d3f45121200a5360'
'7d9823507206de9b8528a72af2f18d74'
'07c5f6d86c4b7839d719c8ee0c53653b'
'7e9483b1069a54f181546083ac7e5469'
'c159d683ba1947290fc2ad2c64194150'
'bc9efed88e0469cd7fc460d5a5cd7b4b'
+ '97e193f050574dd272a38e5ee5ebe62b'
+ 'fdaecf7dd5796c052599e8f2bf48da64'
'8538dba8686d7449cb481c9bae9d722a'
'545c925b46f2ac95e5f8ae407fad101a'
'f6416f509c2e5460e4dc624e0a57f3c1'
@@ -64,8 +116,8 @@ md5sums=('691b4134983ce7d89b9fb683305cb647'
'67cc4c8611890038eb3e4114ae899525'
'71df5e3eebe07e683782b264dadf65e7')
-_extramodules=extramodules-3.5-LIBRE
-_kernver="$(cat /usr/lib/modules/${_extramodules}/version)" || true
+#_extramodules=extramodules-3.5-LIBRE
+#_kernver="$(cat /usr/lib/modules/${_extramodules}/version)" || true
build() {
cd "VirtualBox-$pkgver"
@@ -104,7 +156,8 @@ build() {
--enable-webservice \
--enable-vde \
--enable-vnc \
- --with-linux=/usr/src/linux-${_kernver}
+ --disable-kmods
+# --with-linux=/usr/src/linux-${_kernver}
source ./env.sh
kmk all
sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' "out/linux.$BUILD_PLATFORM_ARCH/release/bin/vboxshell.py"
@@ -115,14 +168,13 @@ build() {
}
package_virtualbox-libre() {
- pkgdesc="Powerful x86 virtualization for enterprise as well as home use (without non-free distros and others OS presets for the VM creation wizard; Oracle VM VirtualBox Extension Pack support removed)"
+ pkgdesc='Powerful x86 virtualization for enterprise as well as home use (without non-free distros and others OS presets for the VM creation wizard; Oracle VM VirtualBox Extension Pack support removed)'
depends=('virtualbox-libre-host-modules' 'libxml2' 'libxcursor' 'libxinerama' 'sdl-libre' 'libxmu' 'curl' 'libvncserver' 'libpng')
- optdepends=('qt: for VirtualBox GUI'
+ optdepends=('qt: VirtualBox GUI support'
'vde2: Virtual Distributed Ethernet support'
- 'virtualbox-libre-sdk: developer kit'
- 'virtualbox-libre-host-source: host kernel libre source modules for non-stock kernels'
- 'net-tools: for host-only or bridged networking')
-
+ 'virtualbox-libre-sdk: Developer kit'
+ 'virtualbox-libre-host-source: Host kernel libre source modules for non-stock kernels'
+ 'net-tools: Host-only or bridged networking support')
backup=('etc/vbox/vbox.cfg' 'etc/conf.d/vboxweb')
replaces=('virtualbox' 'virtualbox-ose')
conflicts=('virtualbox' 'virtualbox-ose')
@@ -184,7 +236,7 @@ package_virtualbox-libre() {
echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg"
#udev and licence
- install -D -m 0644 "$srcdir/VirtualBox-${pkgver}/COPYING" \
+ install -D -m 0644 "$srcdir/VirtualBox-$pkgver/COPYING" \
"$pkgdir/usr/share/licenses/virtualbox/LICENSE"
install -D -m 0644 "$srcdir/10-vboxdrv.rules" \
"$pkgdir/usr/lib/udev/rules.d/10-vboxdrv.rules"
@@ -214,14 +266,14 @@ package_virtualbox-libre-sdk() {
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}"
+ 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-libre-host-source() {
- pkgdesc='VirtualBox kernel libre modules source'
+ pkgdesc='VirtualBox Host kernel libre modules source'
depends=('dkms' 'gcc' 'make')
provides=("virtualbox-host-source=$pkgver" 'virtualbox-libre-host-modules')
replaces=('virtualbox-host-source' 'virtualbox-source' 'virtualbox-libre-source')
@@ -237,9 +289,9 @@ package_virtualbox-libre-host-source() {
}
package_virtualbox-libre-guest-source() {
- pkgdesc='VirtualBox Additions kernel libre modules source'
+ pkgdesc='VirtualBox Guest kernel libre modules source'
depends=('dkms' 'gcc' 'make')
- provides=("virtualbox-guest-source=${pkgver}" 'virtualbox-libre-guest-modules')
+ provides=("virtualbox-guest-source=$pkgver" 'virtualbox-libre-guest-modules')
replaces=('virtualbox-guest-source' 'virtualbox-archlinux-source' 'virtualbox-parabola-source')
conflicts=('virtualbox-guest-source' 'virtualbox-archlinux-source' 'virtualbox-parabola-source')
optdepends=('linux-libre-headers'
@@ -252,23 +304,21 @@ package_virtualbox-libre-guest-source() {
cp -r src "$pkgdir/usr/src/vboxguest-$pkgver"
}
-package_virtualbox-libre-guest-additions(){
- pkgdesc='Additions for guests only (userspace tools)'
+package_virtualbox-libre-guest-utils(){
+ pkgdesc='VirtualBox Guest userspace utilities'
depends=('virtualbox-libre-guest-modules' 'gcc-libs' 'libxmu' 'xorg-xrandr' 'libxfixes')
- provides=("virtualbox-guest-additions=${pkgver}")
- replaces=('virtualbox-guest-additions' 'virtualbox-archlinux-additions' 'virtualbox-parabola-additions')
- conflicts=('virtualbox-guest-additions' 'virtualbox-archlinux-additions' 'virtualbox-parabola-additions')
+ optdepends=('virtualbox-guest-source: Guest kernel libre source modules for non-stock kernels')
+ provides=("virtualbox-guest-utils=$pkgver")
+ replaces=('virtualbox-guest-utils' 'virtualbox-archlinux-additions' 'virtualbox-parabola-additions' 'virtualbox-guest-additions' 'virtualbox-libre-guest-additions')
+ conflicts=('virtualbox-guest-utils' 'virtualbox-archlinux-additions' 'virtualbox-parabola-additions' 'virtualbox-guest-additions' 'virtualbox-libre-guest-additions')
backup=('etc/conf.d/vboxservice')
- install=virtualbox-libre-guest-additions.install
+ install=virtualbox-libre-guest-utils.install
source "VirtualBox-$pkgver/env.sh"
-
- cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
-
+ pushd "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/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
"$pkgdir"/usr/bin/VBoxClient-all
install -m755 -D "$srcdir"/VirtualBox-$pkgver/src/VBox/Additions/x11/Installer/vboxclient.desktop \
@@ -279,14 +329,15 @@ package_virtualbox-libre-guest-additions(){
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/usr/lib/security/pam_vbox.so"
-
+ popd
+ # install udev rules
+ install -D -m 0644 60-vboxguest.rules \
+ "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules"
# install rc.d script
- install -D -m755 "$srcdir/vboxservice.rc" "$pkgdir/etc/rc.d/vboxservice"
-
+ install -D -m755 vboxservice.rc "$pkgdir/etc/rc.d/vboxservice"
# install sample config
- install -D -m644 "$srcdir/vboxservice.conf" "$pkgdir/etc/conf.d/vboxservice"
-
+ install -D -m644 vboxservice.conf "$pkgdir/etc/conf.d/vboxservice"
# install systemd service file
- install -D -m644 "$srcdir/vboxservice.service" \
+ install -D -m644 vboxservice.service \
"$pkgdir/usr/lib/systemd/system/vboxservice.service"
}
diff --git a/libre/virtualbox-libre/vboxdrv-reference.patch b/libre/virtualbox-libre/vboxdrv-reference.patch
index 4703da68d..be650440e 100644
--- a/libre/virtualbox-libre/vboxdrv-reference.patch
+++ b/libre/virtualbox-libre/vboxdrv-reference.patch
@@ -1,88 +1,44 @@
diff -Nur VirtualBox-4.1.6_OSE.orig/src/VBox/Frontends/VirtualBox/src/main.cpp VirtualBox-4.1.6_OSE/src/VBox/Frontends/VirtualBox/src/main.cpp
--- VirtualBox-4.1.6_OSE.orig/src/VBox/Frontends/VirtualBox/src/main.cpp 2011-11-04 17:22:13.636083176 +0000
+++ VirtualBox-4.1.6_OSE/src/VBox/Frontends/VirtualBox/src/main.cpp 2011-11-04 17:48:58.915541368 +0000
-@@ -67,38 +67,34 @@
-
- /* XXX Temporarily. Don't rely on the user to hack the Makefile himself! */
- QString g_QStrHintLinuxNoMemory = QApplication::tr(
-- "This error means that the kernel driver was either not able to "
-+ "This error means that the kernel libre driver was either not able to "
- "allocate enough memory or that some mapping operation failed."
- );
-
- QString g_QStrHintLinuxNoDriver = QApplication::tr(
-- "The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or "
-+ "The VirtualBox Linux-libre kernel driver (vboxdrv) is either not loaded or "
+@@ -75,10 +75,9 @@
+ "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/>"
+ "module by executing<br/><br/>"
- " <font color=blue>'/etc/init.d/vboxdrv setup'</font><br/><br/>"
- "as root. If it is available in your distribution, you should install the "
- "DKMS package first. This package keeps track of Linux kernel changes and "
- "recompiles the vboxdrv kernel module if necessary."
-+ "libre module by executing<br/><br/>"
-+ " <font color=blue>'pacman -S virtualbox-libre-modules'</font><br/><br/>"
-+ "as root. If you don't use our stock kernel libre, install virtualbox-libre-host-source and "
++ " <font color=blue>'pacman -S virtualbox-modules'</font><br/><br/>"
++ "as root. If you don't use our stock kernel, install virtualbox-host-source and"
+ "execute dkms autoinstall ."
);
QString g_QStrHintOtherWrongDriverVersion = QApplication::tr(
-- "The VirtualBox kernel modules do not match this version of "
-+ "The VirtualBox kernel libre modules do not match this version of "
- "VirtualBox. The installation of VirtualBox was apparently not "
- "successful. Please try completely uninstalling and reinstalling "
- "VirtualBox."
- );
+@@ -90,11 +89,8 @@
QString g_QStrHintLinuxWrongDriverVersion = QApplication::tr(
-- "The VirtualBox kernel modules do not match this version of "
+ "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/>"
- "may correct this. Make sure that you do not mix the "
- "OSE version and the PUEL version of VirtualBox."
-+ "The VirtualBox kernel libre modules do not match this version of "
-+ "VirtualBox. Reload the modules or if you don't use our stock kernel libre execute<br/><br/> "
++ "VirtualBox. Reload the modules or if you don't use our stock kernel execute<br/><br/> "
+ " <font color=blue>'dkms autoinstall'</font><br/><br/>"
);
QString g_QStrHintOtherNoDriver = QApplication::tr(
-- "Make sure the kernel module has been loaded successfully."
-+ "Make sure the kernel libre module has been loaded successfully."
- );
-
- /* I hope this isn't (C), (TM) or (R) Microsoft support ;-) */
-@@ -590,7 +586,7 @@
- case VERR_VM_DRIVER_NOT_INSTALLED:
- case VERR_VM_DRIVER_LOAD_ERROR:
- msgText += QApplication::tr (
-- "<b>Cannot access the kernel driver!</b><br/><br/>");
-+ "<b>Cannot access the kernel libre driver!</b><br/><br/>");
- # ifdef RT_OS_LINUX
- msgText += g_QStrHintLinuxNoDriver;
- # else
-@@ -603,7 +599,7 @@
- break;
- # endif
- case VERR_VM_DRIVER_NOT_ACCESSIBLE:
-- msgText += QApplication::tr ("Kernel driver not accessible");
-+ msgText += QApplication::tr ("Kernel libre driver not accessible");
- break;
- case VERR_VM_DRIVER_VERSION_MISMATCH:
- # ifdef RT_OS_LINUX
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
+++ VirtualBox-4.1.6_OSE/src/VBox/Installer/linux/VBox.sh 2011-11-04 17:56:50.735874087 +0000
-@@ -30,19 +30,20 @@
- SHUTDOWN="true"
- elif ! lsmod|grep -q vboxdrv; then
+@@ -32,17 +32,18 @@
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
+ 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
-+WARNING: The vboxdrv kernel libre module is not loaded. Either there is no module
-+ available for the current kernel libre (`uname -r`) or it failed to
-+ load. Please reinstall the kernel libre module virtualbox-libre-modules or
-+ if you don't use our stock kernel libre compile the modules with
++ load. Please reinstall the kernel module virtualbox-modules or
++ if you don't use our stock kernel compile the modules with
- sudo /etc/init.d/vboxdrv setup
+ sudo dkms autoinstall
@@ -99,14 +55,3 @@ diff -Nur VirtualBox-4.1.6_OSE.orig/src/VBox/Installer/linux/VBox.sh VirtualBox-
and if that is not successful, try to re-install the package.
-@@ -52,9 +53,8 @@
-
- if [ -f /etc/vbox/module_not_compiled ]; then
- cat << EOF
--WARNING: The compilation of the vboxdrv.ko kernel module failed during the
-+WARNING: The compilation of the vboxdrv.ko kernel libre 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
- \ No newline at end of file
diff --git a/libre/virtualbox-libre/virtualbox-libre-guest-utils.install b/libre/virtualbox-libre/virtualbox-libre-guest-utils.install
new file mode 100755
index 000000000..38bbe807d
--- /dev/null
+++ b/libre/virtualbox-libre/virtualbox-libre-guest-utils.install
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# arg 1: the new package version
+post_install() {
+ getent group vboxsf > /dev/null || groupadd -g 109 vboxsf
+ true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install "$1"
+ # rename /etc/rc.d/vboxservice
+ if [ "`vercmp $2 4.1.18-3`" -lt 0 ]; then
+ cat << EOF
+==> rc.d vbox-service script was renamed to vboxservice.
+EOF
+ fi
+ # fix gid of vboxsf
+ if [ "`vercmp $2 4.1.18-4`" -lt 0 ]; then
+ groupmod -g 109 vboxsf
+ fi
+ true
+}
+
+# arg 1: the old package version
+post_remove() {
+ groupdel vboxsf >/dev/null 2>&1 || true
+}
+
+# vim:set ts=2 sw=2 ft=sh et: