[OE-core] [PATCH 3/3] eglibc: Generate cross testing script during install

Khem Raj raj.khem at gmail.com
Fri Dec 9 19:30:47 UTC 2011


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 at 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 at gmail.com>
---
 meta/recipes-core/eglibc/eglibc-common.inc  |    1 -
 meta/recipes-core/eglibc/eglibc-package.inc |   46 +++++++++++++++++++++++++++
 meta/recipes-core/eglibc/eglibc_2.13.bb     |    2 +-
 meta/recipes-core/eglibc/eglibc_2.14.bb     |    2 +-
 4 files changed, 48 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-core/eglibc/eglibc-common.inc b/meta/recipes-core/eglibc/eglibc-common.inc
index 4fa6488..d18786a 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-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
index 020f558..df1924f 100644
--- a/meta/recipes-core/eglibc/eglibc-package.inc
+++ b/meta/recipes-core/eglibc/eglibc-package.inc
@@ -73,6 +73,52 @@ do_install_append () {
 	rm -f ${D}${sysconfdir}/localtime
 
 	oe_multilib_header bits/syscall.h
+
+	# now generate script to drive testing
+	echo "#!/usr/bin/env bash" >${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 at 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
 }
 
 do_install_locale () {
diff --git a/meta/recipes-core/eglibc/eglibc_2.13.bb b/meta/recipes-core/eglibc/eglibc_2.13.bb
index 955c4ec..ee16340 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"
diff --git a/meta/recipes-core/eglibc/eglibc_2.14.bb b/meta/recipes-core/eglibc/eglibc_2.14.bb
index fd384f4..e517cc2 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"
-- 
1.7.5.4





More information about the Openembedded-core mailing list