mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2025-12-14 14:25:53 +01:00
libcoap: Add recipe
libcoap implements a lightweight application-protocol for devices that are constrained their resources such as computing power, RF range, memory, bandwith, or network packet sizes. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alex Kiernan <alexk@zuma.ai> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
80a5a789fb
commit
1556da8902
|
|
@ -0,0 +1,51 @@
|
|||
From c56a64ff4df7eecb6c88ff929497bcd0d65934f2 Mon Sep 17 00:00:00 2001
|
||||
From: Jon Shallow <supjps-libcoap@jpshallow.com>
|
||||
Date: Fri, 22 Apr 2022 13:15:39 +0100
|
||||
Subject: [PATCH] coap_session.c: Balance SESSIONS_ADD and SESSIONS_DELETE
|
||||
usage
|
||||
|
||||
Upstream-Status: Backport [https://github.com/obgm/libcoap/commit/7e20aa9ef17277f39203334404e6c776b1171a7d]
|
||||
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
|
||||
Signed-off-by: Alex Kiernan <alexk@zuma.ai>
|
||||
---
|
||||
src/coap_session.c | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/src/coap_session.c b/src/coap_session.c
|
||||
index 77cae598f0af..536e57573361 100644
|
||||
--- a/src/coap_session.c
|
||||
+++ b/src/coap_session.c
|
||||
@@ -813,6 +813,12 @@ coap_session_create_client(
|
||||
return session;
|
||||
|
||||
error:
|
||||
+ /*
|
||||
+ * Need to add in the session as coap_session_release()
|
||||
+ * will call SESSIONS_DELETE in coap_session_free().
|
||||
+ */
|
||||
+ if (session)
|
||||
+ SESSIONS_ADD(ctx->sessions, session);
|
||||
coap_session_release(session);
|
||||
return NULL;
|
||||
}
|
||||
@@ -1133,11 +1139,17 @@ coap_session_t *coap_new_server_session(
|
||||
if (session) {
|
||||
coap_log(LOG_DEBUG, "***%s: new incoming session\n",
|
||||
coap_session_str(session));
|
||||
+ /* Returned session may already have been released and is now NULL */
|
||||
session = coap_session_accept(session);
|
||||
}
|
||||
return session;
|
||||
|
||||
error:
|
||||
+ /*
|
||||
+ * Need to add in the session as coap_session_release()
|
||||
+ * will call SESSIONS_DELETE in coap_session_free().
|
||||
+ */
|
||||
+ SESSIONS_ADD(ep->sessions, session);
|
||||
coap_session_free(session);
|
||||
return NULL;
|
||||
}
|
||||
--
|
||||
2.35.1
|
||||
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
From 25f1bebf1bc4c8da47f976d24a7a424253744e2e Mon Sep 17 00:00:00 2001
|
||||
From: Alex Kiernan <alex.kiernan@gmail.com>
|
||||
Date: Wed, 24 Mar 2021 09:10:17 +0000
|
||||
Subject: [PATCH] libcoap: Fix gnu-configize error
|
||||
|
||||
Fix:
|
||||
|
||||
autoreconf: running: gnu-configize
|
||||
gnu-configize: 'configure.ac' or 'configure.in' is required
|
||||
autoreconf: gnu-configize failed with exit status: 1
|
||||
|
||||
We're not pulling in the ext/tinydtls submodule, so this fails.
|
||||
|
||||
Upstream-Status: Inappropriate [oe-specific]
|
||||
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
|
||||
Signed-off-by: Alex Kiernan <alexk@zuma.ai>
|
||||
---
|
||||
configure.ac | 13 -------------
|
||||
1 file changed, 13 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 9f51f4c67557..559808e03aa2 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -472,19 +472,6 @@ if test "x$build_dtls" = "xyes"; then
|
||||
have_tinydtls="no" # don't confuse AC_MSG_RESULT at the end of the script
|
||||
fi
|
||||
|
||||
- # The user wants to use explicit TinyDTLS if '--with-tinydtls was set'.
|
||||
- if test "x$with_tinydtls" = "xyes" ; then
|
||||
- if test -d "$srcdir/ext/tinydtls"; then
|
||||
- AC_CONFIG_SUBDIRS([ext/tinydtls])
|
||||
- have_tinydtls="yes"
|
||||
- else
|
||||
- have_tinydtls="no" # don't confuse AC_MSG_RESULT at the end of the script
|
||||
- fi
|
||||
- have_gnutls="no" # don't confuse AC_MSG_RESULT at the end of the script
|
||||
- have_openssl="no" # don't confuse AC_MSG_RESULT at the end of the script
|
||||
- have_mbedtls="no" # don't confuse AC_MSG_RESULT at the end of the script
|
||||
- fi
|
||||
-
|
||||
if test "$TLSCOUNT" -eq 0; then
|
||||
# The user hasn't requested the use of a specific cryptography library
|
||||
# we try first GnuTLS for usability ...
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
if /usr/lib/libcoap/ptest/testdriver; then
|
||||
echo "PASS: libcoap"
|
||||
else
|
||||
echo "FAIL: libcoap"
|
||||
fi
|
||||
58
meta-networking/recipes-devtools/libcoap/libcoap_4.3.0.bb
Normal file
58
meta-networking/recipes-devtools/libcoap/libcoap_4.3.0.bb
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
SUMMARY = "A C implementation of the Constrained Application Protocol"
|
||||
DESCRIPTION = "libcoap implements a lightweight application-protocol for \
|
||||
devices that are constrained their resources such as computing power, \
|
||||
RF range, memory, bandwith, or network packet sizes."
|
||||
HOMEPAGE ="https://libcoap.net/"
|
||||
|
||||
LICENSE = "BSD-2-Clause & BSD-1-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=e44b3af4925ec58e9f49b9ff143b5493"
|
||||
|
||||
SRC_URI = "git://github.com/obgm/libcoap.git;branch=main;protocol=https \
|
||||
file://0001-libcoap-Fix-gnu-configize-error.patch \
|
||||
file://0001-coap_session.c-Balance-SESSIONS_ADD-and-SESSIONS_DEL.patch \
|
||||
file://run-ptest \
|
||||
"
|
||||
SRCREV = "1da37b9abbe871675d5939395b498324ccc8ecfe"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools manpages pkgconfig ptest
|
||||
|
||||
PACKAGECONFIG ?= "\
|
||||
async openssl tcp \
|
||||
${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
|
||||
"
|
||||
PACKAGECONFIG[async] = "--enable-async,--disable-async"
|
||||
PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls,,openssl mbedtls"
|
||||
PACKAGECONFIG[manpages] = "--enable-documentation --enable-doxygen --enable-manpages,--disable-documentation,asciidoc-native doxygen-native graphviz-native"
|
||||
PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,,gnutls openssl"
|
||||
PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,,gnutls mbedtls"
|
||||
PACKAGECONFIG[small-stack] = "--enable-small-stack,--disable-small-stack"
|
||||
PACKAGECONFIG[tcp] = "--enable-tcp,--disable-tcp"
|
||||
PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,cunit"
|
||||
|
||||
EXTRA_OECONF = "\
|
||||
--with-epoll --enable-add-default-names \
|
||||
--without-tinydtls \
|
||||
${@bb.utils.contains_any('PACKAGECONFIG', 'gnutls openssl mbedtls', '--enable-dtls', '--disable-dtls', d)} \
|
||||
"
|
||||
|
||||
python () {
|
||||
if d.getVar('PTEST_ENABLED') == "1":
|
||||
d.setVar('DISABLE_STATIC', '')
|
||||
}
|
||||
|
||||
export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
|
||||
|
||||
do_install_ptest () {
|
||||
install -d ${D}${PTEST_PATH}
|
||||
install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest
|
||||
install -m 0755 ${B}/tests/testdriver ${D}${PTEST_PATH}/testdriver
|
||||
}
|
||||
|
||||
PACKAGE_BEFORE_PN += "\
|
||||
${PN}-bin \
|
||||
"
|
||||
|
||||
FILES:${PN}-bin = "${bindir}"
|
||||
FILES:${PN}-dev += "${datadir}/${BPN}/examples"
|
||||
Loading…
Reference in New Issue
Block a user