virtualbox: Explicitly excempt src during install.

Instead of coping it to $out and later deleting it, we now exclude the
src directory during copy. Also, we no longer cd into the release
directory during installPhase, which should make sure that we are
constantly in $sourceRoot.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This commit is contained in:
aszlig 2014-12-16 22:13:12 +01:00
parent ddacac4393
commit 5a8c5d2768
No known key found for this signature in database
GPG Key ID: D0EBD0EC8C2DC961

View File

@ -17,18 +17,19 @@ let
forEachModule = action: '' forEachModule = action: ''
for mod in \ for mod in \
$sourcedir/out/linux.*/release/bin/src/vboxdrv \ out/linux.*/release/bin/src/vboxdrv \
$sourcedir/out/linux.*/release/bin/src/vboxpci \ out/linux.*/release/bin/src/vboxpci \
$sourcedir/out/linux.*/release/bin/src/vboxnetadp \ out/linux.*/release/bin/src/vboxnetadp \
$sourcedir/out/linux.*/release/bin/src/vboxnetflt out/linux.*/release/bin/src/vboxnetflt
do do
if [ "x$(basename "$mod")" != xvboxdrv -a ! -e "$mod/Module.symvers" ] if [ "x$(basename "$mod")" != xvboxdrv -a ! -e "$mod/Module.symvers" ]
then then
cp -v $sourcedir/out/linux.*/release/bin/src/vboxdrv/Module.symvers \ cp -v out/linux.*/release/bin/src/vboxdrv/Module.symvers \
"$mod/Module.symvers" "$mod/Module.symvers"
fi fi
INSTALL_MOD_PATH="$out" INSTALL_MOD_DIR=misc \ INSTALL_MOD_PATH="$out" INSTALL_MOD_DIR=misc \
make -C "$MODULES_BUILD_DIR" "M=$mod" DEPMOD=/do_not_use_depmod ${action} make -C "$MODULES_BUILD_DIR" DEPMOD=/do_not_use_depmod \
"M=\$(PWD)/$mod" ${action}
done done
''; '';
@ -87,7 +88,6 @@ in stdenv.mkDerivation {
patches = optional enableHardening ./hardened.patch; patches = optional enableHardening ./hardened.patch;
configurePhase = '' configurePhase = ''
sourcedir="$(pwd)"
cat >> LocalConfig.kmk <<LOCAL_CONFIG cat >> LocalConfig.kmk <<LOCAL_CONFIG
VBOX_WITH_TESTCASES := VBOX_WITH_TESTCASES :=
VBOX_WITH_TESTSUITE := VBOX_WITH_TESTSUITE :=
@ -133,9 +133,9 @@ in stdenv.mkDerivation {
share="${if enableHardening then "$out/share/virtualbox" else "$libexec"}" share="${if enableHardening then "$out/share/virtualbox" else "$libexec"}"
# Install VirtualBox files # Install VirtualBox files
cd out/linux.*/release/bin mkdir -p "$libexec"
mkdir -p $libexec find out/linux.*/release/bin -mindepth 1 -maxdepth 1 \
cp -av * $libexec -name src -o -exec cp -avt "$libexec" {} +
# Install kernel modules # Install kernel modules
${forEachModule "modules_install"} ${forEachModule "modules_install"}
@ -169,9 +169,6 @@ in stdenv.mkDerivation {
ln -s $libexec/icons/$size/*.png $out/share/icons/hicolor/$size/apps ln -s $libexec/icons/$size/*.png $out/share/icons/hicolor/$size/apps
done done
# Get rid of src cruft.
rm -rf $out/libexec/virtualbox/src
# Get rid of a reference to linux.dev. # Get rid of a reference to linux.dev.
nuke-refs $out/lib/modules/*/misc/*.ko nuke-refs $out/lib/modules/*/misc/*.ko
''; '';