diff options
Diffstat (limited to 'libre/virtualbox-libre-modules')
5 files changed, 128 insertions, 0 deletions
diff --git a/libre/virtualbox-libre-modules/.directory b/libre/virtualbox-libre-modules/.directory new file mode 100755 index 000000000..9f6471595 --- /dev/null +++ b/libre/virtualbox-libre-modules/.directory @@ -0,0 +1,3 @@ +[Dolphin] +Timestamp=2012,8,16,6,34,39 +Version=3 diff --git a/libre/virtualbox-libre-modules/PKGBUILD b/libre/virtualbox-libre-modules/PKGBUILD new file mode 100755 index 000000000..1ecee7b2c --- /dev/null +++ b/libre/virtualbox-libre-modules/PKGBUILD @@ -0,0 +1,71 @@ +# $Id$ +# 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-host-modules' 'virtualbox-libre-guest-modules') +pkgver=4.2.4 +pkgrel=2 +arch=('i686' 'x86_64') +url='http://virtualbox.org' +license=('GPL') +makedepends=('linux-libre-headers' + "virtualbox-libre-host-source>=$pkgver" + "virtualbox-libre-guest-source>=$pkgver" + 'expac') + +build() { + # 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-host-modules(){ + pkgdesc='Host kernel libre modules for VirtualBox' + depends=('linux-libre>=3.6' 'linux-libre<3.7') + 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-guest-modules(){ + pkgdesc='Guest kernel libre modules for VirtualBox' + license=('GPL') + depends=('linux-libre>=3.6' 'linux-libre<3.7') + 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-libre-guest-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..f798a615d --- /dev/null +++ b/libre/virtualbox-libre-modules/build.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +if (( $# != 1 )); then + echo "usage: $0 extra" + echo " $0 testing" + exit 1 +fi + +linux32 makechrootpkg -cuI ../../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 + +makechrootpkg -cuI ../../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-guest-modules.install b/libre/virtualbox-libre-modules/virtualbox-libre-guest-modules.install new file mode 100755 index 000000000..caf59aa13 --- /dev/null +++ b/libre/virtualbox-libre-modules/virtualbox-libre-guest-modules.install @@ -0,0 +1,17 @@ +post_install() { +cat << EOF +===> You may want to load vboxguest, vboxsf and vboxvideo +EOF + EXTRAMODULES='extramodules-3.6-LIBRE' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} + +post_upgrade() { + EXTRAMODULES='extramodules-3.6-LIBRE' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} + +post_remove() { + EXTRAMODULES='extramodules-3.6-LIBRE' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} diff --git a/libre/virtualbox-libre-modules/virtualbox-libre-host-modules.install b/libre/virtualbox-libre-modules/virtualbox-libre-host-modules.install new file mode 100755 index 000000000..8605cf20a --- /dev/null +++ b/libre/virtualbox-libre-modules/virtualbox-libre-host-modules.install @@ -0,0 +1,19 @@ +post_install() { +cat << EOF +===> You must load vboxdrv module before starting VirtualBox: +===> # modprobe vboxdrv +EOF + EXTRAMODULES='extramodules-3.5-LIBRE' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} + +post_upgrade() { + EXTRAMODULES='extramodules-3.5-LIBRE' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) + echo 'In order to use the new version, reload all virtualbox modules manually.' +} + +post_remove() { + EXTRAMODULES='extramodules-3.5-LIBRE' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} |