mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-03 17:14:14 +08:00
cde88355f2
So we need to trow away just stdout, leaving stderr to be caught by the build tests infrastructure, so that we can see what went wrong when the tarpkg build test fails: $ make -C tools/perf build-test make: Entering directory '/home/acme/git/linux/tools/perf' - tarpkg: ./tests/perf-targz-src-pkg . tests/make:302: recipe for target 'tarpkg' failed make[1]: *** [tarpkg] Error 2 Makefile:102: recipe for target 'build-test' failed make: *** [build-test] Error 2 make: Leaving directory '/home/acme/git/linux/tools/perf' $ cat tools/perf/tarpkg ./tests/perf-targz-src-pkg . PERF_VERSION = 4.5.g05f5ec PERF_VERSION = 4.5.g05f5ec In file included from bench/mem-memcpy-x86-64-asm.S:9:0: bench/../../../arch/x86/lib/memcpy_64.S:5:29: fatal error: asm/cpufeatures.h: No such file or directory compilation terminated. mv: cannot stat ‘bench/.mem-memcpy-x86-64-asm.o.tmp’: No such file or directory make[5]: *** [bench/mem-memcpy-x86-64-asm.o] Error 1 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [bench] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [perf-in.o] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [all] Error 2 $ So the test flow is: 1. Run: 'make -C tools/perf build-test' 2. One of its tests failed, in this case, the 'tarpkg' one 3. Look at what went wrong, by looking at the output of that test, in tools/perf/tarpkg Admittedly, this should be shortcircuited to showing what went wrong directly from the 'make build-test' step, but lets first fix this tarpkg one and the problem it spotted, which should be fixed by adding some extra file to the tools/perf/MANIFEST so that detached tarballs continue being self contained and build successfully. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Borislav Petkov <bp@suse.de> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/n/tip-ynld6egoxolmftcddpnd7oh6@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
22 lines
700 B
Bash
Executable File
22 lines
700 B
Bash
Executable File
#!/bin/sh
|
|
# Test one of the main kernel Makefile targets to generate a perf sources tarball
|
|
# suitable for build outside the full kernel sources.
|
|
#
|
|
# This is to test that the tools/perf/MANIFEST file lists all the files needed to
|
|
# be in such tarball, which sometimes gets broken when we move files around,
|
|
# like when we made some files that were in tools/perf/ available to other tools/
|
|
# codebases by moving it to tools/include/, etc.
|
|
|
|
PERF=$1
|
|
cd ${PERF}/../..
|
|
make perf-targz-src-pkg > /dev/null
|
|
TARBALL=$(ls -rt perf-*.tar.gz)
|
|
TMP_DEST=$(mktemp -d)
|
|
tar xf ${TARBALL} -C $TMP_DEST
|
|
rm -f ${TARBALL}
|
|
cd - > /dev/null
|
|
make -C $TMP_DEST/perf*/tools/perf > /dev/null
|
|
RC=$?
|
|
rm -rf ${TMP_DEST}
|
|
exit $RC
|