Commit 2458c94c authored by Adam Joseph's avatar Adam Joseph
Browse files

lib/systems: strip kernel to avoid reference cycles

Since https://github.com/NixOS/nixpkgs/pull/221707 we must ensure
that the image resulting from a kernel build is stripped.  If we do
not do this, there will be circular dependencies among its outpaths.

This commit fixes the breakage on mips.

Closes #224694
parent 4d92ffb3
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -373,11 +373,20 @@ stdenv.mkDerivation ({

    # Remove reference to kmod
    sed -i Makefile -e 's|= ${buildPackages.kmod}/bin/depmod|= depmod|'
  ''
  # unfortunately linux/arch/mips/Makefile does not understand installkernel
  # and simply copies to $(INSTALL_PATH)/vmlinux-$(KERNELRELEASE)
  + lib.optionalString stdenv.hostPlatform.isMips ''
    mv $out/vmlinux-* $out/vmlinux || true
    mv $out/vmlinuz-* $out/vmlinuz || true
    mv $out/System.map-* $out/System.map
  '';

  preFixup = ''
    # Don't strip $dev/lib/modules/*/vmlinux
    stripDebugList="$(cd $dev && echo lib/modules/*/build/*/)"
  '' + lib.optionalString (stdenv.hostPlatform.isMips) ''
    $STRIP -s $out/vmlinux || true
  '';

  enableParallelBuilding = true;