summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-12-09 11:19:35 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-12-12 21:50:10 +0000
commit9244a3b0565fd52d7973fda42a4f706b16240316 (patch)
tree5c7339e9044404c3c68fb2cb13983a1e02ec5344
parentc09c6e61991b30c99d68fa6c2e5639d490a65e89 (diff)
downloadopenembedded-core-9244a3b0565fd52d7973fda42a4f706b16240316.tar.gz
openembedded-core-9244a3b0565fd52d7973fda42a4f706b16240316.tar.bz2
openembedded-core-9244a3b0565fd52d7973fda42a4f706b16240316.zip
eglibc: Generate cross testing script during install
EGLIBC has long had cross testing capability, so use that there are few steps needed on setting up the target as well as the build host. This patch tries to generate a script with all the needed environment on build host system To use this script one needs to setup the target as described in the testing intructions of eglibc and then this script can directly interface to the target and run the tests from eglibc's build directory. To run this script bash <script> username@testing_hostname/ip The output can be dumped into a log file for later viewing and checked for "Error " to see the failed tests Removes INC_PR its not used anywhere Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta/recipes-core/eglibc/eglibc-common.inc1
-rw-r--r--meta/recipes-core/eglibc/eglibc-testing.inc47
-rw-r--r--meta/recipes-core/eglibc/eglibc.inc1
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.13.bb11
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.14.bb10
5 files changed, 60 insertions, 10 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-common.inc b/meta/recipes-core/eglibc/eglibc-common.inc
index 4fa64885fb..d18786ab93 100644
--- a/meta/recipes-core/eglibc/eglibc-common.inc
+++ b/meta/recipes-core/eglibc/eglibc-common.inc
@@ -3,7 +3,6 @@ DESCRIPTION = "Embedded GLIBC (EGLIBC) is a variant of the GNU C Library (GLIBC)
HOMEPAGE = "http://www.eglibc.org/home"
SECTION = "libs"
LICENSE = "GPLv2 & LGPLv2.1"
-INC_PR = "r11"
LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \
file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
diff --git a/meta/recipes-core/eglibc/eglibc-testing.inc b/meta/recipes-core/eglibc/eglibc-testing.inc
new file mode 100644
index 0000000000..fb632ba26d
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-testing.inc
@@ -0,0 +1,47 @@
+do_compile_append () {
+ # now generate script to drive testing
+ echo "#!/usr/bin/env sh" >${B}/${HOST_PREFIX}testeglibc
+ set >> ${B}/${HOST_PREFIX}testeglibc
+ # prune out the unneeded vars
+ sed -i -e "/^BASH/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^USER/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^OPT/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^DIRSTACK/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^EUID/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^FUNCNAME/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^GROUPS/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^HOST/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^HOME/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^IFS/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^LC_ALL/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^LOGNAME/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^MACHTYPE/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^OSTYPE/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^PIPE/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^SHELL/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^'/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^UID/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^TERM/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^PATCH_GET/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^PKG_/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^POSIXLY_/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^PPID/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^PS4/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^Q/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^SHLVL/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^STAGING/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^LD_LIBRARY_PATH/d" ${B}/${HOST_PREFIX}testeglibc
+ sed -i -e "/^PSEUDO/d" ${B}/${HOST_PREFIX}testeglibc
+ # append execution part script
+cat >> ${B}/${HOST_PREFIX}testeglibc << STOP
+target="\$1"
+if [ "x\$target" = "x" ]
+then
+ echo "Please specify the target machine and remote user in for of user@target"
+ exit 1;
+fi
+wrapper="${S}/scripts/cross-test-ssh.sh \$target"
+localedef="${STAGING_BINDIR_NATIVE}/cross-localedef --little-endian --uint32-align=4"
+make cross-localedef="\$localedef" cross-test-wrapper="\$wrapper" -k check
+STOP
+}
diff --git a/meta/recipes-core/eglibc/eglibc.inc b/meta/recipes-core/eglibc/eglibc.inc
index 272fcb6273..64694a04d8 100644
--- a/meta/recipes-core/eglibc/eglibc.inc
+++ b/meta/recipes-core/eglibc/eglibc.inc
@@ -1,5 +1,6 @@
require eglibc-common.inc
require eglibc-ld.inc
+require eglibc-testing.inc
STAGINGCC = "gcc-cross-intermediate"
STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-intermediate"
diff --git a/meta/recipes-core/eglibc/eglibc_2.13.bb b/meta/recipes-core/eglibc/eglibc_2.13.bb
index 955c4ec4b9..9d3ec85af6 100644
--- a/meta/recipes-core/eglibc/eglibc_2.13.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.13.bb
@@ -3,7 +3,7 @@ require eglibc.inc
SRCREV = "15508"
DEPENDS += "gperf-native"
-PR = "r18"
+PR = "r19"
PR_append = "+svnr${SRCPV}"
EGLIBC_BRANCH="eglibc-2_13"
@@ -207,10 +207,11 @@ do_compile () {
done
)
echo "Adjust ldd script"
- [ -z "${RTLDLIST}" ] && return
- sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)"\(.*\)"$#\1\2#'
- sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)\(.*\)$#\1"${RTLDLIST} \2"#'
-
+ if [ -n "${RTLDLIST}" ]
+ then
+ sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)"\(.*\)"$#\1\2#'
+ sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)\(.*\)$#\1"${RTLDLIST} \2"#'
+ fi
}
require eglibc-package.inc
diff --git a/meta/recipes-core/eglibc/eglibc_2.14.bb b/meta/recipes-core/eglibc/eglibc_2.14.bb
index fd384f4705..8553106766 100644
--- a/meta/recipes-core/eglibc/eglibc_2.14.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.14.bb
@@ -3,7 +3,7 @@ require eglibc.inc
SRCREV = "15870"
DEPENDS += "gperf-native"
-PR = "r1"
+PR = "r2"
PR_append = "+svnr${SRCPV}"
EGLIBC_BRANCH="eglibc-2_14"
@@ -209,9 +209,11 @@ do_compile () {
done
)
echo "Adjust ldd script"
- [ -z "${RTLDLIST}" ] && return
- sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)"\(.*\)"$#\1\2#'
- sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)\(.*\)$#\1"${RTLDLIST} \2"#'
+ if [ -n "${RTLDLIST}" ]
+ then
+ sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)"\(.*\)"$#\1\2#'
+ sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)\(.*\)$#\1"${RTLDLIST} \2"#'
+ fi
}