base: improve do_unpack[cleandirs] logic

If a recipe sets S to ${WORKDIR}/ then the S != WORKDIR test doesn't work as
expected.  Use os.path.normpath() to normalise the paths so string comparison
works.

(From OE-Core rev: 06aaafd14f3c8e27faeea0a514f80e1ff5eb4deb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2018-04-25 14:57:29 +01:00
committed by Richard Purdie
parent 950dce692a
commit 06d7df6fe2

View File

@@ -152,7 +152,7 @@ python base_do_fetch() {
addtask unpack after do_fetch
do_unpack[dirs] = "${WORKDIR}"
do_unpack[cleandirs] = "${@d.getVar('S') if d.getVar('S') != d.getVar('WORKDIR') else os.path.join('${S}', 'patches')}"
do_unpack[cleandirs] = "${@d.getVar('S') if os.path.normpath(d.getVar('S')) != os.path.normpath(d.getVar('WORKDIR')) else os.path.join('${S}', 'patches')}"
python base_do_unpack() {
src_uri = (d.getVar('SRC_URI') or "").split()