diff options
5 files changed, 166 insertions, 0 deletions
diff --git a/libre/virtualbox-parabola-modules/60-vboxguest.rules b/libre/virtualbox-parabola-modules/60-vboxguest.rules new file mode 100644 index 000000000..d64575709 --- /dev/null +++ b/libre/virtualbox-parabola-modules/60-vboxguest.rules @@ -0,0 +1,3 @@ +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-parabola-modules/LocalConfig.kmk b/libre/virtualbox-parabola-modules/LocalConfig.kmk new file mode 100644 index 000000000..1fb0b88bd --- /dev/null +++ b/libre/virtualbox-parabola-modules/LocalConfig.kmk @@ -0,0 +1,20 @@ +VBOX_WITH_ADDITION_DRIVERS = +VBOX_WITH_INSTALLER = 1 +VBOX_WITH_LINUX_ADDITIONS = 1 +VBOX_WITH_X11_ADDITIONS = +VBOX_WITH_TESTCASES = +VBOX_WITH_TESTSUITE = +VBOX_WITH_ORIGIN := +VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox +VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH) +VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox +VBOX_PATH_APP_DOCS := /usr/share/virtualbox +VBOX_WITH_REGISTRATION_REQUEST = +VBOX_WITH_UPDATE_REQUEST = +VBOX_WITH_VNC := 1 +VBOX_BLD_PYTHON = python2 +VBOX_JAVA_HOME = /usr/lib/jvm/java-6-openjdk +VBOX_GCC_WERR = +VBOX_GCC_WARN = + diff --git a/libre/virtualbox-parabola-modules/PKGBUILD b/libre/virtualbox-parabola-modules/PKGBUILD new file mode 100644 index 000000000..7012d5943 --- /dev/null +++ b/libre/virtualbox-parabola-modules/PKGBUILD @@ -0,0 +1,106 @@ +# $Id: PKGBUILD 57345 2011-10-26 09:57:11Z ibiru $ +#Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgbase=virtualbox-modules +pkgname=('virtualbox-modules' 'virtualbox-parabola-modules') +pkgver=4.1.4 +pkgrel=3 +arch=('i686' 'x86_64') +url='http://virtualbox.org' +license=('GPL') +makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl' 'linux-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) +md5sums=('dc6e6801b3823332b6ca2e9915221aae' + '4c88bd122677a35f68abd76eb01b378b' + 'ed1341881437455d9735875ddf455fbe') + +_extramodules=extramodules-3.1-LIBRE +_kernver="$(cat /lib/modules/${_extramodules}/version)" + +export KERN_DIR=/lib/modules/${_kernver}/build +export KERN_INCL=/usr/src/linux-${_kernver}/include/ + +build() { + cd "$srcdir/VirtualBox-${pkgver}_OSE" + + 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}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src" + make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src" +} + +package_virtualbox-parabola-modules(){ + pkgdesc="Additions only for Parabola guests (kernel modules)" + license=('GPL') + install=virtualbox-parabola-modules.install + depends=('linux>=3.1' 'linux<3.2') + replaces=('virtualbox-guest-modules' 'virtualbox-archlinux-modules') + conflicts=('virtualbox-guest-modules' 'virtualbox-archlinux-modules') + provides=("virtualbox-archlinux-modules=$pkgver") + + source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" + + cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src" + + for module in vboxguest.ko vboxsf.ko vboxvideo.ko; do + install -D -m644 ${module} \ + "$pkgdir/lib/modules/${_extramodules}/${module}" + done + + install -D -m 0644 "$srcdir/60-vboxguest.rules" \ + "$pkgdir/lib/udev/rules.d/60-vboxguest.rules" + + find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; + + sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "$startdir/virtualbox-parabola-modules.install" +} + +package_virtualbox-modules(){ + pkgdesc="Kernel modules for VirtualBox" + license=('GPL') + install=virtualbox-modules.install + depends=('linux>=3.1' 'linux<3.2') + + source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh" + + + cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src" + + install -D -m644 vboxdrv.ko \ + "$pkgdir/lib/modules/${_extramodules}/vboxdrv.ko" + + install -D -m644 vboxnetadp.ko \ + "$pkgdir/lib/modules/${_extramodules}/vboxnetadp.ko" + + install -D -m644 vboxnetflt.ko \ + "$pkgdir/lib/modules/${_extramodules}/vboxnetflt.ko" + + install -D -m644 vboxpci.ko \ + "$pkgdir/lib/modules/${_extramodules}/vboxpci.ko" + + find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; + + sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "$startdir/virtualbox-modules.install" +} + +md5sums=('dc6e6801b3823332b6ca2e9915221aae' + 'b566518ba3ba3a513b91a75283cdedf8' + '13ff08388a54fd48cc04523380f26af6') diff --git a/libre/virtualbox-parabola-modules/virtualbox-modules.install b/libre/virtualbox-parabola-modules/virtualbox-modules.install new file mode 100644 index 000000000..0706681bf --- /dev/null +++ b/libre/virtualbox-parabola-modules/virtualbox-modules.install @@ -0,0 +1,19 @@ +post_install() { +/bin/cat << EOF +===> You must load vboxdrv module before starting VirtualBox: +===> # modprobe vboxdrv +EOF + EXTRAMODULES='extramodules-3.1-LIBRE' + depmod $(cat /lib/modules/$EXTRAMODULES/version) +} + +post_upgrade() { + EXTRAMODULES='extramodules-3.1-LIBRE' + depmod $(cat /lib/modules/$EXTRAMODULES/version) + rmmod vboxdrv || echo 'In order to use the new version, reload all virtualbox modules manually.' +} + +post_remove() { + EXTRAMODULES='extramodules-3.1-LIBRE' + depmod $(cat /lib/modules/$EXTRAMODULES/version) + diff --git a/libre/virtualbox-parabola-modules/virtualbox-parabola-modules.install b/libre/virtualbox-parabola-modules/virtualbox-parabola-modules.install new file mode 100644 index 000000000..decf303e9 --- /dev/null +++ b/libre/virtualbox-parabola-modules/virtualbox-parabola-modules.install @@ -0,0 +1,18 @@ +post_install() { +cat << EOF +===> You may want to load vboxguest, vboxsf and vboxvideo +EOF + EXTRAMODULES='extramodules-3.1-LIBRE' + depmod $(cat /lib/modules/$EXTRAMODULES/version) +} + +post_upgrade() { + EXTRAMODULES='extramodules-3.1-LIBRE' + depmod $(cat /lib/modules/$EXTRAMODULES/version) +} + +post_remove() { + EXTRAMODULES='extramodules-3.1-LIBRE' + depmod $(cat /lib/modules/$EXTRAMODULES/version) +} + |