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-18 14:06:12 +01:00
parent ddacac4393
commit 5a8c5d2768
@@ -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
''; '';