[oe] [meta-networking][PATCH v3 1/2] lksctp-tools: add recipe (version 1.0.16)

Martin Jansa martin.jansa at gmail.com
Fri May 2 14:49:03 UTC 2014


On Fri, May 02, 2014 at 03:36:40PM +0200, Mihaela Sendrea wrote:
> This recipe comes from arago-oe-dev:
> https://github.com/mrchapp/arago-oe-dev/tree/master/recipes/lksctp-tools
> 
> Signed-off-by: Mihaela Sendrea <mihaela.sendrea at enea.com>
> ---
>  .../lksctp-tools/files/lib_order.patch             |   75 ++++++++++++++++++++
>  .../recipes-support/lksctp-tools/lksctp-tools.inc  |   59 +++++++++++++++
>  .../lksctp-tools/lksctp-tools_1.0.16.bb            |   10 +++
>  3 files changed, 144 insertions(+)
>  create mode 100644 meta-networking/recipes-support/lksctp-tools/files/lib_order.patch
>  create mode 100644 meta-networking/recipes-support/lksctp-tools/lksctp-tools.inc
>  create mode 100644 meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb
> 
> diff --git a/meta-networking/recipes-support/lksctp-tools/files/lib_order.patch b/meta-networking/recipes-support/lksctp-tools/files/lib_order.patch
> new file mode 100644
> index 0000000..eb07d75
> --- /dev/null
> +++ b/meta-networking/recipes-support/lksctp-tools/files/lib_order.patch
> @@ -0,0 +1,75 @@
> +From 93fd7448317419594472045663ff13034c31efa9 Mon Sep 17 00:00:00 2001
> +From: Vlad Yasevich <vladislav.yasevich at hp.com>
> +Date: Wed, 14 Jan 2009 14:30:20 -0500
> +Subject: [PATCH] [lib] Fix building of static libraries
> +
> +When running "./configure --disable-shared --enable-
> +static" the build fails with the following error:
> +
> +gcc -g -Wall -Wstrict-prototypes -Wimplicit-function-
> +declaration -g -O2 -o nagle_snd
> +nagle_snd.o ../../src/lib/.libs/libsctp.a ../../src/t
> +estlib/.libs/libsctputil.a
> +../../src/testlib/.libs/libsctputil.a(sctputil.o): In
> +function `test_peer_addr':
> +/home/roubert/src/lksctp/lksctp-tools-
> +1.0.6/src/testlib/sctputil.c:376: undefined reference
> +to `sctp_getpaddrs'
> +/home/roubert/src/lksctp/lksctp-tools-
> +1.0.6/src/testlib/sctputil.c:382: undefined reference
> +to `sctp_freepaddrs'
> +/home/roubert/src/lksctp/lksctp-tools-
> +1.0.6/src/testlib/sctputil.c:416: undefined reference
> +to `sctp_freepaddrs'
> +/home/roubert/src/lksctp/lksctp-tools-
> +1.0.6/src/testlib/sctputil.c:400: undefined reference
> +to `sctp_freepaddrs'
> +collect2: ld returned 1 exit status
> +make[3]: *** [nagle_snd] Error 1
> +
> +Changing the order of libsctp.a and libsctputil.a
> +fixes this. The attached patch updates
> +src/apps/Makefile.am and src/func_tests/Makefile.am
> +to do that.
> +
> +Patch submitted by Fredrik Roubert <roubert at sf.net>.
> +
> +Signed-off-by: Vlad Yasevich <vladislav.yasevich at hp.com>
> +---
> + src/apps/Makefile.am       |    4 ++--
> + src/func_tests/Makefile.am |    4 ++--
> + 2 files changed, 4 insertions(+), 4 deletions(-)
> +
> +diff --git a/src/apps/Makefile.am b/src/apps/Makefile.am
> +index 515ef96..960cd5e 100644
> +--- a/src/apps/Makefile.am
> ++++ b/src/apps/Makefile.am
> +@@ -8,8 +8,8 @@ include $(top_srcdir)/Makefile.dirs
> + INCLUDES = -I. -I$(top_srcdir)/src/include -I$(top_srcdir)/src/testlib 
> + AM_CFLAGS = -g -Wall -Wstrict-prototypes -Wimplicit-function-declaration
> + AM_LDFLAGS = 
> +-LDADD = $(top_builddir)/src/lib/libsctp.la \
> +-	$(top_builddir)/src/testlib/libsctputil.la
> ++LDADD = $(top_builddir)/src/testlib/libsctputil.la \
> ++	$(top_builddir)/src/lib/libsctp.la
> + 
> + # programs to be installed with the distriubution
> + bin_PROGRAMS = sctp_darn sctp_test
> +diff --git a/src/func_tests/Makefile.am b/src/func_tests/Makefile.am
> +index b985685..44f0e94 100644
> +--- a/src/func_tests/Makefile.am
> ++++ b/src/func_tests/Makefile.am
> +@@ -8,8 +8,8 @@ include $(top_srcdir)/Makefile.dirs
> + INCLUDES = -I. -I$(top_srcdir)/src/include -I$(top_srcdir)/src/testlib 
> + AM_CFLAGS = -g -Wall -Wstrict-prototypes -Wimplicit-function-declaration
> + AM_LDFLAGS = -lpthread
> +-LDADD = $(top_builddir)/src/lib/libsctp.la \
> +-	$(top_builddir)/src/testlib/libsctputil.la
> ++LDADD = $(top_builddir)/src/testlib/libsctputil.la \
> ++	$(top_builddir)/src/lib/libsctp.la
> + 
> + V6FLAGS = -DCONFIG_IPV6=1 -DTEST_V6=1 ${DEFS} ${INCLUDES} ${CFLAGS}
> + 
> +-- 
> +1.7.1
> +
> diff --git a/meta-networking/recipes-support/lksctp-tools/lksctp-tools.inc b/meta-networking/recipes-support/lksctp-tools/lksctp-tools.inc
> new file mode 100644
> index 0000000..fd3c285
> --- /dev/null
> +++ b/meta-networking/recipes-support/lksctp-tools/lksctp-tools.inc
> @@ -0,0 +1,59 @@
> +DESCRIPTION = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project"
> +SECTION = "libs"
> +PRIORITY = "optional"

we're not using this variable anymore

> +LICENSE = "LGPLv2"
> +
> +LIC_FILES_CHKSUM = " \
> +  file://COPYING.lib;md5=0a1b79af951c42a9c8573533fbba9a92 \
> +  file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e \
> +  "

Please use 4 spaces for indentation and " as first character on last
line.

> +
> +S = "${WORKDIR}/${BPN}-${PV}"

${BPN}-${PV} is ${BP}

> +
> +INC_PR = "r1"

Drop this

> +
> +BBCLASSEXTEND = "native"
> +
> +inherit autotools pkgconfig binconfig
> +
> +do_install_append_virtclass-native() {
> +	:

4 spaces

> +}
> +
> +RREPLACES_lksctp-tools = "lksctp"

why is this needed?

> +
> +LEAD_SONAME = "libsctp.so"
> +
> +PACKAGES =+ "${PN}-withsctp ${PN}-utils"
> +
> +FILES_${PN} = " \
> +  ${libdir}/libsctp.so.${SOLIBVERSION} \
> +  "
> +
> +FILES_${PN}-withsctp = " \
> +  ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBVERSION}"
> +
> +FILES_${PN}-dev += " \
> +  ${libdir}/libsctp.so.${SOLIBMAJORVERSION} \
> +  ${libdir}/libsctp.so \
> +  ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBMAJORVERSION} \
> +  ${libdir}/lksctp-tools/libwithsctp.so \
> +  ${datadir}/lksctp-tools/checksctp.c \
> +  ${datadir}/lksctp-tools/sctp_socket.c \
> +  ${datadir}/lksctp-tools/sctp_status.c \
> +  ${datadir}/lksctp-tools/sctp_bind.c \
> +  ${datadir}/lksctp-tools/sctp_darn.c \
> +  ${datadir}/lksctp-tools/sctp_load_libs.c \
> +  ${datadir}/lksctp-tools/sctp_sockopt.c \
> +  ${datadir}/lksctp-tools/sctp_socket.h \
> +  ${datadir}/lksctp-tools/sctp_test.c \
> +  ${datadir}/lksctp-tools/sctp_darn.h \
> +  "
> +
> +FILES_${PN}-utils = " \
> +  ${bindir}/sctp_test \
> +  ${bindir}/sctp_darn \
> +  ${bindir}/checksctp \
> +  ${bindir}/withsctp  \
> +  ${bindir}/sctp_status \
> +  "

for spaces for all FILES_ variables

> diff --git a/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb b/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb
> new file mode 100644
> index 0000000..964f08c
> --- /dev/null
> +++ b/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb
> @@ -0,0 +1,10 @@
> +SOLIBVERSION="1.0.16"
> +SOLIBMAJORVERSION="1"
> +require lksctp-tools.inc
> +PR = "${INC_PR}.0"

drop PR

> +
> +FILESEXTRAPATHS = "${THISDIR}/files"

Why is this needed? I'm pretty sure it isn't

> +SRC_URI = "${SOURCEFORGE_MIRROR}/lksctp/lksctp-tools-${PV}.tar.gz"

lksctp-tools-${PV} -> ${BP}

> +
> +SRC_URI[md5sum] = "708bb0b5a6806ad6e8d13c55b067518e"
> +SRC_URI[sha256sum] = "0903dd526b7f30a89d5031aa2c82757612becc38ed7bc6e4f972f8deae351f26"

You can also fold .inc file to the recipe as we don't expect multiple
versions of lksctp-tools.

Was the build error I've reported fixed in this version?

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20140502/62c2650b/attachment-0002.sig>


More information about the Openembedded-devel mailing list