• Riku Voipio's avatar
    package Makefile: fix perf-tar targets when outdir is set · 4b63f603
    Riku Voipio authored
    building with $srctree != $objtree, perf-tar-* targets fail
    to read the MANIFEST file and add the PERF-VERSION-FILE needed
    by out-of-tree builds. The build errors and an incorrect tar is created:
    
    $ make O=build-x86 perf-targz-src-pkg
      TAR
    cat: ../tools/perf/MANIFEST: No such file or directory
    tar: perf-4.1.0-rc8/PERF-VERSION-FILE: Cannot stat: No such file or
    dir..
    tar: Exiting with failure status due to previous errors
    
    Kbuild sets objtree to "." and srctree to ".." The command to output
    MANIFEST becomes:
    
       $(cd ..; echo $(cat ../tools/perf/MANIFEST))
    
    Without MANIFEST, the entire kernel source tree is added to the perf
    source tarball. The *correct* fix is to keep the cd and remove srctree
    from cat command line since MANIFEST has wildcards that fail to expand
    working directory isn't srctree.
    
    Second, PERF-VERSION-FILE gets not added, because in-tree build path is
    hardcoded to Makefile:
    
       util/PERF-VERSION-GEN ../../$(perf-tar)/ 2>/dev/null)
    
    The PERF-VERSION-GEN needs to be run from tools/perf directory,
    and the output directory needs to be changed from relative to
    to absolute. This can be achieved using the $(CURDIR) variable.
    
    Also remove the error redirect to /dev/null which hid the error.
    Signed-off-by: default avatarRiku Voipio <riku.voipio@linaro.org>
    Signed-off-by: default avatarMichal Marek <mmarek@suse.com>
    4b63f603
Makefile 6.08 KB