• Masahiro Yamada's avatar
    kbuild: rpm-pkg: fix binrpm-pkg breakage when O= is used · 21b42eb4
    Masahiro Yamada authored
    Zhenzhong Duan reported that running 'make O=/build/kernel binrpm-pkg'
    failed with the following errors:
    
      Running 'make O=/build/kernel binrpm-pkg' failed with below two errors.
    
      Makefile:600: include/config/auto.conf: No such file or directory
    
      + cp make -C /mnt/root/kernel O=/build/kernel image_name make -f
      /mnt/root/kernel/Makefile ...
      cp: invalid option -- 'C'
      Try 'cp --help' for more information.
    
    Prior to commit 80463f1b ("kbuild: add --include-dir flag only
    for out-of-tree build"), both srctree and objtree were added to
    --include-dir redundantly, and the wrong code 'make image_name'
    was working by relying on that. Now, the potential issue that had
    previously been hidden just showed up.
    
    'make image_name' recurses to the generated $(objtree)/Makefile and
    ends up with running in srctree, which is incorrect. It should be
    invoked with '-f $srctree/Makefile' (or KBUILD_SRC=) to be executed
    in objtree.
    
    Fixes: 80463f1b ("kbuild: add --include-dir flag only for out-of-tree build")
    Reported-by: default avatarZhenzhong Duan <zhenzhong.duan@oracle.com>
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    21b42eb4
mkspec 4.7 KB