From f7d52d12f943b9e1f79b32758308607036d6a760 Mon Sep 17 00:00:00 2001 From: Dengke Du Date: Fri, 25 Mar 2016 04:28:54 -0400 Subject: quilt: run ptest as normal user When the user is root, run quilt ptest, the faildiff.test failed. Because in the faildiff.test, we drop the read permission of the file test.txt, we can't "quilt refresh" as normal user, so we got the following: >~ .*diff:test\.txt: Permission denied > Diff failed on file 'test.txt', aborting But when the user is root, we can access the file, so we got the following: > Nothing in patch patchs/test.diff So the faildiff.test was failed. We should create a normal user to run the ptest in the run-ptest scripts to slove the problem. Signed-off-by: Dengke Du Signed-off-by: Richard Purdie --- meta/recipes-devtools/quilt/quilt.inc | 4 +++- meta/recipes-devtools/quilt/quilt/run-ptest | 5 ++++- meta/recipes-devtools/quilt/quilt/test.sh | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100755 meta/recipes-devtools/quilt/quilt/test.sh diff --git a/meta/recipes-devtools/quilt/quilt.inc b/meta/recipes-devtools/quilt/quilt.inc index 837b36ba8c..4e393c4d8f 100644 --- a/meta/recipes-devtools/quilt/quilt.inc +++ b/meta/recipes-devtools/quilt/quilt.inc @@ -8,6 +8,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quilt/quilt-${PV}.tar.gz \ file://install.patch \ file://run-ptest \ file://Makefile \ + file://test.sh \ " SRC_URI[md5sum] = "fc0310db5868a0873d602d4332a76d43" @@ -50,8 +51,9 @@ do_install_ptest() { tar -cf - bin/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - ) tar -cf - compat/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - ) tar -cf - quilt/ --exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - ) - tar -cf - test/ --exclude mail.test --exclude delete.test | ( cd ${D}${PTEST_PATH} && tar -xf - ) + tar -cf - test/ --exclude mail.test --exclude delete.test | ( cd ${D}${PTEST_PATH} && tar -xf - && chmod 777 test) cp ${WORKDIR}/Makefile ${D}${PTEST_PATH} + cp ${WORKDIR}/test.sh ${D}${PTEST_PATH} } RDEPENDS_${PN}-ptest = "make file sed gawk diffutils findutils ed perl \ diff --git a/meta/recipes-devtools/quilt/quilt/run-ptest b/meta/recipes-devtools/quilt/quilt/run-ptest index 958a9df5b6..4b808aee4f 100755 --- a/meta/recipes-devtools/quilt/quilt/run-ptest +++ b/meta/recipes-devtools/quilt/quilt/run-ptest @@ -1,5 +1,8 @@ #!/bin/sh +THIS_SH=/bin/sh ln -sf /bin/ed /usr/bin/ed -for i in `ls test/*.test |awk -F. '{print $1}' |awk -F/ '{print $2}'`; do make check-$i; if [ $? -eq 0 ]; then echo PASS: $i.test; else echo FAIL: $i.test; fi; done +/usr/sbin/adduser --disabled-password quilttest +su -c "${THIS_SH} ./test.sh" quilttest +/usr/sbin/deluser quilttest rm -f /usr/bin/ed diff --git a/meta/recipes-devtools/quilt/quilt/test.sh b/meta/recipes-devtools/quilt/quilt/test.sh new file mode 100755 index 0000000000..6563e4a2fb --- /dev/null +++ b/meta/recipes-devtools/quilt/quilt/test.sh @@ -0,0 +1 @@ +for i in `ls test/*.test |awk -F. '{print $1}' |awk -F/ '{print $2}'`; do make check-$i; if [ $? -eq 0 ]; then echo PASS: $i.test; else echo FAIL: $i.test; fi; done -- cgit 1.2.3-korg