diff options
-rwxr-xr-x | libre/virtualbox-libre-modules/PKGBUILD | 204 | ||||
-rwxr-xr-x | libre/virtualbox-libre-modules/build.sh | 20 | ||||
-rwxr-xr-x | libre/virtualbox-libre-modules/virtualbox-libre-modules.install | 2 |
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 |