summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlibre/virtualbox-libre-modules/PKGBUILD204
-rwxr-xr-xlibre/virtualbox-libre-modules/build.sh20
-rwxr-xr-xlibre/virtualbox-libre-modules/virtualbox-libre-modules.install2
3 files changed, 78 insertions, 148 deletions
diff --git a/libre/virtualbox-libre-modules/PKGBUILD b/libre/virtualbox-libre-modules/PKGBUILD
index 917a14f0c..d8c509e4b 100755
--- a/libre/virtualbox-libre-modules/PKGBUILD
+++ b/libre/virtualbox-libre-modules/PKGBUILD
@@ -1,161 +1,71 @@
# $Id$
-#Maintainer: Ionut Biru <ibiru@archlinux.org>
-#Maintainer (Parabola): Jorge López <jorginho@lavabit.com>
-#Contributor (Parabola): André Silva <emulatorman@lavabit.com>
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Maintainer (Parabola): Jorge López <jorginho@lavabit.com>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
pkgbase=virtualbox-libre-modules
-pkgname=('virtualbox-libre-modules' 'virtualbox-libre-parabola-modules')
-pkgver=4.1.22
-pkgrel=1
+pkgname=('virtualbox-libre-host-modules' 'virtualbox-libre-guest-modules')
+pkgver=4.2.0
+pkgrel=2
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL')
-makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl-libre' 'linux-libre-headers')
-[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc')
-source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2
- LocalConfig.kmk 60-vboxguest.rules 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=('84c5beeead094ce52d098105897aadbb'
- '4c88bd122677a35f68abd76eb01b378b'
- 'ed1341881437455d9735875ddf455fbe'
- '8538dba8686d7449cb481c9bae9d722a'
- '545c925b46f2ac95e5f8ae407fad101a'
- 'f6416f509c2e5460e4dc624e0a57f3c1'
- 'bbfb59dd517c020a23701b480187a355'
- 'efacfdb61918286ea9bc89866b8fd239'
- '7c3eb09995e8bafeef414374e44ad4ce'
- 'a49ed3ab6bd0fb084de0ab3dd97ae93e'
- '6b432b3305ed446125eef052c38355a6'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- '6b432b3305ed446125eef052c38355a6'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- '380eb2ab6cad3da198094585853c129c'
- 'a60bb9a98abcc3c34156f9051d00df9a'
- '3a908ef6952bcf987e63ef2fe4e98d24'
- '02e87c39c353634cecacf98f1707fa15'
- '0cf41a41e7a415d404d5584e047fd450'
- '449cde3b58390284b59c5d663de3edc9'
- 'c7951fe6888d939f3a7d0dafe477e82b'
- '4da8eeb2ece7e475fc7a0d1003da26c6'
- '5e4187af59726d71c5be48d0cd816c34'
- 'a9e4724b56ddf99bb2e9a8fab8ad43ba'
- '1e47d90affabfbf6dbb07d9d42742d6a')
-
-_extramodules=extramodules-3.5-LIBRE
-
-
-
+makedepends=('linux-libre-headers'
+ "virtualbox-libre-host-source>=$pkgver"
+ "virtualbox-libre-guest-source>=$pkgver"
+ 'expac')
build() {
- _kernver="$(cat /usr/lib/modules/${_extramodules}/version || true)"
-
- export KERN_DIR=/usr/lib/modules/${_kernver}/build
- export KERN_INCL=/usr/src/linux-${_kernver}/include/
-
- cd "$srcdir/VirtualBox-${pkgver}"
-
- patch -Np1 -i "$srcdir/libre.patch"
- patch -Np1 -i "$srcdir/free-distros.patch"
-
- ## Removing Nonfree directories
- rm -rv "./include/VBox/ExtPack"
- rm -rv "./src/VBox/ExtPacks"
- rm -rv "./src/VBox/Main/src-helper-apps"
-
- ## Removing Oracle VM VirtualBox Extension Pack icons
- rm -v "./src/VBox/Resources/darwin/virtualbox-vbox-extpack.icns"
- rm -v "./src/VBox/Resources/other/virtualbox-vbox-extpack-"{16px,20px,24px,32px,40px,48px,64px,72px,80px,96px,128px,256px,512px}.png
- rm -v "./src/VBox/Resources/win/OSE/virtualbox-vbox-extpack.ico"
- rm -v "./src/VBox/Frontends/VirtualBox/images/extension_pack_"{16px,32px,disabled{_16px,_32px},install{_16px,_32px},install_disabled{_16px,_32px},uninstall{_16px,_32px},uninstall_disabled{_16px,_32px}}.png
-
- ## Adding free distros icons
- for i in {gnuhurd,dynebolic,venenux,{gnu{,linux},parabola,gnewsense,blag,dragora,ututo,musix,trisquel}{,_64}}; do
- cp -v "$srcdir/os_${i}.png" "./src/VBox/Frontends/VirtualBox/images"
- done
-
- ## Removing non-free OS icons
- rm -v "./src/VBox/Frontends/VirtualBox/images/os_"{{{arch,turbo}linux,debian,fedora,gentoo,linux{24,26},macosx,mandriva,{free,net,open}bsd,redhat,solaris,opensuse,oracle{,solaris},ubuntu,win{2k{3,8},7,8,vista,xp},xandros}{,_64},dos,jrockitve,l4,linux{,22,_other},netware,qnx,os2{_other,ecs,warp{3,4,45}},win{2k,31,95,98,_other,me,nt4}}.png
-
- cp "$srcdir/LocalConfig.kmk" .
-
- ./configure \
- --with-linux=/usr/src/linux-${_kernver} \
- --disable-java \
- --disable-docs \
- --disable-xpcom \
- --disable-python \
- --disable-sdl-ttf \
- --disable-alsa \
- --disable-pulse \
- --disable-dbus \
- --disable-opengl \
- --build-headless \
- --nofatal
- source ./env.sh
- kmk all
-
- make -C "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src"
- make -C "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
+ # current kernel libre version
+ _kernver=$(expac -Q '%v' linux-libre-headers)-LIBRE
+ # dkms need modification to be run as user
+ cp -r /var/lib/dkms .
+ echo "dkms_tree='$srcdir/dkms'" > dkms.conf
+ # build host modules
+ msg2 'Host modules'
+ dkms --dkmsframework dkms.conf build "vboxhost/$pkgver" -k "$_kernver"
+ # build guest modules
+ msg2 'Guest modules'
+ dkms --dkmsframework dkms.conf build "vboxguest/$pkgver" -k "$_kernver"
}
-package_virtualbox-libre-parabola-modules(){
- pkgdesc="Additions only for Parabola guests (kernel libre modules)"
- license=('GPL')
- install=virtualbox-libre-parabola-modules.install
- depends=('linux-libre>=3.5' 'linux-libre<3.6')
- replaces=('virtualbox-archlinux-modules')
- conflicts=('virtualbox-archlinux-modules')
- provides=("virtualbox-archlinux-modules=$pkgver")
-
- source "$srcdir/VirtualBox-${pkgver}/env.sh"
-
- cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
-
- for module in vboxguest.ko vboxsf.ko vboxvideo.ko; do
- install -D -m644 ${module} \
- "$pkgdir/usr/lib/modules/${_extramodules}/${module}"
- done
-
- install -D -m 0644 "$srcdir/60-vboxguest.rules" \
- "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules"
-
- find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
-
- sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "$startdir/virtualbox-libre-parabola-modules.install"
+package_virtualbox-libre-host-modules(){
+ pkgdesc='Host kernel libre modules for VirtualBox'
+ depends=('linux-libre>=3.5' 'linux-libre<3.6')
+ provides=("virtualbox-host-modules=${pkgver}")
+ replaces=('virtualbox-host-modules' 'virtualbox-modules' 'virtualbox-libre-modules')
+ conflicts=('virtualbox-host-modules' 'virtualbox-modules' 'virtualbox-libre-modules')
+ install=virtualbox-libre-host-modules.install
+
+ _kernver=$(expac -Q '%v' linux-libre-headers)-LIBRE
+ _extraver=extramodules-${_kernver%.*}-LIBRE
+
+ install -dm755 "$pkgdir/usr/lib/modules/$_extraver"
+ cd "dkms/vboxhost/$pkgver/$_kernver/$CARCH/module"
+ install -m644 * "$pkgdir/usr/lib/modules/$_extraver"
+ find "$pkgdir" -name '*.ko' -exec gzip -9 {} +
+ sed -ie "s/EXTRAMODULES='.*'/EXTRAMODULES='$_extraver'/" "$startdir/virtualbox-libre-host-modules.install"
}
-package_virtualbox-libre-modules(){
- pkgdesc="Kernel libre modules for VirtualBox"
- license=('GPL')
- install=virtualbox-libre-modules.install
- depends=('linux-libre>=3.5' 'linux-libre<3.6')
- replaces=('virtualbox-modules')
- conflicts=('virtualbox-modules')
- provides=("virtualbox-modules=$pkgver")
-
- source "$srcdir/VirtualBox-${pkgver}/env.sh"
-
-
- cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src"
-
- install -D -m644 vboxdrv.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxdrv.ko"
-
- install -D -m644 vboxnetadp.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxnetadp.ko"
-
- install -D -m644 vboxnetflt.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxnetflt.ko"
-
- install -D -m644 vboxpci.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxpci.ko"
+package_virtualbox-libre-guest-modules(){
+ pkgdesc='Guest kernel libre modules for VirtualBox'
+ license=('GPL')
+ depends=('linux-libre>=3.5' 'linux-libre<3.6')
+ provides=("virtualbox-guest-modules=${pkgver}"
+ replaces=('virtualbox-guest-modules' 'virtualbox-archlinux-modules' 'virtualbox-parabola-modules')
+ conflicts=('virtualbox-guest-modules' 'virtualbox-archlinux-modules' 'virtualbox-parabola-modules')
+ install=virtualbox-libre-guest-modules.install
+
+ _kernver=$(expac -Q '%v' linux-libre-headers)-LIBRE
+ _extraver=extramodules-${_kernver%.*}-LIBRE
+
+ install -dm755 "$pkgdir/usr/lib/modules/$_extraver"
+ cd "dkms/vboxguest/$pkgver/$_kernver/$CARCH/module"
+ install -m644 * "$pkgdir/usr/lib/modules/$_extraver"
+ find "$pkgdir" -name '*.ko' -exec gzip -9 {} +
+ sed -ie "s/EXTRAMODULES='.*'/EXTRAMODULES='$_extraver'/" "$startdir/virtualbox-host-modules.install"
+}
- find "${pkgdir}" -name '*.ko' -exec gzip -9 {} +
- sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "$startdir/virtualbox-libre-modules.install"
-}
+# vim:set ts=2 sw=2 et:
diff --git a/libre/virtualbox-libre-modules/build.sh b/libre/virtualbox-libre-modules/build.sh
new file mode 100755
index 000000000..87aefbff0
--- /dev/null
+++ b/libre/virtualbox-libre-modules/build.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+if (( $# != 1 )); then
+ echo "usage: $0 extra"
+ echo " $0 testing"
+ exit 1
+fi
+
+$1-i686-build
+linux32 makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-host-source-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
+linux32 makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-guest-source-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
+linux32 makechrootpkg -r /var/lib/archbuild/$1-i686
+
+$1-x86_64-build
+makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-host-source-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
+makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-guest-source-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
+makechrootpkg -r /var/lib/archbuild/$1-x86_64
+
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/virtualbox-libre-modules/virtualbox-libre-modules.install b/libre/virtualbox-libre-modules/virtualbox-libre-modules.install
index 3f2a12a3f..8605cf20a 100755
--- a/libre/virtualbox-libre-modules/virtualbox-libre-modules.install
+++ b/libre/virtualbox-libre-modules/virtualbox-libre-modules.install
@@ -1,5 +1,5 @@
post_install() {
-/bin/cat << EOF
+cat << EOF
===> You must load vboxdrv module before starting VirtualBox:
===> # modprobe vboxdrv
EOF