aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2018-11-23 10:16:31 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-23 23:32:10 +0000
commit7ef8f96941ed52b2a00cbe8f57511a8891b39698 (patch)
treecfb2a69625d3ba57febff0c0e856b73754248c33
parentc89fa1992987fa3c12616d2d379f524188310a2e (diff)
downloadopenembedded-core-contrib-7ef8f96941ed52b2a00cbe8f57511a8891b39698.tar.gz
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 <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/busybox/busybox.inc14
-rw-r--r--meta/recipes-core/busybox/files/run-ptest5
2 files changed, 17 insertions, 2 deletions
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