summaryrefslogtreecommitdiff
path: root/libre/virtualbox-libre-modules-lts
diff options
context:
space:
mode:
Diffstat (limited to 'libre/virtualbox-libre-modules-lts')
-rw-r--r--libre/virtualbox-libre-modules-lts/PKGBUILD194
-rwxr-xr-xlibre/virtualbox-libre-modules-lts/build.sh20
-rw-r--r--libre/virtualbox-libre-modules-lts/virtualbox-libre-guest-modules-lts.install16
-rw-r--r--libre/virtualbox-libre-modules-lts/virtualbox-libre-host-modules-lts.install18
4 files changed, 110 insertions, 138 deletions
diff --git a/libre/virtualbox-libre-modules-lts/PKGBUILD b/libre/virtualbox-libre-modules-lts/PKGBUILD
index a3355d582..13a37fe88 100644
--- a/libre/virtualbox-libre-modules-lts/PKGBUILD
+++ b/libre/virtualbox-libre-modules-lts/PKGBUILD
@@ -1,153 +1,71 @@
# $Id$
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
-# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
-# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: 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-lts
-pkgname=('virtualbox-libre-modules-lts' 'virtualbox-libre-parabola-modules-lts')
-pkgver=4.1.22
-pkgrel=1
+pkgname=('virtualbox-libre-host-modules-lts' 'virtualbox-libre-guest-modules-lts')
+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-lts' 'linux-libre-lts-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.0-LIBRE-LTS
+makedepends=('linux-libre-lts-headers'
+ "virtualbox-libre-host-source>=$pkgver"
+ "virtualbox-libre-guest-source>=$pkgver"
+ 'expac')
build() {
- _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
- 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-lts-headers)-LIBRE-LTS
+ # 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-lts(){
- pkgdesc="Additions only for Parabola guests (long-term supported kernel libre modules)"
- license=('GPL')
- install=virtualbox-libre-parabola-modules-lts.install
- depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1')
- replaces=('virtualbox-archlinux-modules-lts')
- conflicts=('virtualbox-archlinux-modules-lts')
- provides=("virtualbox-archlinux-modules-lts=$pkgver" 'virtualbox-libre-parabola-modules')
-
- 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 {} \;
+package_virtualbox-libre-host-modules-lts(){
+ pkgdesc='Host kernel libre modules for VirtualBox'
+ depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1')
+ replaces=('virtualbox-host-modules-lts' 'virtualbox-modules-lts' 'virtualbox-libre-modules-lts')
+ conflicts=('virtualbox-host-modules-lts' 'virtualbox-modules-lts' 'virtualbox-libre-modules-lts')
+ provides=("virtualbox-host-modules-lts=$pkgver" "virtualbox-libre-host-modules=$pkgver")
+ install=virtualbox-libre-host-modules-lts.install
+
+ _kernver=$(expac -Q '%v' linux-libre-lts-headers)-LIBRE-LTS
+ _extraver=extramodules-${_kernver%.*}-LIBRE-LTS
+
+ 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-lts.install"
}
-package_virtualbox-libre-modules-lts(){
- pkgdesc="Long-term supported kernel libre modules for VirtualBox"
- license=('GPL')
- install=virtualbox-libre-modules-lts.install
- depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1')
- replaces=('virtualbox-modules-lts')
- conflicts=('virtualbox-modules-lts')
- provides=("virtualbox-modules-lts=$pkgver" 'virtualbox-libre-modules')
-
- 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"
-
- find "${pkgdir}" -name '*.ko' -exec gzip -9 {} +
+package_virtualbox-libre-guest-modules-lts(){
+ pkgdesc='Guest kernel libre modules for VirtualBox'
+ license=('GPL')
+ depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1')
+ replaces=('virtualbox-guest-modules-lts' 'virtualbox-archlinux-modules-lts' 'virtualbox-libre-parabola-modules-lts')
+ conflicts=('virtualbox-guest-modules-lts' 'virtualbox-archlinux-modules-lts' 'virtualbox-libre-parabola-modules-lts')
+ provides=("virtualbox-guest-modules-lts=$pkgver" "virtualbox-libre-host-modules=$pkgver")
+ install=virtualbox-libre-guest-modules-lts.install
+
+ _kernver=$(expac -Q '%v' linux-libre-lts-headers)-LIBRE-LTS
+ _extraver=extramodules-${_kernver%.*}-LIBRE-LTS
+
+ 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-libre-guest-modules-lts.install"
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/virtualbox-libre-modules-lts/build.sh b/libre/virtualbox-libre-modules-lts/build.sh
new file mode 100755
index 000000000..87aefbff0
--- /dev/null
+++ b/libre/virtualbox-libre-modules-lts/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-lts/virtualbox-libre-guest-modules-lts.install b/libre/virtualbox-libre-modules-lts/virtualbox-libre-guest-modules-lts.install
new file mode 100644
index 000000000..54a052390
--- /dev/null
+++ b/libre/virtualbox-libre-modules-lts/virtualbox-libre-guest-modules-lts.install
@@ -0,0 +1,16 @@
+EXTRAMODULES='extramodules-3.0-LIBRE-LTS'
+
+post_install() {
+cat << EOF
+===> You may want to load vboxguest, vboxsf and vboxvideo
+EOF
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_upgrade() {
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_remove() {
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
diff --git a/libre/virtualbox-libre-modules-lts/virtualbox-libre-host-modules-lts.install b/libre/virtualbox-libre-modules-lts/virtualbox-libre-host-modules-lts.install
new file mode 100644
index 000000000..4503996e8
--- /dev/null
+++ b/libre/virtualbox-libre-modules-lts/virtualbox-libre-host-modules-lts.install
@@ -0,0 +1,18 @@
+EXTRAMODULES='extramodules-3.0-LIBRE-LTS'
+
+post_install() {
+cat << EOF
+===> You must load vboxdrv module before starting VirtualBox:
+===> # modprobe vboxdrv
+EOF
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_upgrade() {
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+ echo 'In order to use the new version, reload all virtualbox modules manually.'
+}
+
+post_remove() {
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}