diff --git a/packages/linux-drivers/vboxguest/package.mk b/packages/linux-drivers/vboxguest/package.mk index 213056b082..1c87eb47a1 100644 --- a/packages/linux-drivers/vboxguest/package.mk +++ b/packages/linux-drivers/vboxguest/package.mk @@ -22,7 +22,9 @@ PKG_REV="1" PKG_ARCH="x86_64" PKG_LICENSE="GPL" PKG_SITE="http://www.virtualbox.org" -PKG_DEPENDS_TARGET="toolchain linux xf86-video-virtualbox" +PKG_URL="http://download.virtualbox.org/virtualbox/$PKG_VERSION/VirtualBox-$PKG_VERSION.tar.bz2" +PKG_SOURCE_DIR="VirtualBox-$PKG_VERSION" +PKG_DEPENDS_TARGET="toolchain linux" PKG_NEED_UNPACK="$LINUX_DEPENDS" PKG_PRIORITY="optional" PKG_SECTION="driver" @@ -32,16 +34,26 @@ PKG_LONGDESC="vboxguest" PKG_IS_ADDON="no" PKG_AUTORECONF="no" -pre_make_target() { - unset LDFLAGS +pre_configure_target() { + # Create and unpack a tarball with the sources of the Linux guest + # kernel modules, to include all the needed files + mkdir -p $ROOT/$PKG_BUILD/vbox-kmod + $ROOT/$PKG_BUILD/src/VBox/Additions/linux/export_modules $ROOT/$PKG_BUILD/vbox-kmod/vbox-kmod.tar.gz + tar -xf $ROOT/$PKG_BUILD/vbox-kmod/vbox-kmod.tar.gz -C $ROOT/$PKG_BUILD/vbox-kmod +} + +configure_target() { + : } make_target() { - cd $(get_build_dir xf86-video-virtualbox)/src/${PKG_NAME}-${PKG_VERSION}/ + cd $ROOT/$PKG_BUILD/vbox-kmod make KERN_DIR=$(kernel_path) } makeinstall_target() { - mkdir -p $INSTALL/lib/modules/$(get_module_dir)/$PKG_NAME - cp *.ko $INSTALL/lib/modules/$(get_module_dir)/$PKG_NAME + for module in vboxguest vboxsf vboxvideo; do + mkdir -p $INSTALL/lib/modules/$(get_module_dir)/$module + cp -P $ROOT/$PKG_BUILD/vbox-kmod/$module.ko $INSTALL/lib/modules/$(get_module_dir)/$module + done }