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.

(From OE-Core rev: 7ef8f96941ed52b2a00cbe8f57511a8891b39698)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2018-11-23 10:16:31 +08:00
committed by Richard Purdie
parent 41e772d726
commit f72e95df33
2 changed files with 17 additions and 2 deletions

View File

@@ -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

View File

@@ -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