diff options
Diffstat (limited to 'meta/recipes-support/libnl')
-rw-r--r-- | meta/recipes-support/libnl/files/enable-serial-tests.patch | 29 | ||||
-rwxr-xr-x | meta/recipes-support/libnl/files/run-ptest | 16 | ||||
-rw-r--r-- | meta/recipes-support/libnl/libnl/fix-pc-file.patch | 17 | ||||
-rw-r--r-- | meta/recipes-support/libnl/libnl/fix-pktloc_syntax_h-race.patch | 36 | ||||
-rw-r--r-- | meta/recipes-support/libnl/libnl_3.2.25.bb | 42 | ||||
-rw-r--r-- | meta/recipes-support/libnl/libnl_3.7.0.bb | 76 |
6 files changed, 121 insertions, 95 deletions
diff --git a/meta/recipes-support/libnl/files/enable-serial-tests.patch b/meta/recipes-support/libnl/files/enable-serial-tests.patch new file mode 100644 index 0000000000..db774ad821 --- /dev/null +++ b/meta/recipes-support/libnl/files/enable-serial-tests.patch @@ -0,0 +1,29 @@ +From b1476d89bf7a0bc6062438731ee4e9026696328b Mon Sep 17 00:00:00 2001 +From: Eric Xu <chi.xu@windriver.com> +Date: Fri, 9 Mar 2018 03:38:49 +0000 +Subject: [PATCH] Add ptest for libnl + +serial-tests is required to generate those targets. + +Upstream-Status: Inappropriate [oe-specific] +Signed-off-by: Eric Xu <chi.xu@windriver.com> +--- + configure.ac | 2 +- + 1 files changed, 1 insertion(+), 1 deletions(-) + +diff --git a/configure.ac b/configure.ac +index dfead98..2cc8257 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -46,7 +46,7 @@ AC_INIT(libnl, [libnl_version], [], [], [http://www.infradead.org/~tgr/libnl/]) + AC_CONFIG_HEADERS([lib/defs.h]) + AC_CONFIG_AUX_DIR([build-aux]) + AC_CONFIG_MACRO_DIR([m4]) +-AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) ++AM_INIT_AUTOMAKE([-Wall foreign subdir-objects serial-tests]) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)], []) + m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) + +-- +2.13.3 + diff --git a/meta/recipes-support/libnl/files/run-ptest b/meta/recipes-support/libnl/files/run-ptest new file mode 100755 index 0000000000..e5c9eb0a32 --- /dev/null +++ b/meta/recipes-support/libnl/files/run-ptest @@ -0,0 +1,16 @@ +#!/bin/sh + +num_fail=0 + +for test in check* +do + ./"$test" \ + && echo "PASS: $test" \ + || { + echo "FAIL: $test" + num_fail=$(( ${num_fail} + 1)) + } + +done + +exit $num_fail diff --git a/meta/recipes-support/libnl/libnl/fix-pc-file.patch b/meta/recipes-support/libnl/libnl/fix-pc-file.patch deleted file mode 100644 index fe8b833a1c..0000000000 --- a/meta/recipes-support/libnl/libnl/fix-pc-file.patch +++ /dev/null @@ -1,17 +0,0 @@ -Upstream-Status: Pending - -Some packages are asking only for libnl-2.0, but expects to get also -libnl-genl, libnl-nf libnl-route, easiest way to fix them is here. - -Signed-off-by: Martin Jansa <martin.jansa@gmail.com> -Index: libnl-3.2.14/libnl-3.0.pc.in -=================================================================== ---- libnl-3.2.14.orig/libnl-3.0.pc.in -+++ libnl-3.2.14/libnl-3.0.pc.in -@@ -6,5 +6,5 @@ includedir=@includedir@ - Name: libnl - Description: Convenience library for netlink sockets - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -lnl-@MAJ_VERSION@ -+Libs: -L${libdir} -lnl-@MAJ_VERSION@ -lnl-genl-@MAJ_VERSION@ -lnl-nf-@MAJ_VERSION@ -lnl-route-@MAJ_VERSION@ - Cflags: -I${includedir}/libnl@MAJ_VERSION@ diff --git a/meta/recipes-support/libnl/libnl/fix-pktloc_syntax_h-race.patch b/meta/recipes-support/libnl/libnl/fix-pktloc_syntax_h-race.patch deleted file mode 100644 index 79aa0bdf11..0000000000 --- a/meta/recipes-support/libnl/libnl/fix-pktloc_syntax_h-race.patch +++ /dev/null @@ -1,36 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -libnl has progressed to 0.3.2 and there does not appear to be any -"make -j" issues with this build after my limited testing on that -newer version so we can assume this issue is fixed upstream - -Signed-off-by: Martin Jansa <martin.jansa@gmail.com> - -Index: libnl-3.2.25/lib/Makefile.am -=================================================================== ---- libnl-3.2.25.orig/lib/Makefile.am -+++ libnl-3.2.25/lib/Makefile.am -@@ -46,9 +46,12 @@ CLEANFILES = \ - - # Hack to avoid using ylwrap. It does not function correctly in combination - # with --header-file= -+route/pktloc.lo: route/pktloc_syntax.h route/pktloc_grammar.h -+route/pktloc_grammar.h: route/pktloc_grammar.c - route/pktloc_grammar.c: route/pktloc_grammar.l - $(AM_V_GEN) $(MKDIR_P) route; $(FLEX) --header-file=route/pktloc_grammar.h $(LFLAGS) -o $@ $^ - -+route/pktloc_syntax.h: route/pktloc_syntax.c - route/pktloc_syntax.c: route/pktloc_syntax.y - $(AM_V_GEN) $(MKDIR_P) route; $(YACC) -d $(YFLAGS) -o $@ $^ - -@@ -102,7 +105,9 @@ BUILT_SOURCES = \ - route/cls/ematch_grammar.c \ - route/cls/ematch_syntax.c \ - route/pktloc_grammar.c \ -- route/pktloc_syntax.c -+ route/pktloc_syntax.c \ -+ route/pktloc_syntax.h \ -+ route/pktloc_grammar.h - - EXTRA_DIST = \ - route/pktloc_grammar.l \ diff --git a/meta/recipes-support/libnl/libnl_3.2.25.bb b/meta/recipes-support/libnl/libnl_3.2.25.bb deleted file mode 100644 index cabe84107c..0000000000 --- a/meta/recipes-support/libnl/libnl_3.2.25.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "A library for applications dealing with netlink sockets" -HOMEPAGE = "http://www.infradead.org/~tgr/libnl/" -SECTION = "libs/network" - -PE = "1" -PR = "r1" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "flex-native bison-native" - -SRC_URI = "http://www.infradead.org/~tgr/${BPN}/files/${BP}.tar.gz \ - file://fix-pktloc_syntax_h-race.patch \ - file://fix-pc-file.patch \ - " - -SRC_URI[md5sum] = "03f74d0cd5037cadc8cdfa313bbd195c" -SRC_URI[sha256sum] = "8beb7590674957b931de6b7f81c530b85dc7c1ad8fbda015398bc1e8d1ce8ec5" - -inherit autotools pkgconfig - -FILES_${PN} = "${libdir}/libnl-3.so.* \ - ${libdir}/libnl.so.* \ - ${sysconfdir}" -RREPLACES_${PN} = "libnl2" -RCONFLICTS_${PN} = "libnl2" -FILES_${PN}-staticdev += "${libdir}/libnl/cli/*/*.a" - -PACKAGES += "${PN}-cli ${PN}-route ${PN}-nf ${PN}-genl ${PN}-idiag" -FILES_${PN}-cli = "${libdir}/libnl-cli-3.so.* \ - ${libdir}/libnl/cli/*/*.so \ - ${libdir}/libnl/cli/*/*.la \ - ${sbindir}/nl-*" -FILES_${PN}-route = "${libdir}/libnl-route-3.so.*" -FILES_${PN}-idiag = "${libdir}/libnl-idiag-3.so.*" -FILES_${PN}-nf = "${libdir}/libnl-nf-3.so.*" -FILES_${PN}-genl = "${libdir}/libnl-genl-3.so.* \ - ${libdir}/libnl-genl.so.* \ - ${sbindir}/genl-ctrl-list" -RREPLACES_${PN}-genl = "libnl-genl2 libnl-genl-3-200" -RCONFLICTS_${PN}-genl = "libnl-genl2 libnl-genl-3-200" diff --git a/meta/recipes-support/libnl/libnl_3.7.0.bb b/meta/recipes-support/libnl/libnl_3.7.0.bb new file mode 100644 index 0000000000..ef286a6429 --- /dev/null +++ b/meta/recipes-support/libnl/libnl_3.7.0.bb @@ -0,0 +1,76 @@ +SUMMARY = "A library for applications dealing with netlink sockets" +DESCRIPTION = "The libnl suite is a collection of libraries providing \ +APIs to netlink protocol based Linux kernel interfaces. libnl is the core \ +library implementing the fundamentals required to use the netlink protocol \ +such as socket handling, message construction and parsing, and sending \ +and receiving of data." +HOMEPAGE = "http://www.infradead.org/~tgr/libnl/" +SECTION = "libs/network" + +PE = "1" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "flex-native bison-native" + +SRC_URI = "${GITHUB_BASE_URI}/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz \ + file://enable-serial-tests.patch \ + file://run-ptest \ + " + +SRC_URI[sha256sum] = "9fe43ccbeeea72c653bdcf8c93332583135cda46a79507bfd0a483bb57f65939" + +GITHUB_BASE_URI = "https://github.com/thom311/${BPN}/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/libnl(?P<pver>.+)" + +inherit autotools pkgconfig ptest github-releases + +FILES:${PN} = "${libdir}/libnl-3.so.* \ + ${libdir}/libnl.so.* \ + ${sysconfdir}" +RREPLACES:${PN} = "libnl2" +RCONFLICTS:${PN} = "libnl2" + +FILES:${PN}-dev += "${libdir}/libnl/cli/*/*.la" +FILES:${PN}-staticdev += "${libdir}/libnl/cli/*/*.a" + +PACKAGES += "${PN}-cli ${PN}-genl ${PN}-idiag ${PN}-nf ${PN}-route ${PN}-xfrm" +FILES:${PN}-cli = "${libdir}/libnl-cli-3.so.* \ + ${libdir}/libnl/cli/*/*.so \ + ${bindir}/genl-ctrl-list \ + ${bindir}/idiag-socket-details \ + ${bindir}/nf-* \ + ${bindir}/nl-*" +FILES:${PN}-genl = "${libdir}/libnl-genl-3.so.* \ + ${libdir}/libnl-genl.so.*" +FILES:${PN}-idiag = "${libdir}/libnl-idiag-3.so.*" +FILES:${PN}-nf = "${libdir}/libnl-nf-3.so.*" +FILES:${PN}-route = "${libdir}/libnl-route-3.so.*" +FILES:${PN}-xfrm = "${libdir}/libnl-xfrm-3.so.*" +RREPLACES:${PN}-genl = "libnl-genl2" +RCONFLICTS:${PN}-genl = "libnl-genl2" + +RDEPENDS:${PN}-ptest += "libcheck" +RRECOMMENDS:${PN}-ptest += "kernel-module-dummy kernel-module-bonding" +DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'libcheck', '', d)}" + +# make sure the tests don't link against wrong so file +EXTRA_OECONF += "${@bb.utils.contains('PTEST_ENABLED', '1', '--disable-rpath', '', d)}" + +do_compile_ptest() { + # hack to remove the call to `make runtest-TESTS` + sed -i 's/$(MAKE) $(AM_MAKEFLAGS) runtest-TESTS//g' Makefile + oe_runmake check +} + +do_install_ptest(){ + # legacy? tests are also installed, but ptest-runner will not run them + # upstream are not running these tests in their CI pipeline + # issue opened https://github.com/thom311/libnl/issues/270 + install -m 0755 tests/.libs/* ${D}${PTEST_PATH}/ + # contains build paths + rm ${D}${PTEST_PATH}/*.la +} + +BBCLASSEXTEND = "native nativesdk" |