Thanks, applied as 82b302a3540122eda1502acf44d3f971ea5365d0.

Michael

[sent from post-receive hook]

On Fri, 24 Feb 2023 08:24:43 +0100, Ian Abbott <[email protected]> wrote:
> Includes the C library from the Eclipse Tahu project that provides an
> implementation of the Sparkplug specification.  This package does not
> include the implementations from the Tahu project for other programming
> languages other than C.
> 
> Only the dynamic C library is built.
> 
> Signed-off-by: Ian Abbott <[email protected]>
> Message-Id: <[email protected]>
> Signed-off-by: Michael Olbrich <[email protected]>
> 
> diff --git 
> a/patches/libtahu-1.0.1/0001-c-core-Makefile-Fixes-for-parallel-make-and-make-lib.patch
>  
> b/patches/libtahu-1.0.1/0001-c-core-Makefile-Fixes-for-parallel-make-and-make-lib.patch
> new file mode 100644
> index 000000000000..602fee06d377
> --- /dev/null
> +++ 
> b/patches/libtahu-1.0.1/0001-c-core-Makefile-Fixes-for-parallel-make-and-make-lib.patch
> @@ -0,0 +1,34 @@
> +From 6f70eff53d370b96070d1362ebcd4ce153b2a172 Mon Sep 17 00:00:00 2001
> +From: Ian Abbott <[email protected]>
> +Date: Fri, 17 Feb 2023 10:41:20 +0000
> +Subject: [PATCH] c/core/Makefile: Fixes for parallel make and make
> + lib/libtahu.so
> +
> +Change $(TEST) target to depend on the built library files.
> +
> +Change $(DNAME) target rules to create the lib directory.
> +
> +Signed-off-by: Ian Abbott <[email protected]>
> +---
> + c/core/Makefile | 3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/c/core/Makefile b/c/core/Makefile
> +index 8243a67..17c5e3d 100644
> +--- a/c/core/Makefile
> ++++ b/c/core/Makefile
> +@@ -36,9 +36,10 @@ $(SNAME): $(OBJ)
> + 
> + $(DNAME): LDFLAGS += -shared
> + $(DNAME): $(OBJ)
> ++    mkdir -p lib
> +     $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
> + 
> +-$(TEST):
> ++$(TEST): $(SNAME) $(DNAME)
> +     $(CC) $(CFLAGS) -o test/test_static $(TEST_OBJ) $(SNAME) -lmosquitto
> +     $(CC) $(CFLAGS) $(LD_TEST) -o test/test_dynamic $(TEST_OBJ) -l$(NAME) 
> -lmosquitto
> + 
> +-- 
> +2.39.1
> +
> diff --git 
> a/patches/libtahu-1.0.1/0002-tahu.h-Do-not-define-SPARKPLUG_DEBUG.patch 
> b/patches/libtahu-1.0.1/0002-tahu.h-Do-not-define-SPARKPLUG_DEBUG.patch
> new file mode 100644
> index 000000000000..417cec0981ed
> --- /dev/null
> +++ b/patches/libtahu-1.0.1/0002-tahu.h-Do-not-define-SPARKPLUG_DEBUG.patch
> @@ -0,0 +1,28 @@
> +From cff7b099c23937bad205833ea1e4e8278690eb21 Mon Sep 17 00:00:00 2001
> +From: Ian Abbott <[email protected]>
> +Date: Fri, 17 Feb 2023 14:40:58 +0000
> +Subject: [PATCH] tahu.h: Do not define SPARKPLUG_DEBUG
> +
> +If SPARKPLUG_DEBUG is defined in tahu.c, the library will write lots of
> +debug messages to standard output.  That's OK for experimentation, but
> +not for a live system, so comment out the macro definition.
> +---
> + c/core/include/tahu.h | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/c/core/include/tahu.h b/c/core/include/tahu.h
> +index e599146..03fbaaa 100644
> +--- a/c/core/include/tahu.h
> ++++ b/c/core/include/tahu.h
> +@@ -29,7 +29,7 @@ extern "C" {
> + #endif
> + 
> + // Enable/disable debug messages
> +-#define SPARKPLUG_DEBUG 1
> ++//#define SPARKPLUG_DEBUG 1
> + 
> + #ifdef SPARKPLUG_DEBUG
> + #define DEBUG_PRINT(...) printf(__VA_ARGS__)
> +-- 
> +2.39.1
> +
> diff --git a/patches/libtahu-1.0.1/series b/patches/libtahu-1.0.1/series
> new file mode 100644
> index 000000000000..31edd1b86205
> --- /dev/null
> +++ b/patches/libtahu-1.0.1/series
> @@ -0,0 +1,2 @@
> +0001-c-core-Makefile-Fixes-for-parallel-make-and-make-lib.patch
> +0002-tahu.h-Do-not-define-SPARKPLUG_DEBUG.patch
> diff --git a/rules/libtahu.in b/rules/libtahu.in
> new file mode 100644
> index 000000000000..451d409579b5
> --- /dev/null
> +++ b/rules/libtahu.in
> @@ -0,0 +1,11 @@
> +## SECTION=system_libraries
> +
> +config LIBTAHU
> +     tristate
> +     prompt "libtahu"
> +     help
> +       Eclipse Tahu C library for encoding and decoding Sparkplug B
> +       messages.
> +
> +       A typical application will also require an MQTT library such
> +       as "mosquitto".
> diff --git a/rules/libtahu.make b/rules/libtahu.make
> new file mode 100644
> index 000000000000..26c064c6d15d
> --- /dev/null
> +++ b/rules/libtahu.make
> @@ -0,0 +1,83 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2023 by Ian Abbott <[email protected]>
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_LIBTAHU) += libtahu
> +
> +#
> +# Paths and names
> +#
> +LIBTAHU_VERSION      := 1.0.1
> +LIBTAHU_MD5  := 7e980ed17e34a78d6d61c000e4957292
> +LIBTAHU              := libtahu-$(LIBTAHU_VERSION)
> +LIBTAHU_SUFFIX       := tar.gz
> +LIBTAHU_URL  := 
> https://github.com/eclipse/tahu/archive/refs/tags/v$(LIBTAHU_VERSION).$(LIBTAHU_SUFFIX)
> +LIBTAHU_SOURCE       := $(SRCDIR)/$(LIBTAHU).$(LIBTAHU_SUFFIX)
> +LIBTAHU_DIR  := $(BUILDDIR)/$(LIBTAHU)
> +LIBTAHU_SUBDIR       := c/core
> +LIBTAHU_LICENSE      := EPL-2.0
> +LIBTAHU_LICENSE_FILES        := \
> +     file://LICENCE;md5=c7cc8aa73fb5717f8291fcec5ce9ed6c \
> +     file://notice.html;md5=618d2440fc58e15450a9416cd6804477
> +
> +# 
> ----------------------------------------------------------------------------
> +# Prepare
> +# 
> ----------------------------------------------------------------------------
> +
> +LIBTAHU_CONF_TOOL    := NO
> +
> +# 
> ----------------------------------------------------------------------------
> +# Compile
> +# 
> ----------------------------------------------------------------------------
> +
> +#LIBTAHU_MAKE_ENV    := $(CROSS_ENV)
> +
> +# Just build the dynamic library.
> +LIBTAHU_MAKE_OPT     := \
> +     $(CROSS_ENV_PROGS) \
> +     lib/libtahu.so
> +
> +# 
> ----------------------------------------------------------------------------
> +# Install
> +# 
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/libtahu.install:
> +     @$(call targetinfo)
> +     @install -m 644 -v -D -t "$(LIBTAHU_PKGDIR)/usr/lib" \
> +             "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/lib/libtahu.so"
> +     @install -m 644 -v -D -t "$(LIBTAHU_PKGDIR)/usr/include" \
> +             "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/pb.h" \
> +             "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/pb_common.h" \
> +             "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/pb_decode.h" \
> +             "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/pb_encode.h" \
> +             "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/tahu.h" \
> +             "$(LIBTAHU_DIR)/$(LIBTAHU_SUBDIR)/include/tahu.pb.h"
> +     @$(call touch)
> +
> +# 
> ----------------------------------------------------------------------------
> +# Target-Install
> +# 
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/libtahu.targetinstall:
> +     @$(call targetinfo)
> +
> +     @$(call install_init, libtahu)
> +     @$(call install_fixup, libtahu,PRIORITY,optional)
> +     @$(call install_fixup, libtahu,SECTION,base)
> +     @$(call install_fixup, libtahu,AUTHOR,"Ian Abbott <[email protected]>")
> +     @$(call install_fixup, libtahu,DESCRIPTION,missing)
> +
> +     @$(call install_lib, libtahu, 0, 0, 0644, libtahu)
> +
> +     @$(call install_finish, libtahu)
> +
> +     @$(call touch)
> +
> +# vim: syntax=make

Reply via email to