From c392dabefc431dbfb31d6a1465c75ba9cc765804 Mon Sep 17 00:00:00 2001 From: Mikko Rapeli Date: Mon, 13 Aug 2018 12:42:17 +0300 Subject: perf: fail if src path does not exist A missing src directory from a broken kernel recipe resulted only in a warning: WARNING: copyfile: stat of /home/builder/src/tmp-glibc/work-shared/target/kernel-source/tools/arch failed ([Errno 2] No such file or directory: '/home/builder/src/tmp-glibc/work-shared/target/kernel-source/tools/arch') and the build failed horribly. With this change it's an error which can not be missed: ERROR: perf-1.0-r9 do_configure: Path does not exist: /home/builder/src/tmp-glibc/work-shared/target/kernel-source/tools/arch. Maybe PERF_SRC does not match the kernel version. ERROR: perf-1.0-r9 do_configure: Function failed: copy_perf_source_from_kernel ERROR: Logfile of failure stored in: /home/builder/src/tmp-glibc/work/target-linux/perf/1.0-r9/temp/log.do_configure.21083 NOTE: recipe perf-1.0-r9: task do_configure: Failed ERROR: Task (/home/builder/src/poky/meta/recipes-kernel/perf/perf.bb:do_configure) failed with exit code '1' To get get perf compiling from a custom kernel, a perf.bbappend can be created which defines PERF_SRC as list of files and directories needed from kernel source tree to compile perf. This varies between kernel versions. Signed-off-by: Mikko Rapeli Signed-off-by: Richard Purdie --- meta/recipes-kernel/perf/perf.bb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'meta/recipes-kernel') diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb index ccd2c7d11b..e9db6c66c4 100644 --- a/meta/recipes-kernel/perf/perf.bb +++ b/meta/recipes-kernel/perf/perf.bb @@ -147,6 +147,8 @@ python copy_perf_source_from_kernel() { for s in sources: src = oe.path.join(src_dir, s) dest = oe.path.join(dest_dir, s) + if not os.path.exists(src): + bb.fatal("Path does not exist: %s. Maybe PERF_SRC does not match the kernel version." % src) if os.path.isdir(src): oe.path.copyhardlinktree(src, dest) else: -- cgit 1.2.3-korg