From bdb04bfd80f4313d14cba8b3d857586da8b65ad2 Mon Sep 17 00:00:00 2001 From: Adrian Dudau Date: Thu, 26 Jun 2014 13:49:50 +0200 Subject: initial commit for Enea Linux 4.0 Migrated from the internal git server on the daisy-enea branch Signed-off-by: Adrian Dudau --- conf/layer.conf | 13 ++ recipes-extended/ltp/files/periodic_output.patch | 31 ++++ ...tests_noltp.sh-script-so-have-unique-name.patch | 202 +++++++++++++++++++++ .../ltp/ltp/ltp-Do-not-link-against-libfl.patch | 31 ++++ recipes-extended/ltp/ltp/regen-makefile.patch | 22 +++ recipes-extended/ltp/ltp_20140508.bb | 82 +++++++++ 6 files changed, 381 insertions(+) create mode 100644 conf/layer.conf create mode 100644 recipes-extended/ltp/files/periodic_output.patch create mode 100644 recipes-extended/ltp/ltp/0001-Rename-runtests_noltp.sh-script-so-have-unique-name.patch create mode 100644 recipes-extended/ltp/ltp/ltp-Do-not-link-against-libfl.patch create mode 100644 recipes-extended/ltp/ltp/regen-makefile.patch create mode 100644 recipes-extended/ltp/ltp_20140508.bb diff --git a/conf/layer.conf b/conf/layer.conf new file mode 100644 index 0000000..3582c42 --- /dev/null +++ b/conf/layer.conf @@ -0,0 +1,13 @@ +# We have a packages directory, add to BBFILES +BBPATH .= ":${LAYERDIR}" + +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb*" +BBFILES += "${LAYERDIR}/images/*.bb*" +BBFILES += "${LAYERDIR}/images-append/*.bb*" + +BBFILE_COLLECTIONS += "enea-ltp-dev" +BBFILE_PATTERN_enea-ltp-dev := "^${LAYERDIR}/" +BBFILE_PRIORITY_enea-ltp-dev = "7" +LAYERDEPENDS_enea-ltp-dev = "core" + +BB_DANGLINGAPPENDS_WARNONLY = "yes" diff --git a/recipes-extended/ltp/files/periodic_output.patch b/recipes-extended/ltp/files/periodic_output.patch new file mode 100644 index 0000000..153fe83 --- /dev/null +++ b/recipes-extended/ltp/files/periodic_output.patch @@ -0,0 +1,31 @@ +Add periodic output for long time test. + +Signed-off-by: Tudor Florea +Upstream-Status: Pending + +diff -ruN a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh +--- a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh 2013-11-08 15:54:09.515049081 +0100 ++++ b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh 2013-11-08 22:32:15.587370406 +0100 +@@ -37,7 +37,8 @@ + exit 0 + fi + +-RUN_TIME=$(( 60 * 60 )) ++ONE_MINUTE=60 ++RUN_TIME=60 + + cleanup() + { +@@ -81,7 +82,11 @@ + eval /bin/kill -s SIGUSR1 \$pid$i 2> /dev/null + done + +- sleep $4 ++ for i in $(seq 0 $RUN_TIME-1) ++ do ++ eval echo "Started $i min ago. Still alive... " ++ sleep $ONE_MINUTE ++ done + + for i in $(seq 0 $(($1-1))) + do diff --git a/recipes-extended/ltp/ltp/0001-Rename-runtests_noltp.sh-script-so-have-unique-name.patch b/recipes-extended/ltp/ltp/0001-Rename-runtests_noltp.sh-script-so-have-unique-name.patch new file mode 100644 index 0000000..1b4d232 --- /dev/null +++ b/recipes-extended/ltp/ltp/0001-Rename-runtests_noltp.sh-script-so-have-unique-name.patch @@ -0,0 +1,202 @@ +From 9751a6526cffcdf4e3dc2cb33641259a7be00e19 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Sat, 7 Dec 2013 18:24:32 +0100 +Subject: [PATCH] Rename runtests_noltp.sh script so have unique name + +* they are installed in the same target path + /opt/ltp/testcases/bin/runtests_noltp.sh + and overwrite each other in non-deterministic way + when multiple processes are used in "make install" + + ./temp/log.do_install:install -m 00775 + "ltp/20120903-r2/ltp-20120903/testcases/kernel/containers/sysvipc/runtests_noltp.sh" + "ltp/20120903-r2/image/opt/ltp/testcases/bin/runtests_noltp.sh" + ./temp/log.do_install:install -m 00775 + "ltp/20120903-r2/ltp-20120903/testcases/kernel/containers/utsname/runtests_noltp.sh" + "ltp/20120903-r2/image/opt/ltp/testcases/bin/runtests_noltp.sh" + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + .../kernel/containers/sysvipc/runipctests_noltp.sh | 31 ++++++++++++++++ + .../kernel/containers/sysvipc/runtests_noltp.sh | 31 ---------------- + .../kernel/containers/utsname/runtests_noltp.sh | 41 ---------------------- + .../kernel/containers/utsname/runutstests_noltp.sh | 41 ++++++++++++++++++++++ + 4 files changed, 72 insertions(+), 72 deletions(-) + create mode 100644 testcases/kernel/containers/sysvipc/runipctests_noltp.sh + delete mode 100644 testcases/kernel/containers/sysvipc/runtests_noltp.sh + delete mode 100755 testcases/kernel/containers/utsname/runtests_noltp.sh + create mode 100755 testcases/kernel/containers/utsname/runutstests_noltp.sh + +diff --git a/testcases/kernel/containers/sysvipc/runipctests_noltp.sh b/testcases/kernel/containers/sysvipc/runipctests_noltp.sh +new file mode 100644 +index 0000000..84f398f +--- /dev/null ++++ b/testcases/kernel/containers/sysvipc/runipctests_noltp.sh +@@ -0,0 +1,31 @@ ++#!/bin/sh ++################################################################################ ++## ## ++## Copyright (c) International Business Machines Corp., 2007 ## ++## ## ++## This program is free software; you can redistribute it and#or modify ## ++## it under the terms of the GNU General Public License as published by ## ++## the Free Software Foundation; either version 2 of the License, or ## ++## (at your option) any later version. ## ++## ## ++## This program is distributed in the hope that it will be useful, but ## ++## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## ++## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## ++## for more details. ## ++## ## ++## You should have received a copy of the GNU General Public License ## ++## along with this program; if not, write to the Free Software ## ++## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ## ++## ## ++################################################################################ ++ ++exit_code=0 ++echo "sysvipc tests" ++for type in none clone unshare; do ++ echo "**sysvipc $type" ++ ./shmnstest_noltp $type ++ if [ $? -ne 0 ]; then ++ exit_code=$? ++ fi ++done ++exit $exit_code +diff --git a/testcases/kernel/containers/sysvipc/runtests_noltp.sh b/testcases/kernel/containers/sysvipc/runtests_noltp.sh +deleted file mode 100644 +index 84f398f..0000000 +--- a/testcases/kernel/containers/sysvipc/runtests_noltp.sh ++++ /dev/null +@@ -1,31 +0,0 @@ +-#!/bin/sh +-################################################################################ +-## ## +-## Copyright (c) International Business Machines Corp., 2007 ## +-## ## +-## This program is free software; you can redistribute it and#or modify ## +-## it under the terms of the GNU General Public License as published by ## +-## the Free Software Foundation; either version 2 of the License, or ## +-## (at your option) any later version. ## +-## ## +-## This program is distributed in the hope that it will be useful, but ## +-## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## +-## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## +-## for more details. ## +-## ## +-## You should have received a copy of the GNU General Public License ## +-## along with this program; if not, write to the Free Software ## +-## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ## +-## ## +-################################################################################ +- +-exit_code=0 +-echo "sysvipc tests" +-for type in none clone unshare; do +- echo "**sysvipc $type" +- ./shmnstest_noltp $type +- if [ $? -ne 0 ]; then +- exit_code=$? +- fi +-done +-exit $exit_code +diff --git a/testcases/kernel/containers/utsname/runtests_noltp.sh b/testcases/kernel/containers/utsname/runtests_noltp.sh +deleted file mode 100755 +index 43cb7e2..0000000 +--- a/testcases/kernel/containers/utsname/runtests_noltp.sh ++++ /dev/null +@@ -1,41 +0,0 @@ +-#!/bin/sh +-################################################################################ +-## ## +-## Copyright (c) International Business Machines Corp., 2007 ## +-## ## +-## This program is free software; you can redistribute it and#or modify ## +-## it under the terms of the GNU General Public License as published by ## +-## the Free Software Foundation; either version 2 of the License, or ## +-## (at your option) any later version. ## +-## ## +-## This program is distributed in the hope that it will be useful, but ## +-## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## +-## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## +-## for more details. ## +-## ## +-## You should have received a copy of the GNU General Public License ## +-## along with this program; if not, write to the Free Software ## +-## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ## +-## ## +-################################################################################ +- +-oldhostname=`hostname` +-exit_code=0 +-echo "unshare tests" +-for i in `seq 1 5`; do +- echo "test $i (unshare)" +- ./utstest_noltp unshare $i +- if [ $? -ne 0 ]; then +- exit_code=$? +- fi +-done +-echo "clone tests" +-for i in `seq 1 5`; do +- echo "test $i (clone)" +- ./utstest_noltp clone $i +- if [ $? -ne 0 ]; then +- exit_code=$? +- fi +-done +-hostname "$oldhostname" +-exit $exit_code +diff --git a/testcases/kernel/containers/utsname/runutstests_noltp.sh b/testcases/kernel/containers/utsname/runutstests_noltp.sh +new file mode 100755 +index 0000000..43cb7e2 +--- /dev/null ++++ b/testcases/kernel/containers/utsname/runutstests_noltp.sh +@@ -0,0 +1,41 @@ ++#!/bin/sh ++################################################################################ ++## ## ++## Copyright (c) International Business Machines Corp., 2007 ## ++## ## ++## This program is free software; you can redistribute it and#or modify ## ++## it under the terms of the GNU General Public License as published by ## ++## the Free Software Foundation; either version 2 of the License, or ## ++## (at your option) any later version. ## ++## ## ++## This program is distributed in the hope that it will be useful, but ## ++## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## ++## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## ++## for more details. ## ++## ## ++## You should have received a copy of the GNU General Public License ## ++## along with this program; if not, write to the Free Software ## ++## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ## ++## ## ++################################################################################ ++ ++oldhostname=`hostname` ++exit_code=0 ++echo "unshare tests" ++for i in `seq 1 5`; do ++ echo "test $i (unshare)" ++ ./utstest_noltp unshare $i ++ if [ $? -ne 0 ]; then ++ exit_code=$? ++ fi ++done ++echo "clone tests" ++for i in `seq 1 5`; do ++ echo "test $i (clone)" ++ ./utstest_noltp clone $i ++ if [ $? -ne 0 ]; then ++ exit_code=$? ++ fi ++done ++hostname "$oldhostname" ++exit $exit_code +-- +1.8.4.3 + diff --git a/recipes-extended/ltp/ltp/ltp-Do-not-link-against-libfl.patch b/recipes-extended/ltp/ltp/ltp-Do-not-link-against-libfl.patch new file mode 100644 index 0000000..3e4aa73 --- /dev/null +++ b/recipes-extended/ltp/ltp/ltp-Do-not-link-against-libfl.patch @@ -0,0 +1,31 @@ +From 5bda9c0af56869c6ff2c25d38ea087179c946bc6 Mon Sep 17 00:00:00 2001 +From: Chong Lu +Date: Tue, 11 Mar 2014 14:47:22 +0800 +Subject: [PATCH] ltp: Don't link against libfl + +We have already defined yywrap function in scan.l file. After this, we no longer need to +link against libfl and so no longer get errors about undefined references to yylex. + +Upstream-status: Pending + +Signed-off-by: Chong Lu +--- + pan/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pan/Makefile b/pan/Makefile +index 4cc6466..a4b575b 100644 +--- a/pan/Makefile ++++ b/pan/Makefile +@@ -31,7 +31,7 @@ CPPFLAGS += -Wno-error + + CPPFLAGS += -I$(abs_srcdir) + +-LDLIBS += -lm $(LEXLIB) ++LDLIBS += -lm + + LFLAGS += -l + +-- +1.7.9.5 + diff --git a/recipes-extended/ltp/ltp/regen-makefile.patch b/recipes-extended/ltp/ltp/regen-makefile.patch new file mode 100644 index 0000000..3e114a1 --- /dev/null +++ b/recipes-extended/ltp/ltp/regen-makefile.patch @@ -0,0 +1,22 @@ +Fix the dependencies for linux_syscall_numbers.h where in a parallel build it was +finding the temporary file linux_syscall_numbers.h.[pid].sh (where sh is an +architecture name). Instead don't wildcard *.sh as the only .sh we care about +here is regen.sh, so hard-code that. + +Upstream-Status: Pending +Signed-off-by: Ross Burton + +diff --git a/testcases/kernel/include/Makefile b/testcases/kernel/include/Makefile +index db21a2a..585eb5e 100644 +--- a/testcases/kernel/include/Makefile ++++ b/testcases/kernel/include/Makefile +@@ -28,7 +28,7 @@ INSTALL_DIR := $(includedir) + + MAKE_TARGETS := linux_syscall_numbers.h + +-linux_syscall_numbers.h: $(wildcard $(abs_srcdir)/*.sh $(abs_srcdir)/*.in) +- $(SHELL) "$(abs_srcdir)/regen.sh" ++linux_syscall_numbers.h: $(abs_srcdir)/regen.sh $(wildcard $(abs_srcdir)/*.in) ++ $(SHELL) "$<" + + include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/recipes-extended/ltp/ltp_20140508.bb b/recipes-extended/ltp/ltp_20140508.bb new file mode 100644 index 0000000..29057b6 --- /dev/null +++ b/recipes-extended/ltp/ltp_20140508.bb @@ -0,0 +1,82 @@ +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" +LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \ + 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://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ + file://tools/netpipe-2.4/COPYING;md5=9e3781bb5fe787aa80e1f51f5006b6fa \ + file://tools/netpipe-2.4-ipv6/COPYING;md5=9e3781bb5fe787aa80e1f51f5006b6fa \ + file://tools/top-LTP/proc/COPYING;md5=aefc88eb8a41672fbfcfe6b69ab8c49c \ + file://tools/pounder21/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://utils/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \ +" + +DEPENDS = "attr libaio libcap acl openssl" +SRCREV = "b0ffb8d6ec835c6d49c2c52f802f274818e8ba7c" + +SRC_URI = "gitsm://git.enea.se/personal/mlil/ltp;branch=mlil_nohz_v3_rebased \ +" + +S = "${WORKDIR}/git" + +PR="r26" + +inherit autotools-brokensep + +TARGET_CC_ARCH += "${LDFLAGS}" + +export prefix = "/opt/ltp" +export exec_prefix = "/opt/ltp" + +# ltp doesn't regenerate ffsb-6.0-rc2 configure and hardcode configure call. +# we explicitly force regeneration of that directory and pass configure options. +do_configure_append() { + (cd utils/ffsb-6.0-rc2; autoreconf -fvi; ./configure ${CONFIGUREOPTS}) +} + +# The makefiles make excessive use of make -C and several include testcases.mk +# which triggers a build of the syscall header. To reproduce, build ltp, +# then delete the header, then "make -j XX" and watch regen.sh run multiple +# times. Its easier to generate this once here instead. +do_compile_prepend () { + ( make -C ${B}/testcases/kernel include/linux_syscall_numbers.h ) +} + +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 oe-core + # 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 +} + +RDEPENDS_${PN} = "perl e2fsprogs-mke2fs packagegroup-enea-rt-tools" + +FILES_${PN}-dbg += "\ + /opt/ltp/runtest/.debug \ + /opt/ltp/testcases/bin/.debug \ + /opt/ltp/testcases/bin/*/bin/.debug \ + /opt/ltp/testcases/bin/*/test/.debug \ + /opt/ltp/scenario_groups/.debug \ + /opt/ltp/testscripts/.debug \ + /opt/ltp/testscripts/open_posix_testsuite/.debug \ +" + +FILES_${PN}-staticdev += "/opt/ltp/lib/libmem.a" + +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/*" + +# Avoid generated binaries stripping. Otherwise some of the ltp tests such as ldd01 & nm01 fails +INHIBIT_PACKAGE_STRIP = "1" -- cgit v1.2.3-54-g00ecf