[PATCH] tools/perf/build: Fix non-existent build directory handling

From: Ingo Molnar
Date: Wed Oct 09 2013 - 11:00:31 EST



* Ingo Molnar <mingo@xxxxxxxxxx> wrote:

> > It silently ignores the O= target, as it doesn't exists.
> >
> > Previous, expected behaviour is for the build process to stop,
> > complaining that the target directory doesn't exists.
>
> Yeah. So the reproducer for me is:
>
> rm -rf /tmp/build
> mkdir -p /tmp/build/perf
> make O=/tmp/build/perf -C tools/perf/ install-bin
> rm -rf /tmp/build
> make O=/tmp/build/perf -C tools/perf/ install-bin
>
> the second install-bin should fail, and on the old tree it fails correctly
> - but with the new tree it pretends that it succeeds.
>
> Looking into it.

does the patch below fix it?

Thanks,

Ingo

=====================>
[PATCH] tools/perf/build: Fix non-existent build directory handling
From: Ingo Molnar <mingo@xxxxxxxxxx>

Arnaldo reported that non-existent build directories were not recognized
properly. The reason is readlink failure causing 'O' to become empty.

Solve it by passing through the 'O' variable unmodified if readlink fails.

Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 5aa3d04..9147044 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -34,7 +34,7 @@ endif
# Only pass canonical directory names as the output directory:
#
ifneq ($(O),)
- FULL_O := $(shell readlink -f $(O))
+ FULL_O := $(shell readlink -f $(O) || echo $(O))
endif

define print_msg
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/