From 7ef8f96941ed52b2a00cbe8f57511a8891b39698 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 23 Nov 2018 10:16:31 +0800 Subject: busybox: ship a symlink farm for ptest Ship a symlink farm for busybox, which correctly considers SUID split. This ensures that all utilities used in busybox's test cases will first use that ones that are provided by busybox. Modify run-ptest to prepend the directory to PATH, and also change variable name from current_dir to current_path, as the former is a little misleading. `readlink -f $0' gets a path to the current script instead of the current directory. Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/recipes-core/busybox/busybox.inc | 14 ++++++++++++++ meta/recipes-core/busybox/files/run-ptest | 5 +++-- 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'meta/recipes-core/busybox') diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc index 6abbb5492f..f7455d301f 100644 --- a/meta/recipes-core/busybox/busybox.inc +++ b/meta/recipes-core/busybox/busybox.inc @@ -349,6 +349,20 @@ do_install_ptest () { cp -r ${B}/testsuite ${D}${PTEST_PATH}/ cp ${B}/.config ${D}${PTEST_PATH}/ ln -s /bin/busybox ${D}${PTEST_PATH}/busybox + + mkdir ${D}${PTEST_PATH}/bin + if [ "${BUSYBOX_SPLIT_SUID}" = "1" ]; then + while read link; do + ln -s ${base_bindir}/busybox.suid ${D}${PTEST_PATH}/bin/$(basename $link) + done <${D}${sysconfdir}/busybox.links.suid + while read link; do + ln -s ${base_bindir}/busybox.nosuid ${D}${PTEST_PATH}/bin/$(basename $link) + done <${D}${sysconfdir}/busybox.links.nosuid + else + while read link; do + ln -s ${base_bindir}/busybox ${D}${PTEST_PATH}/bin/$(basename $link) + done <${D}${sysconfdir}/busybox.links + fi } inherit update-alternatives diff --git a/meta/recipes-core/busybox/files/run-ptest b/meta/recipes-core/busybox/files/run-ptest index 8b99bedc06..b19e5b5343 100644 --- a/meta/recipes-core/busybox/files/run-ptest +++ b/meta/recipes-core/busybox/files/run-ptest @@ -1,7 +1,8 @@ #!/bin/sh -current_dir=$(readlink -f $0) -export bindir=$(dirname $current_dir) +current_path=$(readlink -f $0) +export bindir=$(dirname $current_path) +export PATH=$bindir/bin:$PATH export SKIP_KNOWN_BUGS=1 cd testsuite || exit 1 -- cgit 1.2.3-korg