diff options
author | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-04-16 22:14:52 +0200 |
---|---|---|
committer | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-04-20 17:07:06 +0200 |
commit | bb0882c5dad030f676e424265ebcd869bb3ff899 (patch) | |
tree | d95bb2d7ad6b5ac47427f73babe015b0ade02342 /meta-agl-profile-core/recipes-test | |
parent | 97e5e76efa44f55ee9aaf3998bb3df38b829706c (diff) |
Introduce meta-agl-profile-core and meta-agl-profile-graphics
Rework towards agl profiles.
This change is part of a series of changes to create the
AGL profiles.
This set will mainly introduce the 'core' profile.
It is setup to be a drop-in change, thus some files were kept
in (dummy) locations for now.
However, they'll be taken care of in the next changes in this series.
The main target of the meta-agl-profile-core layer is to host:
- a minimal, bootable image with network and package management enabled
-- agl-image-boot
- a minimal image with network and packagemanagement and the AGL APIs
-- agl-image-minimal
The layer meta-agl-profile-graphical is used as superset of these
and includes support for egl+wayland+weston. All recipes concerning
graphics were moved there. This is not a full profile as we still have
to migrate some parts of meta-agl-demo in a follow-up changeset.
The roadmap as discussed during the F2F session in Karlsruhe is:
- week 16 : core profile and profiles w/o graphics
- week 17 : graphical profiles
- week 18 : final conversion of the demo image
v2: moved agl-login-manager from -graphics to -core (see Jose's comment)
v3: moved back after discussion - follow-up in separate changeset
Change-Id: Idacb0d1274baac1f63f8d1b850d4b1104ac33918
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-profile-core/recipes-test')
28 files changed, 819 insertions, 0 deletions
diff --git a/meta-agl-profile-core/recipes-test/aiostress/aiostress_0.22.bb b/meta-agl-profile-core/recipes-test/aiostress/aiostress_0.22.bb new file mode 100644 index 000000000..7803d74ed --- /dev/null +++ b/meta-agl-profile-core/recipes-test/aiostress/aiostress_0.22.bb @@ -0,0 +1,24 @@ +SUMMARY = "Async IO testing utility" +DESCRIPTION = "aio-stress will open or create each file on the command line, and start a series of aio to it.\ +aio is done in a rotating loop. first file1 gets 8 requests, then file2, then file3 etc.\ +As each file finishes writing, it is switched to reads io buffers are aligned in case you want to do raw io" +HOMEPAGE = "https://oss.oracle.com/~mason/aio-stress/" +LICENSE = "GPLv2" + +S="${WORKDIR}" + +LIC_FILES_CHKSUM = "file://${S}/aio-stress.c;md5=ccb5d196a3736bbd835d582a4e2329c3" + +SRC_URI = "https://oss.oracle.com/~mason/aio-stress/aio-stress.c" +SRC_URI[md5sum] = "ccb5d196a3736bbd835d582a4e2329c3" +SRC_URI[sha256sum] = "3f4cffcc946fb717fff9d8fe932c7c2ee606efff198408d9fbe16955151445f7" + +do_compile () { + ${CC} -Wall -Wshadow -o aio-stress -lpthread -laio aio-stress.c +} + +do_install () { + install -d ${D}${bindir} + install -m 0755 aio-stress ${D}${bindir} +} + diff --git a/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0001-Makefile.patch b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0001-Makefile.patch new file mode 100644 index 000000000..0ae56cee1 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0001-Makefile.patch @@ -0,0 +1,53 @@ +--- a/Makefile.orig 2016-04-01 15:50:20.636358716 +0200 ++++ b/Makefile 2016-04-01 15:51:58.916361191 +0200 +@@ -1,3 +1,9 @@ ++INCDIR = $(SDKROOT)/usr/include ++LIBDIR = $(SDKROOT)/usr/lib ++ ++EXTRA_CFLAGS=-I$(INCDIR) ++EXTRA_LDFLAGS=-Wl,-rpath-link=$(LIBDIR) -L$(LIBDIR) ++ + OBJECTS = bs_main.o \ + bs_vector.o \ + bs_pointmass.o \ +@@ -15,21 +21,21 @@ + bs_profiler.o \ + bs_rubberband.o + +-CC = gcc ++#CC = gcc + + DISTDIR = blobsallad-src + +-CFLAGS = `pkg-config --cflags cairo; sdl-config --cflags` +-LIBS = `pkg-config --libs cairo; sdl-config --libs` -lm -lGL -lGLU ++EXTRA_CFLAGS += -I$(INCDIR)/cairo -I$(INCDIR)/SDL -D_GNU_SOURCE=1 -D_REENTRANT ++EXTRA_LDFLAGS += -lcairo -lSDL -lpthread -lm + + all: $(OBJECTS) +- $(CC) -g -o blobsallad $(OBJECTS) $(LIBS) ++ $(CC) -g -o blobsallad $(OBJECTS) $(EXTRA_LDFLAGS) + + map: +- gcc -o createmap create_testdata.c -Wall -g -lm ++ $(CC) -o createmap create_testdata.c -Wall -g -lm + + octree: +- gcc -o test_octree test_octree.c bs_octree.c bs_list.c bs_vector.c bs_vector_util.c bs_timer.c bs_array.c -Wall -O2 $(LIBS) $(CFLAGS) ++ $(CC) -o test_octree test_octree.c bs_octree.c bs_list.c bs_vector.c bs_vector_util.c bs_timer.c bs_array.c -Wall -O2 $(EXTRA_LDFLAGS) $(EXTRA_CFLAGS) + + GFX_OBJECTS = gfx_main.o \ + bs_gfx.o \ +@@ -41,10 +47,10 @@ + bs_list.o + + gfx: $(GFX_OBJECTS) +- gcc -o gfx_main -Wall -g $(GFX_OBJECTS) $(LIBS) ++ $(CC) -o gfx_main -Wall -g $(GFX_OBJECTS) $(EXTRA_LDFLAGS) + + .c.o: +- $(CC) -g -Wall $(CFLAGS) $ -c $< ++ $(CC) -g -Wall $(EXTRA_CFLAGS) $ -c $< + + clean: + rm -f *.o; rm -f blobsallad; diff --git a/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0002-auto.patch b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0002-auto.patch new file mode 100644 index 000000000..b61da2c1f --- /dev/null +++ b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0002-auto.patch @@ -0,0 +1,95 @@ +--- a/bs_main.c ++++ b/bs_main.c +@@ -11,6 +11,9 @@ + #include "bs_profiler.h" + #include "bs_rubberband.h" + ++static struct timeval beginTime; /* Time of the benchmark start */ ++static int cur_step; /* Current benchmark phase. Used to subsequently increase number of objects each 10 seconds */ ++ + typedef struct bs_main_data_st + { + bs_cairo_sdl_t *pCairoSdl; +@@ -113,7 +116,9 @@ + SDL_Event event; + SDL_UserEvent userevent; + bs_main_data_t *pMainData; +- ++ struct timeval curTime; ++ int hunsec; ++ + pMainData = (bs_main_data_t*) pUserData; + + userevent.type = SDL_USEREVENT; +@@ -121,6 +126,20 @@ + userevent.data1 = NULL; + userevent.data2 = NULL; + ++ gettimeofday(&curTime, NULL); ++ hunsec = curTime.tv_sec - beginTime.tv_sec; ++ ++ /* increase cur_step each 10 seconds */ ++ if (cur_step < hunsec / 10) { ++ printf("%d objects = %.2f fps\n", 1 << (cur_step + 1), pMainData->fps); ++ userevent.code = 2; /* add more objects */ ++ cur_step++; ++ } ++ ++ /* exit if requested number of objects is reached */ ++ if (cur_step == 4) ++ userevent.code = 3; ++ + event.type = SDL_USEREVENT; + event.user = userevent; + +@@ -152,14 +171,19 @@ + pMainData->newTimerInterval = 50; + pMainData->fps = 20.0; + pMainData->running = TRUE; +- ++ ++ cur_step = 0; ++ + bs_profiler_init(); + ++ gettimeofday(&beginTime, NULL); + gettimeofday(&startTime, NULL); + pMainData->lastFrameTimeStamp = startTime.tv_sec * 1000 + startTime.tv_usec / 1000; + + SDL_AddTimer(50, bs_main_sdl_timer_callback, pMainData); + ++ bs_blob_collective_split(pMainData->pCollective); ++ + for(;;) + { + SDL_WaitEvent(&event); +@@ -253,8 +277,7 @@ + break; + + case SDL_USEREVENT: +- if(event.user.code == 1) +- { ++ if (event.user.code == 1) { + gettimeofday(&startTime, NULL); + bs_main_update_simulation(pMainData); + bs_main_redraw(pMainData); +@@ -268,10 +291,15 @@ + usedTime = 50; + } + +- pMainData->newTimerInterval = usedTime; +- } +- break; +- ++ pMainData->newTimerInterval = usedTime; ++ } else if (event.user.code == 2) { ++ int i; ++ for (i = 0; i < (1 << cur_step); i++) ++ bs_blob_collective_split(pMainData->pCollective); ++ } else if (event.user.code == 3) { ++ exit(0); ++ } ++ break; + case SDL_QUIT: + exit(0); + break; diff --git a/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0003-printcleanup.patch b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0003-printcleanup.patch new file mode 100644 index 000000000..630871dfd --- /dev/null +++ b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0003-printcleanup.patch @@ -0,0 +1,11 @@ +--- a/bs_blob_collective.c ++++ b/bs_blob_collective.c +@@ -152,7 +152,7 @@ + + bs_list_unlink_p_cont(pCollective->pBlobs, bs_blob_collective_remove_blob_cb, findData.pMotherBlob); + +- printf("number of blobs: %d\n", bs_list_get_length(pCollective->pBlobs)); ++/* printf("number of blobs: %d\n", bs_list_get_length(pCollective->pBlobs)); */ + } + + typedef struct bs_blob_collective_join_find_smallest_st diff --git a/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0004-bs_main.c.patch b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0004-bs_main.c.patch new file mode 100644 index 000000000..ae15408de --- /dev/null +++ b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0004-bs_main.c.patch @@ -0,0 +1,15 @@ +--- a/bs_main.c ++++ b/bs_main.c +@@ -165,9 +165,9 @@ + //pMainData->pRubberband = bs_rubberband_create(2.5f, 3.0f); + pMainData->pEnv = bs_env_create(0.0f, 0.0f, 6.0f, 4.0f); + pMainData->pGravity = bs_vector_create(0.0f, 10.0f); +- pMainData->pCairoSdl = bs_cairo_sdl_create(600, 400); +- pMainData->width = 600.0; +- pMainData->height = 400.0; ++ pMainData->pCairoSdl = bs_cairo_sdl_create(1600, 1024); ++ pMainData->width = 1600.0; ++ pMainData->height = 1024.0; + pMainData->newTimerInterval = 50; + pMainData->fps = 20.0; + pMainData->running = TRUE; diff --git a/meta-agl-profile-core/recipes-test/blobsallad/blobsallad_2006-11-14-23-57.bb b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad_2006-11-14-23-57.bb new file mode 100644 index 000000000..373d4ddc6 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad_2006-11-14-23-57.bb @@ -0,0 +1,36 @@ +DESCRIPTION = "" +HOMEPAGE = "http://blobsallad.se/" +LICENSE = "CLOSED" +LIC_FILES_CHKSUM = "" + +SRC_URI = " \ + http://blobsallad.se/src/blobsallad-src-${PV}.tar.gz \ + file://0001-Makefile.patch \ + file://0002-auto.patch \ + file://0003-printcleanup.patch \ + file://0004-bs_main.c.patch" + +SRC_URI[md5sum] = "a2e3342cbf0f3a4a9b110af2663bed36" +SRC_URI[sha256sum] = "cd6309df1929d3e6b7bce1dbecc751849aeaafe17c01e05fd2567dc4267faaa2" + +DEPENDS = "cairo virtual/libsdl" + +INSANE_SKIP_${PN} = "ldflags" + +S = "${WORKDIR}/blobsallad-src" + +do_configure () { + # Specify any needed configure commands here + : +} + +do_compile () { + # You will almost certainly need to add additional arguments here + oe_runmake SDKROOT=${STAGING_DIR_HOST} +} + +do_install () { + install -d ${D}${bindir} + install -m 0755 blobsallad ${D}${bindir} +} + diff --git a/meta-agl-profile-core/recipes-test/dung/dung_3.4.25-m2.bb b/meta-agl-profile-core/recipes-test/dung/dung_3.4.25-m2.bb new file mode 100644 index 000000000..28bf858a0 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/dung/dung_3.4.25-m2.bb @@ -0,0 +1,18 @@ +SUMMARY = "Kernel test scripts" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "e2472c7b1d061aef8bb05a4d7940fd8159c4a329" + +inherit allarch + +S = "${WORKDIR}/git/${PN}-${PV}" + +do_install () { + for subdir in arch_timer cmt common scifab sdhi.0; do + install -d -m 0755 ${D}/${datadir}/${PN}/$subdir + install -m 0755 -t ${D}/${datadir}/${PN}/$subdir ${S}/$subdir/* + done +} + diff --git a/meta-agl-profile-core/recipes-test/ebizzy/ebizzy_0.3.bb b/meta-agl-profile-core/recipes-test/ebizzy/ebizzy_0.3.bb new file mode 100644 index 000000000..08b0425c0 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/ebizzy/ebizzy_0.3.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Benchmark tool that generates a workload resembling common web application server workloads" +HOMEPAGE = "http://ebizzy.sourceforge.net/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a" + +SRC_URI = "http://downloads.sourceforge.net/project/ebizzy/ebizzy/${PV}/ebizzy-${PV}.tar.gz" +SRC_URI[md5sum] = "af038bc506066bb3d28db08aba62bc38" +SRC_URI[sha256sum] = "77286029d6348f3d9b3f04eae1feadb5ad1ad07b9f688f4d9f002960862467f2" + +INSANE_SKIP_${PN} = "ldflags" + +do_compile () { + ${CC} -Wall -Wshadow -lpthread -o ebizzy ebizzy.c +} + +do_install () { + install -d ${D}${bindir} + install -m 0755 ebizzy ${D}${bindir} +} + diff --git a/meta-agl-profile-core/recipes-test/ffsb/ffsb_6.0-rc2.bb b/meta-agl-profile-core/recipes-test/ffsb/ffsb_6.0-rc2.bb new file mode 100644 index 000000000..66db133e3 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/ffsb/ffsb_6.0-rc2.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Flexible File System Benchmark" +HOMEPAGE = "https://sourceforge.net/projects/ffsb/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fd5d9bcabd8ed5a54a01ce8d183d592a" + +SRC_URI = "http://downloads.sourceforge.net/project/ffsb/ffsb/ffsb-${PV}/ffsb-${PV}.tar.bz2" +SRC_URI[md5sum] = "cabfc1021c2ec6c6b168fefc84210891" +SRC_URI[sha256sum] = "e5867692aae8c9bfbcdc774599022289c4d89c1d90f4dd7101fb9865ac773c71" + +inherit autotools + +# extra args to configure +EXTRA_OECONF = "" + diff --git a/meta-agl-profile-core/recipes-test/fontconfig/fontconfig_%.bbappend b/meta-agl-profile-core/recipes-test/fontconfig/fontconfig_%.bbappend new file mode 100644 index 000000000..c4bebdc1f --- /dev/null +++ b/meta-agl-profile-core/recipes-test/fontconfig/fontconfig_%.bbappend @@ -0,0 +1,17 @@ +PACKAGES =+ "fontconfig-test" + +do_install_append() { + install -m 755 -d ${D}/${datadir}/fontconfig-test + install -m 755 ${S}/test/run-test.sh ${D}/${datadir}/fontconfig-test/ + + sed -i -e "s/FCLIST=\.\.\/fc\-list\/fc\-list/FCLIST=\/usr\/bin\/fc\-list/g" -e "s/FCCACHE=\.\.\/fc\-cache\/fc\-cache/FCCACHE=\/usr\/bin\/fc\-cache/g" ${D}/${datadir}/fontconfig-test/run-test.sh + + for x in 4x6.pcf 8x16.pcf out.expected fonts.conf.in; do + install -m 644 ${S}/test/$x ${D}/${datadir}/fontconfig-test/ + done +} + +DEBIAN_NOAUTONAME_fontconfig-test = "1" +FILES_fontconfig-test = "${datadir}/fontconfig-test/*" + + diff --git a/meta-agl-profile-core/recipes-test/freetype/files/0001-Makefile-dont-build-gfx-demos.patch b/meta-agl-profile-core/recipes-test/freetype/files/0001-Makefile-dont-build-gfx-demos.patch new file mode 100644 index 000000000..1f3acf28e --- /dev/null +++ b/meta-agl-profile-core/recipes-test/freetype/files/0001-Makefile-dont-build-gfx-demos.patch @@ -0,0 +1,32 @@ +diff -urN /tmp/ft2demos-2.6.orig/Makefile /tmp/ft2demos-2.6/Makefile +--- ft2demos-2.6.orig/Makefile 2015-06-07 07:34:19.000000000 +0000 ++++ ft2demos-2.6/Makefile 2016-06-17 14:25:37.640456725 +0000 +@@ -153,7 +153,8 @@ + + ifeq ($(PLATFORM),unix) + CC = $(CCraw) +- LINK_CMD = $(subst /,$(SEP),$(OBJ_BUILD)/libtool) \ ++ LIBTOOL = $(OBJ_BUILD)/libtool ++ LINK_CMD = $(subst /,$(SEP),$(LIBTOOL)) \ + --mode=link $(CC) \ + $(subst /,$(COMPILER_SEP),$(LDFLAGS)) + LINK_LIBS = $(subst /,$(COMPILER_SEP),$(FTLIB) $(EFENCE)) +@@ -279,12 +280,12 @@ + ttdebug + + # Comment out the next line if you don't have a graphics subsystem. +- EXES += ftdiff \ +- ftgamma \ +- ftgrid \ +- ftmulti \ +- ftstring \ +- ftview ++ # EXES += ftdiff \ ++ # ftgamma \ ++ # ftgrid \ ++ # ftmulti \ ++ # ftstring \ ++ # ftview + + # ftvalid requires ftgxval.c and ftotval.c + # diff --git a/meta-agl-profile-core/recipes-test/freetype/files/0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch b/meta-agl-profile-core/recipes-test/freetype/files/0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch new file mode 100644 index 000000000..7803ad7e0 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/freetype/files/0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch @@ -0,0 +1,30 @@ +From 8c4f135619de929f9348b830a07a46a0c2c38e51 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= <jsmoeller@linuxfoundation.org> +Date: Fri, 7 Oct 2016 15:26:20 +0200 +Subject: [PATCH] Do not hardcode libtool path +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It is already known and imported through config.mk. + +Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> +--- + Makefile | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile b/Makefile +index a5d34bd..254aad4 100644 +--- a/Makefile ++++ b/Makefile +@@ -153,7 +153,6 @@ else + + ifeq ($(PLATFORM),unix) + CC = $(CCraw) +- LIBTOOL = $(OBJ_BUILD)/libtool + LINK_CMD = $(subst /,$(SEP),$(LIBTOOL)) \ + --mode=link $(CC) \ + $(subst /,$(COMPILER_SEP),$(LDFLAGS)) +-- +2.1.4 + diff --git a/meta-agl-profile-core/recipes-test/freetype/freetype_2.8.bbappend b/meta-agl-profile-core/recipes-test/freetype/freetype_2.8.bbappend new file mode 100644 index 000000000..282ce784a --- /dev/null +++ b/meta-agl-profile-core/recipes-test/freetype/freetype_2.8.bbappend @@ -0,0 +1,32 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI =+ "${SOURCEFORGE_MIRROR}/freetype/ft2demos-${PV}.tar.bz2;name=ft2demos \ + file://0001-Makefile-dont-build-gfx-demos.patch;patchdir=../ft2demos-${PV} \ + file://0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch;patchdir=../ft2demos-${PV} \ + " +SRC_URI[ft2demos.md5sum] = "61db5831e213acb843f0fc6d10186054" +SRC_URI[ft2demos.sha256sum] = "2b6ce0d36bcb43fcc8aac07a0287982d855571ee271c3803c768e501f9c1a233" + +PACKAGES =+ "${PN}-demos" + +B = "${S}" + +do_compile_append () { + + oe_runmake -C ${WORKDIR}/ft2demos-${PV} TOP_DIR=${WORKDIR}/${BPN}-${PV}/ +} + +do_install_append () { + install -d -m 0755 ${D}/${bindir} + for x in ftbench ftdump ftlint ftvalid ttdebug; do + install -m 0755 ${WORKDIR}/ft2demos-${PV}/bin/.libs/$x ${D}/${bindir} + done +} + +FILES_${PN}-demos = "\ + ${bindir}/ftbench \ + ${bindir}/ftdump \ + ${bindir}/ftlint \ + ${bindir}/ftvalid \ + ${bindir}/ttdebug \ +" diff --git a/meta-agl-profile-core/recipes-test/fsfuzzer/files/0001-fix_missing_header_sys_stat.patch b/meta-agl-profile-core/recipes-test/fsfuzzer/files/0001-fix_missing_header_sys_stat.patch new file mode 100644 index 000000000..e834becf3 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/fsfuzzer/files/0001-fix_missing_header_sys_stat.patch @@ -0,0 +1,11 @@ +diff -urN fsfuzzer-0.7.orig/fstest.c fsfuzzer-0.7/fstest.c +--- fsfuzzer-0.7.orig/fstest.c 2009-01-25 14:50:06.000000000 +0000 ++++ fsfuzzer-0.7/fstest.c 2016-06-16 17:49:27.264565819 +0000 +@@ -35,6 +35,7 @@ + #include <signal.h> + #include <sys/file.h> + #include <sys/mman.h> ++#include <sys/stat.h> + + #define LOGGIT 1 + #define CHECK_XATTR 1 diff --git a/meta-agl-profile-core/recipes-test/fsfuzzer/fsfuzzer_0.7.bb b/meta-agl-profile-core/recipes-test/fsfuzzer/fsfuzzer_0.7.bb new file mode 100644 index 000000000..d2ddb59b1 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/fsfuzzer/fsfuzzer_0.7.bb @@ -0,0 +1,18 @@ +SUMMARY = "The fsfuzzer is a filesystem fuzzer tool that does stress tests of various filesystems in a reproducible and logged way." +DESCRIPTION = "This tool creates initial (valid) filesystem images and then manipulates their binary format and structure for detecting flaws/bugs/design problems in the parsing/handling code for that particular filesystem. The program expects that you have a /media directory. It uses that one for mounting test images in." +HOMEPAGE = "https://www.ee.oulu.fi/research/ouspg/fsfuzzer" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRC_URI = "http://people.redhat.com/sgrubb/files/fsfuzzer-${PV}.tar.gz \ + file://0001-fix_missing_header_sys_stat.patch \ + " +SRC_URI[md5sum] = "d69ac4b67aaba52a889c9188eb456c15" +SRC_URI[sha256sum] = "094aa17c4f66c525a04e5db5ad444b4a561b6f8e310d0bd70b9ca421cdf0a434" + +inherit autotools + +# Specify any options you want to pass to the configure script using EXTRA_OECONF: +EXTRA_OECONF = "" + diff --git a/meta-agl-profile-core/recipes-test/glmark2/glmark2_%.bbappend b/meta-agl-profile-core/recipes-test/glmark2/glmark2_%.bbappend new file mode 100644 index 000000000..a64e0506c --- /dev/null +++ b/meta-agl-profile-core/recipes-test/glmark2/glmark2_%.bbappend @@ -0,0 +1,2 @@ +PACKAGECONFIG = "wayland-gles2" +PACKAGECONFIG[wayland-gles2] = ",,virtual/egl virtual/libgles2 wayland" diff --git a/meta-agl-profile-core/recipes-test/himeno/himeno_2.0.bb b/meta-agl-profile-core/recipes-test/himeno/himeno_2.0.bb new file mode 100644 index 000000000..f890e23a4 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/himeno/himeno_2.0.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Himeno Benchmark" +LICENSE = "LGPL-2.0" +URL = "http://accc.riken.jp/en/supercom/himenobmt/" + +SRC_URI = "http://accc.riken.jp/en/wp-content/uploads/sites/2/2015/07/himenobmt.c.zip" +SRC_URI[md5sum] = "8d8e837dfc3e00a3b322eb4ae3edd551" +SRC_URI[sha256sum] = "8780bfbdacb0d4dcab2931e65cadd69411731e3f2afcc1231d0743a036298077" + +LIC_FILES_CHKSUM = "file://himenoBMT.c;md5=8e8771ddc01c6d1a795e088e2d6dee78" + +# Upstream ZIP file contains an LZH archive, thus a 2 steps "unpack" is required. +# The LZH archive is unpacked after native tools dependency resolution, +# thus. after "configure" task in our case: + +DEPENDS = "p7zip-native" + +do_configure_append() { + 7z x -y -o${S} ${WORKDIR}/himenobmt.c.lzh + cd ${S} + sed -i -e 's/CC= gcc/#CC= gcc/' Makefile + sed -i -e 's/CFLAGS = /#CFLAGS = /' Makefile +} + +do_install () { + install -d ${D}${bindir} + install -m 0755 bmt ${D}${bindir} +} diff --git a/meta-agl-profile-core/recipes-test/interbench/files/interbench.c.patch b/meta-agl-profile-core/recipes-test/interbench/files/interbench.c.patch new file mode 100644 index 000000000..c882739ba --- /dev/null +++ b/meta-agl-profile-core/recipes-test/interbench/files/interbench.c.patch @@ -0,0 +1,68 @@ +--- interbench.c.orig 2009-10-30 23:14:59.000000000 -0500 ++++ interbench.c 2012-07-10 19:06:00.000000000 -0500 +@@ -71,6 +71,7 @@ struct user_data { + char datestamp[13]; + FILE *logfile; + } ud = { ++ .ram = 0, + .duration = 30, + .cpu_load = 4, + .log = 1, +@@ -652,6 +653,8 @@ void emulate_write(struct thread *th) + terminal_error("fopen"); + if (stat(name, &statbuf) == -1) + terminal_fileopen_error(fp, "stat"); ++ if (statbuf.st_blksize < MIN_BLK_SIZE) ++ statbuf.st_blksize = MIN_BLK_SIZE; + for (i = 0 ; i < mem; i++) { + if (fwrite(buf, statbuf.st_blksize, 1, fp) != 1) + terminal_fileopen_error(fp, "fwrite"); +@@ -1136,14 +1139,17 @@ void get_ram(void) + if(!(meminfo = fopen("/proc/meminfo", "r"))) + terminal_error("fopen"); + +- ud.ram = ud.swap = 0; +- while( !feof(meminfo) && !fscanf(meminfo, "MemTotal: %lu kB", &ud.ram) ) +- fgets(aux,sizeof(aux),meminfo); ++ if (!ud.ram) ++ { ++ while( !feof(meminfo) && !fscanf(meminfo, "MemTotal: %lu kB", &ud.ram) ) ++ fgets(aux,sizeof(aux),meminfo); ++ } ++ ud.swap = 0; + while( !feof(meminfo) && !fscanf(meminfo, "SwapTotal: %lu kB", &ud.swap) ) + fgets(aux,sizeof(aux),meminfo); + if (fclose(meminfo) == -1) + terminal_error("fclose"); +- ++ + if( !ud.ram || !ud.swap ) { + unsigned long i; + fprintf(stderr, "\nCould not get memory or swap size. "); +@@ -1399,6 +1405,7 @@ void usage(void) + fprintf(stderr, "\t[-h]\n\n"); + fprintf(stderr, " -l\tUse <int> loops per sec (default: use saved benchmark)\n"); + fprintf(stderr, " -L\tUse cpu load of <int> with burn load (default: 4)\n"); ++ fprintf(stderr, " -M\tForce RAM size to <int>. Useful when disk is smaller than RAM.\n"); + fprintf(stderr, " -t\tSeconds to run each benchmark (default: 30)\n"); + fprintf(stderr, " -B\tNice the benchmarked thread to <int> (default: 0)\n"); + fprintf(stderr, " -N\tNice the load thread to <int> (default: 0)\n"); +@@ -1482,7 +1489,7 @@ int main(int argc, char **argv) + terminal_error("signal"); + #endif + +- while ((q = getopt(argc, argv, "hl:L:B:N:ut:bcnrC:I:m:w:x:W:X:")) != -1) { ++ while ((q = getopt(argc, argv, "hl:L:M:B:N:ut:bcnrC:I:m:w:x:W:X:")) != -1) { + switch (q) { + case 'h': + usage(); +@@ -1496,6 +1503,9 @@ int main(int argc, char **argv) + case 'L': + ud.cpu_load = atoi(optarg); + break; ++ case 'M': ++ ud.ram = atoi(optarg); ++ break; + case 'B': + ud.bench_nice = atoi(optarg); + break; diff --git a/meta-agl-profile-core/recipes-test/interbench/interbench_0.31.bb b/meta-agl-profile-core/recipes-test/interbench/interbench_0.31.bb new file mode 100644 index 000000000..3e6490374 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/interbench/interbench_0.31.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "The Linux interactivity benchmark" +HOMEPAGE = "http://users.tpg.com.au/ckolivas/interbench/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" +SRC_URI = "http://ck.kolivas.org/apps/interbench/interbench-${PV}.tar.bz2" + +SRC_URI += "file://interbench.c.patch;striplevel=0" + +inherit autotools + +INSANE_SKIP_${PN} = "ldflags" + +B = "${S}" +EXTRA_OEMAKE = "CC='${CC}'" + +# upstream tarball contains x86_64 binaries, we need a clean source tree +do_compile() { + oe_runmake clean + oe_runmake +} + +do_install() { + install -d ${D}${bindir} ${D}${datadir}/doc/${PN}/ ${D}${mandir}/man8/ + install -m 0755 ${B}/interbench ${D}${bindir} + install -m 0644 ${S}/readme* ${D}${datadir}/doc/${PN}/ + install -m 0644 ${S}/interbench.8 ${D}${mandir}/man8/ +} + +SRC_URI[md5sum] = "832254d7fd1255c548ebea7b97f01015" +SRC_URI[sha256sum] = "89d438b28aef22d26e79812762a57a9f9344a8dd8826edebfe60dad48ee1c784" + diff --git a/meta-agl-profile-core/recipes-test/iperf/iperf-2.0.9/0001-fix-out-of-tree-config.patch b/meta-agl-profile-core/recipes-test/iperf/iperf-2.0.9/0001-fix-out-of-tree-config.patch new file mode 100644 index 000000000..e8a029790 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/iperf/iperf-2.0.9/0001-fix-out-of-tree-config.patch @@ -0,0 +1,52 @@ +iperf: fix out of tree configuration + +The configure step uses a package header to check for support of types/declares, +this package header encapsulates all the required system header for providing +the needed resources. When configured from an out of tree directory the package +header is not found due to the hard path. +We now make the path for package header relative to our 'srcdir' so it is +found appropriately. + +Signed-off-by: Awais Belal <awais_belal@mentor.com> +--- +diff --git a/configure.ac b/configure.ac +index 2b3fd20..d420f9e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -176,8 +176,8 @@ dnl Check for system services + + dnl check for multicast + if test "$ac_cv_multicast" != no; then +- AC_CHECK_TYPES(struct ip_mreq,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct ip_mreq,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(IP_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"]) + AC_MSG_CHECKING(for multicast support) + ac_cv_multicast=no + if test "$ac_cv_have_decl_IP_ADD_MEMBERSHIP" = yes; then +@@ -193,9 +193,9 @@ fi + + dnl check for IPv6 + if test "$ac_cv_have_ipv6" != no; then +- AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(AF_INET6,,,[#include "compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct sockaddr_storage,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct sockaddr_in6,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(AF_INET6,,,[#include "${srcdir}/compat/headers_slim.h"]) + AC_MSG_CHECKING(for IPv6 headers and structures) + ac_cv_have_ipv6=no + if test "$ac_cv_type_struct_sockaddr_storage" = yes; then +@@ -211,9 +211,9 @@ fi + + if test "$ac_cv_have_ipv6" = yes; then + if test "$ac_cv_multicast" = yes; then +- AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "compat/headers_slim.h"]) +- AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "compat/headers_slim.h"]) ++ AC_CHECK_TYPES(struct ipv6_mreq,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(IPV6_ADD_MEMBERSHIP,,,[#include "${srcdir}/compat/headers_slim.h"]) ++ AC_CHECK_DECLS(IPV6_MULTICAST_HOPS,,,[#include "${srcdir}/compat/headers_slim.h"]) + AC_MSG_CHECKING(for IPv6 multicast support) + ac_cv_have_ipv6_multicast=no + if test "$ac_cv_type_struct_ipv6_mreq" = yes; then diff --git a/meta-agl-profile-core/recipes-test/iperf/iperf-2.0.9/0002-fix-bool-size-m4.patch b/meta-agl-profile-core/recipes-test/iperf/iperf-2.0.9/0002-fix-bool-size-m4.patch new file mode 100644 index 000000000..348e316ce --- /dev/null +++ b/meta-agl-profile-core/recipes-test/iperf/iperf-2.0.9/0002-fix-bool-size-m4.patch @@ -0,0 +1,16 @@ +--- iperf-2.0.5/m4/dast.m4.orig 2016-06-15 11:42:03.945581785 -0400 ++++ iperf-2.0.5/m4/dast.m4 2016-06-15 11:42:11.053581641 -0400 +@@ -11,7 +11,12 @@ + + AC_DEFUN(DAST_CHECK_BOOL, [ + +-AC_CHECK_SIZEOF(bool) ++if test "$ac_cv_header_stdbool_h" = yes; then ++ AC_CHECK_SIZEOF(bool,,[#include <stdbool.h>]) ++else ++ AC_CHECK_SIZEOF(bool) ++fi ++ + if test "$ac_cv_sizeof_bool" = 0 ; then + AC_DEFINE(bool, int) + fi diff --git a/meta-agl-profile-core/recipes-test/iperf/iperf-2.0.9/iperf-2.0.5_ManPage.patch b/meta-agl-profile-core/recipes-test/iperf/iperf-2.0.9/iperf-2.0.5_ManPage.patch new file mode 100644 index 000000000..12e8f4631 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/iperf/iperf-2.0.9/iperf-2.0.5_ManPage.patch @@ -0,0 +1,8 @@ +diff --git iperf-2.0.5/man/Makefile.am iperf-2.0.5/man/Makefile.am + index ed97bc6..728873f 100644 +--- iperf-2.0.5/man/Makefile.am ++++ iperf-2.0.5/man/Makefile.am +@@ -1,2 +1 @@ +-man_MANS = iperf.1 +-dist_man_MANS = $(man_MANS) ++dist_man_MANS = iperf.1 diff --git a/meta-agl-profile-core/recipes-test/iperf/iperf_2.0.9.bb b/meta-agl-profile-core/recipes-test/iperf/iperf_2.0.9.bb new file mode 100644 index 000000000..f297f7f7f --- /dev/null +++ b/meta-agl-profile-core/recipes-test/iperf/iperf_2.0.9.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics" +HOMEPAGE = "http://dast.nlanr.net/Projects/Iperf/" +SECTION = "console/network" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=e8478eae9f479e39bc34975193360298" + +SRC_URI = " https://iperf.fr/download/source/${BP}-source.tar.gz \ + " + +SRC_URI[md5sum] = "1bb3a1d98b1973aee6e8f171933c0f61" +SRC_URI[sha256sum] = "a5350777b191e910334d3a107b5e5219b72ffa393da4186da1e0a4552aeeded6" + +S = "${WORKDIR}/${BP}" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," diff --git a/meta-agl-profile-core/recipes-test/ipv6connect/ipv6connect.bb b/meta-agl-profile-core/recipes-test/ipv6connect/ipv6connect.bb new file mode 100644 index 000000000..a8b93716a --- /dev/null +++ b/meta-agl-profile-core/recipes-test/ipv6connect/ipv6connect.bb @@ -0,0 +1,24 @@ +SUMMARY = "ipv6connect test" +HOMEPAGE = "https://chromium.googlesource.com/chromiumos/third_party/autotest/+/0.12.369.B/client/tests/ipv6connect" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${S}/${PN}/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "b355b7e1f43a19938895964f314484ffd8a39542" + +inherit autotools + +INSANE_SKIP_${PN} = "ldflags" + +B = "${WORKDIR}/git/ipv6connect" +S = "${WORKDIR}/git" + +# configure script is not delivered, only a makefile. +do_configure() { + : +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${B}/ipv6connect ${D}${bindir} +} diff --git a/meta-agl-profile-core/recipes-test/linpack/linpack.bb b/meta-agl-profile-core/recipes-test/linpack/linpack.bb new file mode 100644 index 000000000..84bed0ff6 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/linpack/linpack.bb @@ -0,0 +1,23 @@ +SUMMARY = "Linpack benchmark" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://${S}/${PN}/linpack.c;md5=076f1fd8d313056103f98d4253862eae" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "920cae73a918d1f516113b0ae967be3ecaba86ef" + +DEPENDS += "rsync-native" + +inherit autotools + +S = "${WORKDIR}/git" + +# configure script is not delivered, only a makefile. +do_configure() { + mkdir -p ${B} + rsync -a ${S}/${PN}/* ${B} +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${B}/linpack ${D}${bindir} +} diff --git a/meta-agl-profile-core/recipes-test/linus-stress/linus-stress.bb b/meta-agl-profile-core/recipes-test/linus-stress/linus-stress.bb new file mode 100644 index 000000000..01b3cfce5 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/linus-stress/linus-stress.bb @@ -0,0 +1,23 @@ +SUMMARY = "linus_stress test" +HOMEPAGE = "https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/client/tests/linus_stress" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${S}/linus_stress/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "87cdfd4626c0cb47fc22f328867e49d6268df85c" + +inherit autotools +INSANE_SKIP_${PN} = "ldflags" + +B = "${WORKDIR}/git/linus_stress" +S = "${WORKDIR}/git" + +# configure script is not delivered, only a makefile. +do_configure() { + : +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${B}/linus_stress ${D}${bindir} +} diff --git a/meta-agl-profile-core/recipes-test/packagegroups/packagegroup-agl-test.bb b/meta-agl-profile-core/recipes-test/packagegroups/packagegroup-agl-test.bb new file mode 100644 index 000000000..1c3412e84 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/packagegroups/packagegroup-agl-test.bb @@ -0,0 +1,57 @@ +SUMMARY = "Utilities for testing of AGL" +DESCRIPTION = "A set of common packages required by testing AGL for Quality Assurance" + +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "\ + packagegroup-agl-test \ + packagegroup-agl-test-ltp \ + packagegroup-ivi-common-test \ + " + +ALLOW_EMPTY_${PN} = "1" + +RDEPENDS_${PN} += "\ + bc \ + blobsallad \ + dbench \ + ebizzy \ + ffsb \ + interbench \ + iozone3 \ + iperf \ + ipv6connect \ + linpack \ + linus-stress \ + lmbench \ + nbench-byte \ + rt-tests \ + stress \ + " +# to be added, but needs LICENSE_FLAGS_WHITELIST="non-commercial" +# netperf + +# FTBS, SPEC-316 +# himeno +# FTBS, SPEC-1384 +# trinity + +# packagegroup-agl-test-ltp \ +# ltp \ +# + +# Packages for shell commands which are required by LTP +# readelf, logrotate, vsftpd, crontab, sar, arp, ftp, +# host, rcp, rlogin, rsh, tcpdump, expect, iptables, dnsmasq, +# pgrep +RDEPENDS_packagegroup-agl-test-ltp += " \ + initscripts-functions bind-utils binutils \ + cronie dnsmasq expect inetutils-ftp inetutils-rsh \ + iptables logrotate net-tools sysstat tcpdump vsftpd \ + " + +RDEPENDS_packagegroup-ivi-common-test = " \ + packagegroup-agl-test \ + " diff --git a/meta-agl-profile-core/recipes-test/trinity/trinity_git.bb b/meta-agl-profile-core/recipes-test/trinity/trinity_git.bb new file mode 100644 index 000000000..f0f09a855 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/trinity/trinity_git.bb @@ -0,0 +1,42 @@ +SUMMARY = "a Linux System call fuzz teste." +DESCRIPTION = "Trinity, a Linux System call fuzz tester." +HOMEPAGE = "http://codemonkey.org.uk/projects/trinity/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=96094d47cfbd2cc45eb46ce0fc423c04" + +COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux" + +PV = "1.5" +SRCREV = "edc2e693e298e0372010a361354c4a79a3cd93f3" +SRC_URI = "git://github.com/kernelslacker/trinity.git;protocol=https;nobranch=1 \ + " + +S = "${WORKDIR}/git" + +inherit useradd + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --create-home --shell /bin/sh ${PN} " + +do_configure () { + ./configure.sh +} + +# workaround random build failures +do_compile () { + ${MAKE} +} + +do_install () { + oe_runmake install DESTDIR=${D}/usr + install -o ${PN} -d -m 0755 ${D}/${datadir}/${PN} + install -o ${PN} -m 0755 ${S}/scripts/test-all-syscalls-parallel.sh ${D}/${datadir}/${PN} + install -o ${PN} -m 0755 ${S}/scripts/test-all-syscalls-sequentially.sh ${D}/${datadir}/${PN} + install -o ${PN} -m 0755 ${S}/scripts/test-multi.sh ${D}/${datadir}/${PN} + install -o ${PN} -m 0755 ${S}/scripts/test-vm.sh ${D}/${datadir}/${PN} +} + +PACKAGES =+ "${PN}-example" + +FILES_${PN} = "${bindir}/trinity" +FILES_${PN}-example = "${datadir}/${PN}" |