summaryrefslogtreecommitdiffstats
path: root/recipes-core
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core')
-rw-r--r--recipes-core/numactl/numactl-2.0.9/Makefile.patch63
-rwxr-xr-xrecipes-core/numactl/numactl-2.0.9/regress1-parser63
-rwxr-xr-xrecipes-core/numactl/numactl-2.0.9/run-ptest5
-rw-r--r--recipes-core/numactl/numactl_2.0.9.bb52
-rw-r--r--recipes-core/numad/numad-0.6/Makefile.patch50
-rw-r--r--recipes-core/numad/numad-0.6/numad.conf.patch14
-rw-r--r--recipes-core/numad/numad-0.6/numad.init.patch85
-rwxr-xr-xrecipes-core/numad/numad-0.6/run-ptest20
-rw-r--r--recipes-core/numad/numad-0.6/test.patch175
-rw-r--r--recipes-core/numad/numad_0.6.bb51
-rw-r--r--recipes-core/packagegroups/packagegroup-enea-ip.bb18
11 files changed, 596 insertions, 0 deletions
diff --git a/recipes-core/numactl/numactl-2.0.9/Makefile.patch b/recipes-core/numactl/numactl-2.0.9/Makefile.patch
new file mode 100644
index 0000000..3c6d3e2
--- /dev/null
+++ b/recipes-core/numactl/numactl-2.0.9/Makefile.patch
@@ -0,0 +1,63 @@
1Add 'test-install' rule.
2Do not use getlibdir for 'prefix' variable.
3Echo 'SKIP' result for ptest when run on sigle node machine.
4
5Signed-off-by: Radu Patriu <radu.patriu@enea.com>
6Upstream-Status: Pending
7
8Index: numactl-2.0.9-orig/Makefile
9===================================================================
10--- numactl-2.0.9-orig.orig/Makefile 2013-10-09 00:34:57.000000000 +0300
11+++ numactl-2.0.9-orig/Makefile 2014-02-07 20:27:21.951902184 +0200
12@@ -42,7 +42,7 @@
13 else
14 prefix := $(PREFIX)
15 endif
16-libdir := ${prefix}/$(shell ./getlibdir)
17+libdir := ${prefix}/lib
18 docdir := ${prefix}/share/doc
19
20 all: numactl migratepages migspeed libnuma.so numademo numamon memhog \
21@@ -197,9 +197,9 @@
22 .depend:
23 ${CC} -MM -DDEPS_RUN -I. ${SOURCES} > .depend.X && mv .depend.X .depend
24
25-include .depend
26+# include .depend
27
28-Makefile: .depend
29+# Makefile: .depend
30
31 .PHONY: test regress1 regress2
32
33@@ -215,3 +215,18 @@
34
35 # test: all regress1 regress2 test_numademo regress3
36 test: all regress1 regress2 test_numademo
37+
38+TEST_DESTDIR ?= ${prefix}/lib/numactl/ptest
39+TEST_FILES = bind_range distance migrate_pages nodemap prefered README regress2 shmtest \
40+ checkaffinity ftok move_pages node-parse printcpu realloc_test regress-io tbitmap \
41+ checktopology mbind_mig_pages mynode pagesize randmap regress runltp tshared
42+TEST_FRAME = Makefile getlibdir numactl numademo
43+
44+test-install:
45+ install -d ${TEST_DESTDIR}/test
46+ for file in ${TEST_FILES}; do \
47+ install test/$${file} ${TEST_DESTDIR}/test; \
48+ done
49+ for file in ${TEST_FRAME}; do \
50+ install $${file} ${TEST_DESTDIR}; \
51+ done
52Index: numactl-2.0.9-orig/test/regress
53===================================================================
54--- numactl-2.0.9-orig.orig/test/regress 2013-10-09 00:34:58.000000000 +0300
55+++ numactl-2.0.9-orig/test/regress 2014-02-07 20:27:01.151901373 +0200
56@@ -73,6 +73,7 @@
57 if [ $numnodes -lt 2 ] ; then
58 echo "need at least two nodes with at least $NEEDPAGES each of"
59 echo "free memory for mempolicy regression tests"
60+ echo '========SKIP'
61 exit 1
62 fi
63 }
diff --git a/recipes-core/numactl/numactl-2.0.9/regress1-parser b/recipes-core/numactl/numactl-2.0.9/regress1-parser
new file mode 100755
index 0000000..d8e9dea
--- /dev/null
+++ b/recipes-core/numactl/numactl-2.0.9/regress1-parser
@@ -0,0 +1,63 @@
1#!/bin/sh
2
3test_pattern="=>testing "
4test_fail="==FAILED"
5test_skip="==SKIP"
6test_log="regress1.log"
7test_suite="regress1"
8
9test_name=""
10failed="0"
11skiped="0"
12
13while read line
14do
15 substring=${line#$test_pattern*}
16# echo "sub>"$substring"<"
17 if [ "$substring" != "$line" ];
18 then
19 if [ "$test_name" != "" ];
20 then
21 if [ "$failed" = "1" ];
22 then
23 echo "FAIL: $test_name"
24 else
25 echo "PASS: $test_name"
26 fi
27 fi
28 test_name=$substring
29# echo "name>"$test_name"<"
30 failed="0"
31 fi
32
33 if [ "${line#*$test_fail}" != "$line" ];
34 then
35 failed="1"
36 fi
37
38 if [ "${line#*$test_skip}" != "$line" ];
39 then
40 skiped="1"
41 fi
42
43done < $test_log
44
45if [ "$skiped" = "1" ];
46then
47 echo "SKIP: $test_suite"
48 exit 1
49fi
50
51
52if [ "$test_name" = "" ];
53then
54 echo "FAIL: $test_suite"
55 exit 1
56fi
57
58if [ "$failed" = "1" ];
59then
60 echo "FAIL: $test_name"
61else
62 echo "PASS: $test_name"
63fi
diff --git a/recipes-core/numactl/numactl-2.0.9/run-ptest b/recipes-core/numactl/numactl-2.0.9/run-ptest
new file mode 100755
index 0000000..1d5292e
--- /dev/null
+++ b/recipes-core/numactl/numactl-2.0.9/run-ptest
@@ -0,0 +1,5 @@
1#!/bin/sh
2
3make regress1 >regress1.log 2>&1
4./regress1-parser
5make -k regress2 >regress2.log 2>&1 && echo "PASS: regress2" || echo "FAIL: regress2"
diff --git a/recipes-core/numactl/numactl_2.0.9.bb b/recipes-core/numactl/numactl_2.0.9.bb
new file mode 100644
index 0000000..a7fee35
--- /dev/null
+++ b/recipes-core/numactl/numactl_2.0.9.bb
@@ -0,0 +1,52 @@
1SUMMARY = "Simple NUMA policy support"
2DESCRIPTION = 'It consists of a numactl program to run \
3other programs with a specific NUMA policy and a libnuma shared library \
4("NUMA API") to set NUMA policy in applications.'
5HOMEPAGE = "http://oss.sgi.com/projects/libnuma/"
6SECTION = "console/utils"
7
8RDEPENDS_numactl = "libnuma"
9
10LICENSE = "GPLv2 & LGPLv2.1"
11LICENSE_libnuma = "GPLv2"
12LICENSE_numactl = "LGPLv2.1"
13
14LIC_FILES_CHKSUM = "file://libnuma.c;beginline=1;endline=17;md5=17362df5a5de121a289afcac0d30a9c6 \
15 file://numactl.c;beginline=1;endline=16;md5=0c0a67367b1246f7643d6bc2bfe469de"
16
17SRC_URI = "ftp://oss.sgi.com/www/projects/libnuma/download/numactl-2.0.9.tar.gz \
18 file://Makefile.patch \
19 file://regress1-parser \
20 file://run-ptest"
21
22SRC_URI[md5sum] = "136685c8eaf9d6569c351fe1d453b30c"
23SRC_URI[sha256sum] = "9ca033e6c14c0f26c20379b0cf9299429fd5a354a79c3c7880fd41ef69f7751c"
24
25S = "${WORKDIR}/numactl-${PV}"
26
27EXTRA_OEMAKE = "PREFIX=${D}/usr TEST_DESTDIR=${D}${PTEST_PATH}"
28
29do_install () {
30 oe_runmake install
31 rmdir ${D}/usr/share/man/man2
32}
33
34PACKAGES = "libnuma-dbg ${PN}-dbg ${PN} ${PN}-doc libnuma-staticdev libnuma libnuma-dev libnuma-doc"
35
36FILES_libnuma-dbg = "${libdir}/.debug"
37FILES_libnuma-staticdev = "${libdir}/*.a"
38FILES_libnuma = "${libdir}/libnuma.so.*"
39FILES_libnuma-dev = "${libdir} ${includedir}"
40FILES_libnuma-doc = "${mandir}/man3"
41
42FILES_${PN}-dbg = "${bindir}/.debug /usr/src/debug"
43FILES_${PN} = "${bindir}"
44FILES_${PN}-doc = "${mandir}/man8"
45
46inherit ptest
47RDEPENDS_${PN}-ptest += "make"
48
49do_install_ptest () {
50 oe_runmake test-install
51 install ${WORKDIR}/regress1-parser ${D}${PTEST_PATH}
52}
diff --git a/recipes-core/numad/numad-0.6/Makefile.patch b/recipes-core/numad/numad-0.6/Makefile.patch
new file mode 100644
index 0000000..f6a564d
--- /dev/null
+++ b/recipes-core/numad/numad-0.6/Makefile.patch
@@ -0,0 +1,50 @@
1Add 'test-install' rule.
2Allow 'prefix' variable to be overloaded.
3
4Signed-off-by: Radu Patriu <radu.patriu@enea.com>
5Upstream-Status: Pending
6
7Index: numad/Makefile
8===================================================================
9--- numad.orig/Makefile 2014-05-13 00:17:16.094991993 +0300
10+++ numad/Makefile 2014-05-13 00:22:22.318986948 +0300
11@@ -22,21 +22,23 @@
12 BENCH_CFLAGS += -ftree-vectorize
13 endif
14
15-CLEANFILES := numad.o numad .depend .depend.X empty.c empty.o
16+CLEANFILES := numad.o numad .depend .depend.X empty.c empty.o test.o test
17
18-SOURCES := numad.c
19+SOURCES := numad.c test.c
20
21-prefix := /usr
22+prefix ?= /usr
23 docdir := ${prefix}/share/doc
24
25 all: numad
26
27 numad: numad.o -lpthread -lrt
28
29+test: test.o -lnuma
30+
31 AR ?= ar
32 RANLIB ?= ranlib
33
34-.PHONY: install all clean html depend
35+.PHONY: install all clean html depend -lpthread -lrt -lnuma
36
37 # BB_FIXME MANPAGES := numa.3 numactl.8 numastat.8 migratepages.8 migspeed.8
38
39@@ -46,6 +48,11 @@
40 install -m 0755 numad ${prefix}/bin
41 install -m 0644 numad.8 ${prefix}/share/man/man8
42
43+TEST_DESTDIR ?= ${prefix}/lib/numad/ptest
44+test-install: test
45+ install -d ${TEST_DESTDIR}
46+ install test ${TEST_DESTDIR}
47+
48 clean:
49 rm -f ${CLEANFILES}
50 @rm -rf html
diff --git a/recipes-core/numad/numad-0.6/numad.conf.patch b/recipes-core/numad/numad-0.6/numad.conf.patch
new file mode 100644
index 0000000..0b63ca0
--- /dev/null
+++ b/recipes-core/numad/numad-0.6/numad.conf.patch
@@ -0,0 +1,14 @@
1Add DIRECTORY_MOUNT_POINT to configuration file.
2
3Signed-off-by: Radu Patriu <radu.patriu@enea.com>
4Upstream-Status: Pending
5
6Index: numad/numad.conf
7===================================================================
8--- numad.orig/numad.conf 2014-03-13 17:12:38.000000000 +0200
9+++ numad/numad.conf 2014-03-13 17:40:39.417851081 +0200
10@@ -3,3 +3,4 @@
11 # Default INTERVAL is 15
12 # modify below to change it
13 INTERVAL=15
14+DIRECTORY_MOUNT_POINT="/sys/fs/cgroup/cpuset"
diff --git a/recipes-core/numad/numad-0.6/numad.init.patch b/recipes-core/numad/numad-0.6/numad.init.patch
new file mode 100644
index 0000000..c95f8d6
--- /dev/null
+++ b/recipes-core/numad/numad-0.6/numad.init.patch
@@ -0,0 +1,85 @@
1Fix source functions path.
2Use start-stop-daemon.
3
4Signed-off-by: Radu Patriu <radu.patriu@enea.com>
5Upstream-Status: Pending
6
7Index: numad/numad.init
8===================================================================
9--- numad.orig/numad.init 2014-03-13 15:27:26.000000000 +0200
10+++ numad/numad.init 2014-03-13 16:39:13.089952014 +0200
11@@ -6,13 +6,13 @@
12 ### BEGIN INIT INFO
13 # Provides: numad
14 # Required-Start: cgconfig
15-# Required-Stop:
16-# Should-Start:
17-# Should-Stop:
18-# Default-Start:
19-# Default-Stop:
20+# Required-Stop:
21+# Should-Start:
22+# Should-Stop:
23+# Default-Start:
24+# Default-Stop:
25 # Short-Description: numad control
26-# Description:
27+# Description:
28 ### END INIT INFO
29
30 if [ $(id -u) -ne 0 ]; then
31@@ -21,7 +21,7 @@
32 fi
33
34 # Source function library.
35-. /etc/rc.d/init.d/functions
36+. /etc/init.d/functions
37
38 exec="/usr/bin/numad"
39 prog="numad"
40@@ -29,32 +29,36 @@
41
42 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
43
44-lockfile=/var/lock/subsys/$prog
45-base=${0##*/}
46-
47 start() {
48 [ -x $exec ] || exit 5
49 [ -f $config ] || exit 6
50 echo -n $"Starting $prog: "
51 . $config
52- daemon "$exec -i $INTERVAL"
53+ start-stop-daemon --start --quiet --exec $exec -- -i $INTERVAL -D $DIRECTORY_MOUNT_POINT
54 retval=$?
55- echo
56- [ $retval -eq 0 ] && touch $lockfile
57+ if [ $retval -eq 0 ] ; then
58+ echo "OK"
59+ else
60+ echo "FAIL"
61+ fi
62 return $retval
63 }
64
65 stop() {
66 echo -n $"Stopping $prog: "
67- killproc $prog
68+ start-stop-daemon --stop --quiet --exec $exec
69 retval=$?
70- echo
71- [ $retval -eq 0 ] && rm -f $lockfile
72+ if [ $retval -eq 0 ] ; then
73+ echo "OK"
74+ else
75+ echo "FAIL"
76+ fi
77 return $retval
78 }
79
80 restart() {
81 stop
82+ sleep 1
83 start
84 }
85
diff --git a/recipes-core/numad/numad-0.6/run-ptest b/recipes-core/numad/numad-0.6/run-ptest
new file mode 100755
index 0000000..5c49181
--- /dev/null
+++ b/recipes-core/numad/numad-0.6/run-ptest
@@ -0,0 +1,20 @@
1#!/bin/sh
2
3CPUSET_PATH="/tmp/numad-cpuset"
4
5/etc/init.d/numad.init status
6STATUS=$?
7/etc/init.d/numad.init stop
8mkdir $CPUSET_PATH; mount -t cgroup -ocpuset cpuset $CPUSET_PATH
9./test 2>&1&
10TEST_PID=$!
11sleep 2
12numad -d -S 0 -u 50 -i 5:5 -p $TEST_PID -D $CPUSET_PATH
13wait
14numad -i 0
15sleep 1
16umount $CPUSET_PATH ; rmdir $CPUSET_PATH
17if [ "$STATUS" = "0" ]; then
18 /etc/init.d/numad.init start
19fi
20
diff --git a/recipes-core/numad/numad-0.6/test.patch b/recipes-core/numad/numad-0.6/test.patch
new file mode 100644
index 0000000..762790c
--- /dev/null
+++ b/recipes-core/numad/numad-0.6/test.patch
@@ -0,0 +1,175 @@
1Test output format: ptest style (PASS, FAIL, SKIP)
2Description: Allocate memory from a node other than
3the current CPU is running on. Wait for numad to modify
4memory and CPU policy binding the process to run and allocate on
5the same node.
6Dependencies: libnuma
7
8Signed-off-by: Radu Patriu <radu.patriu@enea.com>
9Upstream-Status: Pending
10
11Index: numa-test/test.c
12===================================================================
13--- /dev/null 1970-01-01 00:00:00.000000000 +0000
14+++ numa-test/test.c 2014-02-18 17:22:49.952290472 +0200
15@@ -0,0 +1,160 @@
16+#define _GNU_SOURCE
17+#include <sched.h>
18+#include <stdio.h>
19+#include <unistd.h>
20+#include <ctype.h>
21+#include <sys/time.h>
22+#include <sched.h>
23+#include <numa.h>
24+
25+#define TIMEOUT (1000 * 60) /*60 seconds*/
26+#define LOOP_TIME (1000 * 5) /*5 seconds*/
27+#define MEM_POLICY_CHANGED 1
28+#define NODE_POLICY_CHANGED 2
29+#define TEST_DONE (MEM_POLICY_CHANGED | NODE_POLICY_CHANGED)
30+
31+#define TEST_PASS 0
32+#define TEST_FAIL 1
33+#define TEST_SKIP 2
34+
35+#define MEM_SIZE 0.3 /* 30 % node memory */
36+
37+unsigned int numa_bitmask_weight(const struct bitmask *bmp);
38+
39+void print_bitmask(struct bitmask *mask)
40+{
41+ /*assume 32 max nodes*/
42+ printf("0x%08lx", *(mask->maskp));
43+}
44+
45+int test()
46+{
47+ int i, j, total_nodes, total_mem_nodes, total_cpus, prefered_node;
48+ struct bitmask *allowed_mem_nodes, *allowed_nodes, *cpu_mask, *mem_bind, *bit_mask;
49+ long long mem_size, page_size;
50+ unsigned char *mem;
51+ struct timeval start, end, res;
52+ int local_node, local_cpu, other_node, test_complete;
53+
54+ allowed_mem_nodes = numa_allocate_nodemask();
55+ allowed_nodes = numa_allocate_nodemask();
56+ mem_bind = numa_allocate_nodemask();
57+ cpu_mask = numa_allocate_cpumask();
58+ if (!(allowed_mem_nodes && allowed_nodes && mem_bind && cpu_mask)) {
59+ printf("Error: numa_allocate failed\n");
60+ return TEST_FAIL;
61+ }
62+
63+ total_nodes = numa_max_node() + 1;
64+ printf("total_nodes %d\n", total_nodes);
65+
66+ total_mem_nodes = numa_num_configured_nodes();
67+ printf("total_mem_nodes %d\n", total_mem_nodes);
68+
69+ total_cpus = numa_num_configured_cpus();
70+ printf("total_cpus %d\n", total_cpus);
71+
72+ page_size = numa_pagesize();
73+ printf("page_size %llu\n", page_size);
74+
75+ i = 0;
76+ test_complete = 0;
77+ gettimeofday(&start, NULL);
78+ do {
79+ printf("\n\n\nLoop %d\n", i);
80+
81+ bit_mask = numa_get_mems_allowed();
82+ if (i && !numa_bitmask_equal(bit_mask, allowed_mem_nodes)) {
83+ printf("\nInfo: memory policy modified\n\n");
84+ test_complete |= MEM_POLICY_CHANGED;
85+ }
86+ copy_bitmask_to_bitmask(bit_mask, allowed_mem_nodes);
87+ printf("allowed_mem_nodes "); print_bitmask(allowed_mem_nodes); printf("\n");
88+ if ((0 == i) && (1 == numa_bitmask_weight(allowed_mem_nodes))) {
89+ printf("Error: need at least two memory nodes\n");
90+ return TEST_SKIP;
91+ }
92+
93+ bit_mask = numa_get_run_node_mask();
94+ if (i && !numa_bitmask_equal(bit_mask, allowed_nodes)) {
95+ printf("\nInfo: node/cpu policy modified\n\n");
96+ test_complete |= NODE_POLICY_CHANGED;
97+ }
98+ copy_bitmask_to_bitmask(bit_mask, allowed_nodes);
99+ printf("allowed_nodes "); print_bitmask(allowed_nodes); printf("\n");
100+
101+ prefered_node = numa_preferred();
102+ printf("prefered_node %d\n", prefered_node);
103+
104+ bit_mask = numa_get_membind();
105+ copy_bitmask_to_bitmask(bit_mask, mem_bind);
106+ printf("mem_bind "); print_bitmask(mem_bind); printf("\n");
107+
108+ if (numa_sched_getaffinity(0, cpu_mask) < 0) {
109+ printf("Error: numa_sched_getaffinity failed\n");
110+ return TEST_FAIL;
111+ }
112+ printf("sched_affinity "); print_bitmask(cpu_mask); printf("\n");
113+
114+ other_node = -1;
115+ local_cpu = sched_getcpu();
116+ local_node = numa_node_of_cpu(local_cpu);
117+ for (j = 0; j < total_mem_nodes; ++j)
118+ if (numa_bitmask_isbitset(allowed_mem_nodes, j) && (j != local_node))
119+ other_node = j;
120+
121+ printf("running on node %d, cpu %d\n", local_node, local_cpu);
122+ printf("alloc memory from node %d\n", other_node);
123+
124+ mem_size = numa_node_size64(other_node, NULL) * MEM_SIZE;
125+ printf("test_mem_size %llu\n", mem_size);
126+
127+ /* avoid mbind: Invalid argument */
128+ if (TEST_DONE == test_complete)
129+ return TEST_PASS;
130+
131+ mem = numa_alloc_onnode(mem_size, other_node);
132+ if (!mem) {
133+ printf("Error: numa_alloc_onnode failed for node %d\n", other_node);
134+ return TEST_FAIL;
135+ }
136+
137+ gettimeofday(&end, NULL);
138+ /* do some work */
139+ do {
140+ struct timeval now;
141+ memcpy(mem, mem + mem_size/2, mem_size/2);
142+ gettimeofday(&now, NULL);
143+ timersub(&now, &end, &res);
144+ } while((res.tv_sec * 1000 + res.tv_usec / 1000) < LOOP_TIME);
145+
146+ numa_free(mem, mem_size);
147+ ++i;
148+ gettimeofday(&end, NULL);
149+ timersub(&end, &start, &res);
150+ } while((res.tv_sec * 1000 + res.tv_usec / 1000) < TIMEOUT);
151+
152+ return TEST_FAIL;
153+}
154+
155+int main()
156+{
157+ if (numa_available() < 0) {
158+ printf("Error: numa not available\n");
159+ printf("SKIP: numad\n");
160+ return 0;
161+ }
162+
163+ switch(test()) {
164+ case TEST_PASS:
165+ printf("PASS: numad\n");
166+ break;
167+ case TEST_SKIP:
168+ printf("FAIL: numad\n");
169+ break;
170+ default:
171+ printf("FAIL: numad\n");
172+ }
173+
174+ return 0;
175+}
diff --git a/recipes-core/numad/numad_0.6.bb b/recipes-core/numad/numad_0.6.bb
new file mode 100644
index 0000000..a6e8ad6
--- /dev/null
+++ b/recipes-core/numad/numad_0.6.bb
@@ -0,0 +1,51 @@
1SUMMARY = "NUMA load distributing daemon"
2DESCRIPTION = 'A user-level daemon that monitors NUMA topology and processes resource \
3consumption to facilitate good NUMA resource access of applications/virtual machines \
4to improve performance and minimize cost of remote memory latencies.'
5HOMEPAGE = "https://git.fedorahosted.org/git/numad.git"
6SECTION = "console/utils"
7
8LICENSE = "LGPLv2.1"
9
10LIC_FILES_CHKSUM = "file://numad.c;beginline=1;endline=19;md5=fc770296e974bef07ddd7033725c8e29"
11
12SRC_URI = "git://git.fedorahosted.org/git/numad.git;protocol=https;branch=master \
13 file://Makefile.patch \
14 file://test.patch \
15 file://run-ptest \
16 file://numad.init.patch \
17 file://numad.conf.patch"
18
19SRCREV = "b621838bf9c8203e87137eca28e19bcc381cde2a"
20
21S = "${WORKDIR}/git"
22
23#clear .LIBPATTERNS instead of using VPATH="${STAGING_LIBDIR}:${STAGING_DIR_HOST}/${base_libdir}"
24EXTRA_OEMAKE = 'prefix=${D}/usr TEST_DESTDIR=${D}${PTEST_PATH} .LIBPATTERNS=""'
25
26do_install () {
27 oe_runmake install
28 install -d ${D}${sysconfdir}/init.d
29 install -m 0755 ${S}/numad.init ${D}${sysconfdir}/init.d
30 install -m 0644 ${S}/numad.conf ${D}${sysconfdir}
31}
32
33inherit update-rc.d ptest
34
35DEPENDS_${PN}-ptest += "numactl"
36RDEPENDS_${PN}-ptest += "libnuma"
37
38INITSCRIPT_NAME = "numad.init"
39#INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ."
40INITSCRIPT_PARAMS = "stop 20 5 2 . stop 20 0 1 6 ."
41
42#wait for numa.h
43do_compile_ptest_base[depends] += "numactl:do_populate_sysroot"
44
45do_install_ptest () {
46 oe_runmake test-install
47}
48
49do_compile_ptest () {
50 oe_runmake test
51}
diff --git a/recipes-core/packagegroups/packagegroup-enea-ip.bb b/recipes-core/packagegroups/packagegroup-enea-ip.bb
new file mode 100644
index 0000000..8cd980d
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-enea-ip.bb
@@ -0,0 +1,18 @@
1DESCRIPTION = "Package group for IP"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
4 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5PR = "r0"
6
7inherit packagegroup
8
9RDEPENDS_${PN} = "\
10 numactl \
11 numad \
12 dpdk \
13 oftest \
14 openvswitchdpdk-oftest-ptest \
15 openvswitch \
16 openvswitchdpdk \
17 openvswitchdpdk-qemu \
18 "