Patchwork [1/3] ltp: Add recipe from OE

login
register
mail settings
Submitter Jiajun Xu
Date Dec. 2, 2011, 3:54 p.m.
Message ID <658bdcf24a1ade76126924fcb937c50abce6d08d.1322840490.git.jiajun.xu@intel.com>
Download mbox | patch
Permalink /patch/16109/
State New
Headers show

Comments

Jiajun Xu - Dec. 2, 2011, 3:54 p.m.
Port ltp recipe from OE and upgraged to latest version(20110915).
Install ltp into ${D}/opt/ltp and POSIX test suite is also copied
into ${D}/opt/ltp/testcases.

TODO: Some cases are removed since they depend on command 'expect'.
It is not in Poky or OE and we will add it for enhancement next.

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
---
 meta/recipes-extended/ltp/ltp_20110915.bb |   67 +++++++++++++++++++++++++++++
 1 files changed, 67 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-extended/ltp/ltp_20110915.bb
Saul Wold - Dec. 3, 2011, 11:39 p.m.
On 12/02/2011 07:54 AM, Jiajun Xu wrote:
> Port ltp recipe from OE and upgraged to latest version(20110915).
> Install ltp into ${D}/opt/ltp and POSIX test suite is also copied
> into ${D}/opt/ltp/testcases.
>
> TODO: Some cases are removed since they depend on command 'expect'.
> It is not in Poky or OE and we will add it for enhancement next.
>
> Signed-off-by: Jiajun Xu<jiajun.xu@intel.com>
> ---
>   meta/recipes-extended/ltp/ltp_20110915.bb |   67 +++++++++++++++++++++++++++++
>   1 files changed, 67 insertions(+), 0 deletions(-)
>   create mode 100644 meta/recipes-extended/ltp/ltp_20110915.bb
>
> diff --git a/meta/recipes-extended/ltp/ltp_20110915.bb b/meta/recipes-extended/ltp/ltp_20110915.bb
> new file mode 100644
> index 0000000..ff5ea47
> --- /dev/null
> +++ b/meta/recipes-extended/ltp/ltp_20110915.bb
> @@ -0,0 +1,67 @@
> +SUMMARY = "Linux Test Project"
> +DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
> +HOMEPAGE = "http://ltp.sourceforge.net"
> +SECTION = "console/utils"
> +
> +PR = "r0"
> +
> +LICENSE = "GPLv2&  GPLv2+&  LGPLv2+&  LGPLv2.1+&  BSD-2-Clause"
> +SRC_URI = "${SOURCEFORGE_MIRROR}/ltp/ltp-full-${PV}.bz2"
> +

SRC_URI should go below the LIC_FILES_CHKSUM.

> +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
> +		    file://testcases/kernel/mce-test/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
> +		    file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
> +		    file://testcases/kernel/controllers/freezer/run_freezer.sh;startline=5;endline=17;md5=aeac3f7691caa2e76fd5a732fbd6510d \
> +		    file://testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \
> +		    file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
> +		    file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
> +		    file://testcases/open_posix_testsuite/COPYING;md5=216e43b72efbe4ed9017cc19c4c68b01 \
> +		    file://tools/netpipe-2.4/COPYING;md5=18810669f13b87348459e611d31ab760 \
> +		    file://tools/netpipe-2.4-ipv6/COPYING;md5=18810669f13b87348459e611d31ab760 \
> +		    file://tools/top-LTP/proc/COPYING;md5=6e29c688d912da12b66b73e32b03d812 \
> +		    file://tools/pounder21/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
> +		    file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
> +		"
> +
> +SRC_URI[md5sum] = "582fb78d7bf78a624a4387f29327d166"
> +SRC_URI[sha256sum] = "013f7f2f6fdf46b7d73216533c3d4c2d91f0a2cec522bf026f7c8920ede83d2c"
> +
> +export prefix = "/opt/ltp"
> +export exec_prefix = "/opt/ltp"
> +
> +inherit autotools
> +
> +FILES_${PN}-dbg += "/opt/ltp/runtest/.debug"
> +FILES_${PN}-dbg += "/opt/ltp/testcases/bin/.debug"
> +FILES_${PN}-dbg += "/opt/ltp/testcases/bin/*/bin/.debug"
> +FILES_${PN}-dbg += "/opt/ltp/testcases/bin/*/test/.debug"
> +FILES_${PN}-dbg += "/opt/ltp/scenario_groups/.debug"
> +FILES_${PN}-dbg += "/opt/ltp/testscripts/.debug"
> +FILES_${PN}-dbg += "/opt/ltp/testscripts/open_posix_testsuite/.debug"
> +
> +FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/*"
> +
> +TARGET_CC_ARCH += "${LDFLAGS}"
> +
> +do_unpack_append() {
> +        bb.build.exec_func('do_extract_tarball', d)
> +}
> +
> +do_extract_tarball() {
> +	if test -f ${WORKDIR}/ltp-full-${PV} ; then
> +	    tar x --no-same-owner -f ${WORKDIR}/ltp-full-${PV}
> +	    mv ${WORKDIR}/ltp-full-${PV} ${WORKDIR}/ltp-${PV}
> +	fi
> +}
> +
The "mv" seems to cause a problem.  Is there a reason you do this 
instead of just setting "S = ${WORKDIR}/ltp-full-${PV} if that's what 
the tarball normally extracts to?



ERROR: Function 'do_extract_tarball' failed (see 
/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714 
for further information)
ERROR: Logfile of failure stored in: 
/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714
Log data follows:
| NOTE: Unpacking /srv/home/swold/downloads/ltp-full-20110915.bz2 to 
/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/ltp-20110915-r0/
| DEBUG: SITE files ['endian-little', 'bit-32', 'ix86-common', 
'common-linux', 'common-glibc', 'i586-linux', 'common']
| ERROR: Function 'do_extract_tarball' failed (see 
/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714 
for further information)
| mv: cannot overwrite directory 
`/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/tmp/work/i586-poky-linux/ltp-20110915-r0/ltp-20110915/ltp-full-20110915' 
with non-directory
NOTE: package ltp-20110915-r0: task do_unpack: Failed
ERROR: Task 2303 
(/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/meta/recipes-extended/ltp/ltp_20110915.bb, 
do_unpack) failed with exit code '1'

> +do_install(){
> +	install -d ${D}/opt/ltp/
> +	oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
> +	
> +	# Copy POSIX test suite into ${D}/opt/ltp/testcases by manual
> +	cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases
> +
> +	# We need to remove all scripts which depend on /usr/bin/expect, since expect is not supported in poky
> +	# We will add expect for enhancement in future
> +	find ${D} -type f -print | xargs grep "\!.*\/usr\/bin\/expect" | awk -F":" '{print $1}' | xargs rm -f
> +}
Jiajun Xu - Dec. 21, 2011, 3:49 p.m.
> The "mv" seems to cause a problem.  Is there a reason you do this
> instead of just setting "S = ${WORKDIR}/ltp-full-${PV} if that's what
> the tarball normally extracts to?
> 

Sorry for late response, Saul. If I set S to ltp-full-${PV}, do_unpack will report that ltp-full-${PV} is not a directory. It is due to that the source file for ltp is named as "ltp-full-${PV}.bz2", which in fact should be extracted by bzip2 and tar. But the unpack code in bitbake could not handle this so I have to add some extra code for it.
I have modified the patch to make the unpack pass and will send out again for review.

Thanks a lot.

> 
> 
> ERROR: Function 'do_extract_tarball' failed (see
> /srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/
> tmp/w ork/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714 for
> further information) ERROR: Logfile of failure stored in:
> /srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/
> tmp/w ork/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714 Log
> data follows: | NOTE: Unpacking
> /srv/home/swold/downloads/ltp-full-20110915.bz2 to
> /srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/
> tmp/w ork/i586-poky-linux/ltp-20110915-r0/ | DEBUG: SITE files
> ['endian-little', 'bit-32', 'ix86-common', 'common-linux',
> 'common-glibc', 'i586-linux', 'common'] | ERROR: Function
> 'do_extract_tarball' failed (see
> /srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build/
> tmp/w ork/i586-poky-linux/ltp-20110915-r0/temp/log.do_unpack.714 for
> further information) | mv: cannot overwrite directory
> `/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/build
> /tmp/w
> ork/i586-poky-linux/ltp-20110915-r0/ltp-20110915/ltp-full-20110915' with
> non-directory NOTE: package ltp-20110915-r0: task do_unpack: Failed
> ERROR: Task 2303
> (/srv/home/swold/yocto-autobuilder/yocto-slave/nightly-x86/build/meta/
> recipe s-extended/ltp/ltp_20110915.bb, do_unpack) failed with exit code
> '1'
> 
>> +do_install(){ +	install -d ${D}/opt/ltp/ +	oe_runmake DESTDIR=${D}
>> SKIP_IDCHECK=1 install + +	# Copy POSIX test suite into
>> ${D}/opt/ltp/testcases by manual +	cp -r testcases/open_posix_testsuite
>> ${D}/opt/ltp/testcases + +	# We need to remove all scripts which depend
>> on /usr/bin/expect, +since expect is not supported in poky +	# We will
>> add expect for enhancement in future +	find ${D} -type f -print | xargs
>> grep "\!.*\/usr\/bin\/expect" | +awk -F":" '{print $1}' | xargs rm -f }

Best Regards,
Jiajun

Patch

diff --git a/meta/recipes-extended/ltp/ltp_20110915.bb b/meta/recipes-extended/ltp/ltp_20110915.bb
new file mode 100644
index 0000000..ff5ea47
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp_20110915.bb
@@ -0,0 +1,67 @@ 
+SUMMARY = "Linux Test Project"
+DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
+HOMEPAGE = "http://ltp.sourceforge.net"
+SECTION = "console/utils"
+
+PR = "r0"
+
+LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause"
+SRC_URI = "${SOURCEFORGE_MIRROR}/ltp/ltp-full-${PV}.bz2"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+		    file://testcases/kernel/mce-test/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+		    file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+		    file://testcases/kernel/controllers/freezer/run_freezer.sh;startline=5;endline=17;md5=aeac3f7691caa2e76fd5a732fbd6510d \
+		    file://testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \
+		    file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
+		    file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
+		    file://testcases/open_posix_testsuite/COPYING;md5=216e43b72efbe4ed9017cc19c4c68b01 \
+		    file://tools/netpipe-2.4/COPYING;md5=18810669f13b87348459e611d31ab760 \
+		    file://tools/netpipe-2.4-ipv6/COPYING;md5=18810669f13b87348459e611d31ab760 \
+		    file://tools/top-LTP/proc/COPYING;md5=6e29c688d912da12b66b73e32b03d812 \
+		    file://tools/pounder21/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+		    file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+		"
+
+SRC_URI[md5sum] = "582fb78d7bf78a624a4387f29327d166"
+SRC_URI[sha256sum] = "013f7f2f6fdf46b7d73216533c3d4c2d91f0a2cec522bf026f7c8920ede83d2c"
+
+export prefix = "/opt/ltp"
+export exec_prefix = "/opt/ltp"
+
+inherit autotools
+
+FILES_${PN}-dbg += "/opt/ltp/runtest/.debug"
+FILES_${PN}-dbg += "/opt/ltp/testcases/bin/.debug"
+FILES_${PN}-dbg += "/opt/ltp/testcases/bin/*/bin/.debug"
+FILES_${PN}-dbg += "/opt/ltp/testcases/bin/*/test/.debug"
+FILES_${PN}-dbg += "/opt/ltp/scenario_groups/.debug"
+FILES_${PN}-dbg += "/opt/ltp/testscripts/.debug"
+FILES_${PN}-dbg += "/opt/ltp/testscripts/open_posix_testsuite/.debug"
+
+FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/*"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_unpack_append() {
+        bb.build.exec_func('do_extract_tarball', d)
+}
+
+do_extract_tarball() {
+	if test -f ${WORKDIR}/ltp-full-${PV} ; then
+	    tar x --no-same-owner -f ${WORKDIR}/ltp-full-${PV}
+	    mv ${WORKDIR}/ltp-full-${PV} ${WORKDIR}/ltp-${PV}
+	fi
+}
+
+do_install(){
+	install -d ${D}/opt/ltp/
+	oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
+	
+	# Copy POSIX test suite into ${D}/opt/ltp/testcases by manual
+	cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases
+
+	# We need to remove all scripts which depend on /usr/bin/expect, since expect is not supported in poky
+	# We will add expect for enhancement in future
+	find ${D} -type f -print | xargs grep "\!.*\/usr\/bin\/expect" | awk -F":" '{print $1}' | xargs rm -f
+}