From 9ddf3e5a94b0848cdf9e6ffcc586576bb614bc13 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 25 Sep 2012 00:23:17 -0700 Subject: Tue Sep 25 00:23:14 PDT 2012 --- libre/virtualbox-libre/60-vboxguest.rules | 2 + libre/virtualbox-libre/PKGBUILD | 141 ++++++++++++++------- libre/virtualbox-libre/vboxdrv-reference.patch | 81 ++---------- .../virtualbox-libre-guest-utils.install | 31 +++++ 4 files changed, 142 insertions(+), 113 deletions(-) create mode 100644 libre/virtualbox-libre/60-vboxguest.rules create mode 100755 libre/virtualbox-libre/virtualbox-libre-guest-utils.install (limited to 'libre/virtualbox-libre') 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

" + "module by executing

" - " '/etc/init.d/vboxdrv setup'

" - "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

" -+ " 'pacman -S virtualbox-libre-modules'

" -+ "as root. If you don't use our stock kernel libre, install virtualbox-libre-host-source and " ++ " 'pacman -S virtualbox-modules'

" ++ "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

" - " '/etc/init.d/vboxdrv setup'

" - "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

" ++ "VirtualBox. Reload the modules or if you don't use our stock kernel execute

" + " 'dkms autoinstall'

" ); 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 ( -- "Cannot access the kernel driver!

"); -+ "Cannot access the kernel libre driver!

"); - # 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: -- cgit v1.2.3-54-g00ecf