]> code.ossystems Code Review - openembedded-core.git/commit
ptest: Reproducibility: Strip build host paths from any installed Makefile
authorDouglas Royds <douglas.royds@taitradio.com>
Wed, 28 Nov 2018 04:53:09 +0000 (17:53 +1300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 3 Dec 2018 12:19:42 +0000 (12:19 +0000)
commit137e38dbae42e9d4d413cd2f9460fb707ca77f9c
tree68d5841ab86d2b9afa21a2815967a7d1eb2e2d42
parent72d0cb3f8f1e69aeef93ea0bc90db3e8b8d6f94c
ptest: Reproducibility: Strip build host paths from any installed Makefile

A common pattern for ptest is to install a Makefile that provides a make check
target. These generated Makefiles are normally full of build host paths, to
hosttools, and to files and scripts within the source or build tree. They also
commonly include the CFLAGS and CPPFLAGS. None of these build host paths
can possibly work on-target, so stripping them has no effect on the success of
the resulting ptests.

Stripping the HOSTTOOLS_DIR has this effect, for instance:

    -MKDIR_P = /home/douglas/workspace/upstream/build/tmp/hosttools/mkdir -p
    +MKDIR_P = mkdir -p

The curious WORKDIR/*= pattern avoids non-parseable -fdebug-prefix-map patterns
in the CFLAGS by adding an arbitrary ".", eg:

    -fdebug-prefix-map=.=/usr/src/debug/rsyslog/8.37.0-r0

In all other cases, we simply remove the WORKDIR, eg:

    CPP = arm-tait-linux-gnueabi-gcc -E --sysroot=recipe-sysroot ...

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/ptest.bbclass