Message ID | 658bdcf24a1ade76126924fcb937c50abce6d08d.1322840490.git.jiajun.xu@intel.com |
---|---|
State | New |
Headers | show |
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 +}
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 > +}
> 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
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