[2/2] libcdada: New addon - dependency for pmacct

Message ID 20210308120025.2100-1-adolf.belka@ipfire.org
State Superseded
Headers
Series [1/2] pmacct: New addon |

Commit Message

Adolf Belka March 8, 2021, noon UTC
  From: Adolf Belka <adolf.belka@ipfire.org>

- This package is required for its library which is a dependency for pmacct
- url for developer is https://msune.github.io/libcdada/
- patch is required to allow disabling of staic library
   Makefiles for tests and examples explicitly uses static library
   The patch changes all .a to .so
Co-authored-by: Jon Murphy
Co-authored-by: Erik Kapfer <ummeegge@ipfire.org>

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/packages/libcdada            | 28 ++++++
 lfs/libcdada                                  | 87 +++++++++++++++++++
 ...library-for-tests-and-examples-build.patch | 56 ++++++++++++
 3 files changed, 171 insertions(+)
 create mode 100644 config/rootfiles/packages/libcdada
 create mode 100644 lfs/libcdada
 create mode 100644 src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
  

Comments

Michael Tremer March 18, 2021, 12:58 p.m. UTC | #1
Hello,

> On 8 Mar 2021, at 12:00, Adolf Belka (ipfire) <adolf.belka@ipfire.org> wrote:
> 
> From: Adolf Belka <adolf.belka@ipfire.org>
> 
> - This package is required for its library which is a dependency for pmacct
> - url for developer is https://msune.github.io/libcdada/
> - patch is required to allow disabling of staic library
>   Makefiles for tests and examples explicitly uses static library
>   The patch changes all .a to .so
> Co-authored-by: Jon Murphy

Does John not have an email address?

You should probably use Signed-off-by: for these two as well or Suggested-by: 

There is more about what they mean over here:

  https://wiki.ipfire.org/devel/git/tags

Apart from that, the patch looks good.

-Michael

> Co-authored-by: Erik Kapfer <ummeegge@ipfire.org>
> 
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
> config/rootfiles/packages/libcdada            | 28 ++++++
> lfs/libcdada                                  | 87 +++++++++++++++++++
> ...library-for-tests-and-examples-build.patch | 56 ++++++++++++
> 3 files changed, 171 insertions(+)
> create mode 100644 config/rootfiles/packages/libcdada
> create mode 100644 lfs/libcdada
> create mode 100644 src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
> 
> diff --git a/config/rootfiles/packages/libcdada b/config/rootfiles/packages/libcdada
> new file mode 100644
> index 000000000..b3b1b99b1
> --- /dev/null
> +++ b/config/rootfiles/packages/libcdada
> @@ -0,0 +1,28 @@
> +#usr/bin/cdada-gen
> +#usr/include/cdada
> +#usr/include/cdada.h
> +#usr/include/cdada/__common_internal.h
> +#usr/include/cdada/__list_internal.h
> +#usr/include/cdada/__map_internal.h
> +#usr/include/cdada/__queue_internal.h
> +#usr/include/cdada/__set_internal.h
> +#usr/include/cdada/__stack_internal.h
> +#usr/include/cdada/bbitmap.h
> +#usr/include/cdada/list.h
> +#usr/include/cdada/list_custom_cc.h
> +#usr/include/cdada/map.h
> +#usr/include/cdada/map_custom_cc.h
> +#usr/include/cdada/queue.h
> +#usr/include/cdada/queue_custom_cc.h
> +#usr/include/cdada/set.h
> +#usr/include/cdada/set_custom_cc.h
> +#usr/include/cdada/stack.h
> +#usr/include/cdada/stack_custom_cc.h
> +#usr/include/cdada/str.h
> +#usr/include/cdada/utils.h
> +#usr/include/cdada/version.h
> +#usr/lib/libcdada.a
> +#usr/lib/libcdada.la
> +#usr/lib/libcdada.so
> +usr/lib/libcdada.so.0
> +usr/lib/libcdada.so.0.0.0
> diff --git a/lfs/libcdada b/lfs/libcdada
> new file mode 100644
> index 000000000..a30b03333
> --- /dev/null
> +++ b/lfs/libcdada
> @@ -0,0 +1,87 @@
> +###############################################################################
> +#                                                                             #
> +# IPFire.org - A linux based firewall                                         #
> +# Copyright (C) 2019  IPFire Team  <info@ipfire.org>                          #
> +#                                                                             #
> +# This program is free software: you can redistribute it and/or modify        #
> +# it under the terms of the GNU General Public License as published by        #
> +# the Free Software Foundation, either version 3 of the License, or           #
> +# (at your option) any later version.                                         #
> +#                                                                             #
> +# This program is distributed in the hope that it will be useful,             #
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
> +# GNU General Public License for more details.                                #
> +#                                                                             #
> +# You should have received a copy of the GNU General Public License           #
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
> +#                                                                             #
> +###############################################################################
> +
> +###############################################################################
> +# Definitions
> +###############################################################################
> +
> +include Config
> +
> +VER        = 0.3.4
> +
> +THISAPP    = libcdada-$(VER)
> +DL_FILE    = $(THISAPP).tar.gz
> +DL_FROM    = $(URL_IPFIRE)
> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
> +TARGET     = $(DIR_INFO)/$(THISAPP)
> +PROG       = libcdada
> +PAK_VER    = 1
> +
> +DEPS       = 
> +
> +###############################################################################
> +# Top-level Rules
> +###############################################################################
> +
> +objects = $(DL_FILE)
> +
> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> +
> +$(DL_FILE)_MD5 = f5067835014e02d221af9754df8b140b
> +
> +install : $(TARGET)
> +
> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> +
> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
> +
> +md5 : $(subst %,%_MD5,$(objects))
> +
> +dist: 
> +	@$(PAK)
> +
> +###############################################################################
> +# Downloading, checking, md5sum
> +###############################################################################
> +
> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
> +	@$(CHECK)
> +
> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
> +	@$(LOAD)
> +
> +$(subst %,%_MD5,$(objects)) :
> +	@$(MD5)
> +
> +###############################################################################
> +# Installation Details
> +###############################################################################
> +
> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> +	@$(PREBUILD)
> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
> +	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
> +	cd $(DIR_APP) && ./autogen.sh
> +	cd $(DIR_APP)/build && ../configure			\
> +					--prefix=/usr		\
> +					--disable-static
> +	cd $(DIR_APP)/build && make install
> +	@rm -rf $(DIR_APP)
> +	@$(POSTBUILD)
> diff --git a/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch b/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
> new file mode 100644
> index 000000000..adb06ad9d
> --- /dev/null
> +++ b/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
> @@ -0,0 +1,56 @@
> +diff -ruN libcdada-0.3.4.orig/examples/Makefile.am libcdada-0.3.4/examples/Makefile.am
> +--- libcdada-0.3.4.orig/examples/Makefile.am	2021-01-15 00:01:59.000000000 +0100
> ++++ libcdada-0.3.4/examples/Makefile.am	2021-02-28 15:41:13.940082099 +0100
> +@@ -11,32 +11,32 @@
> + 
> + list_u32_SOURCES = list_u32.c
> + list_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
> +-list_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
> ++list_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
> + 
> + map_struct_SOURCES = map_struct.c
> + map_struct_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
> +-map_struct_LDADD = ../src/.libs/libcdada.a -lstdc++
> ++map_struct_LDADD = ../src/.libs/libcdada.so -lstdc++
> + 
> + custom_gen_SOURCES = custom-gen/my_program_gen.c custom-gen/cdada.cc
> + custom_gen_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
> +-custom_gen_LDADD = ../src/.libs/libcdada.a -lstdc++
> ++custom_gen_LDADD = ../src/.libs/libcdada.so -lstdc++
> + 
> + custom_macro_SOURCES = custom-macro/my_program.c custom-macro/cdada.cc
> + custom_macro_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
> +-custom_macro_LDADD = ../src/.libs/libcdada.a -lstdc++
> ++custom_macro_LDADD = ../src/.libs/libcdada.so -lstdc++
> + 
> + str_SOURCES = str.c
> + str_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
> +-str_LDADD = ../src/.libs/libcdada.a -lstdc++
> ++str_LDADD = ../src/.libs/libcdada.so -lstdc++
> + 
> + bbitmap_SOURCES = bbitmap.c
> + bbitmap_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
> +-bbitmap_LDADD = ../src/.libs/libcdada.a -lstdc++
> ++bbitmap_LDADD = ../src/.libs/libcdada.so -lstdc++
> + 
> + queue_u32_SOURCES = queue_u32.c
> + queue_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
> +-queue_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
> ++queue_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
> + 
> + stack_u32_SOURCES = stack_u32.c
> + stack_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
> +-stack_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
> ++stack_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
> +diff -ruN libcdada-0.3.4.orig/test/Makefile.am libcdada-0.3.4/test/Makefile.am
> +--- libcdada-0.3.4.orig/test/Makefile.am	2021-01-15 00:01:59.000000000 +0100
> ++++ libcdada-0.3.4/test/Makefile.am	2021-02-28 15:40:37.458117227 +0100
> +@@ -63,7 +63,7 @@
> + benchmark_SOURCES= benchmark.cc
> + benchmark_CXXFLAGS= -O3
> + benchmark_CPPFLAGS= -I$(top_builddir)/include/ -I$(top_srcdir)/include/
> +-benchmark_LDADD= -lpthread ../src/.libs/libcdada.a
> ++benchmark_LDADD= -lpthread ../src/.libs/libcdada.so
> + 
> + #Valgrind
> + if VALGRIND_ENABLED
> -- 
> 2.30.1
>
  
Adolf Belka March 18, 2021, 1:12 p.m. UTC | #2
Hi Michael,


On 18/03/2021 13:58, Michael Tremer wrote:
> Hello,
> 
>> On 8 Mar 2021, at 12:00, Adolf Belka (ipfire) <adolf.belka@ipfire.org> wrote:
>>
>> From: Adolf Belka <adolf.belka@ipfire.org>
>>
>> - This package is required for its library which is a dependency for pmacct
>> - url for developer is https://msune.github.io/libcdada/
>> - patch is required to allow disabling of staic library
>>    Makefiles for tests and examples explicitly uses static library
>>    The patch changes all .a to .so
>> Co-authored-by: Jon Murphy
> 
> Does John not have an email address?
Yes Jon does but he did not want his gmail address placed in that patch in public view. In the mailing list it is also used but all the actual .'s are replaced by (dot).
> 
> You should probably use Signed-off-by: for these two as well or Suggested-by:
Jon is the user of the package and has been doing all the testing and evaluation phase. Erik kicked off the addon patch generation work and I have taken it over. So I will do any updates that need to be done in the future with Jon testing it out before submission.
> 
> There is more about what they mean over here:
> 
>    https://wiki.ipfire.org/devel/git/tags
Will look those up. Should I redo the patch set as a V2 with those tags added? Once I know I should deal with the lack of email address.
> 
> Apart from that, the patch looks good.
> 
> -Michael
> 
>> Co-authored-by: Erik Kapfer <ummeegge@ipfire.org>
>>
>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>> ---
>> config/rootfiles/packages/libcdada            | 28 ++++++
>> lfs/libcdada                                  | 87 +++++++++++++++++++
>> ...library-for-tests-and-examples-build.patch | 56 ++++++++++++
>> 3 files changed, 171 insertions(+)
>> create mode 100644 config/rootfiles/packages/libcdada
>> create mode 100644 lfs/libcdada
>> create mode 100644 src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>>
>> diff --git a/config/rootfiles/packages/libcdada b/config/rootfiles/packages/libcdada
>> new file mode 100644
>> index 000000000..b3b1b99b1
>> --- /dev/null
>> +++ b/config/rootfiles/packages/libcdada
>> @@ -0,0 +1,28 @@
>> +#usr/bin/cdada-gen
>> +#usr/include/cdada
>> +#usr/include/cdada.h
>> +#usr/include/cdada/__common_internal.h
>> +#usr/include/cdada/__list_internal.h
>> +#usr/include/cdada/__map_internal.h
>> +#usr/include/cdada/__queue_internal.h
>> +#usr/include/cdada/__set_internal.h
>> +#usr/include/cdada/__stack_internal.h
>> +#usr/include/cdada/bbitmap.h
>> +#usr/include/cdada/list.h
>> +#usr/include/cdada/list_custom_cc.h
>> +#usr/include/cdada/map.h
>> +#usr/include/cdada/map_custom_cc.h
>> +#usr/include/cdada/queue.h
>> +#usr/include/cdada/queue_custom_cc.h
>> +#usr/include/cdada/set.h
>> +#usr/include/cdada/set_custom_cc.h
>> +#usr/include/cdada/stack.h
>> +#usr/include/cdada/stack_custom_cc.h
>> +#usr/include/cdada/str.h
>> +#usr/include/cdada/utils.h
>> +#usr/include/cdada/version.h
>> +#usr/lib/libcdada.a
>> +#usr/lib/libcdada.la
>> +#usr/lib/libcdada.so
>> +usr/lib/libcdada.so.0
>> +usr/lib/libcdada.so.0.0.0
>> diff --git a/lfs/libcdada b/lfs/libcdada
>> new file mode 100644
>> index 000000000..a30b03333
>> --- /dev/null
>> +++ b/lfs/libcdada
>> @@ -0,0 +1,87 @@
>> +###############################################################################
>> +#                                                                             #
>> +# IPFire.org - A linux based firewall                                         #
>> +# Copyright (C) 2019  IPFire Team  <info@ipfire.org>                          #
>> +#                                                                             #
>> +# This program is free software: you can redistribute it and/or modify        #
>> +# it under the terms of the GNU General Public License as published by        #
>> +# the Free Software Foundation, either version 3 of the License, or           #
>> +# (at your option) any later version.                                         #
>> +#                                                                             #
>> +# This program is distributed in the hope that it will be useful,             #
>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
>> +# GNU General Public License for more details.                                #
>> +#                                                                             #
>> +# You should have received a copy of the GNU General Public License           #
>> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
>> +#                                                                             #
>> +###############################################################################
>> +
>> +###############################################################################
>> +# Definitions
>> +###############################################################################
>> +
>> +include Config
>> +
>> +VER        = 0.3.4
>> +
>> +THISAPP    = libcdada-$(VER)
>> +DL_FILE    = $(THISAPP).tar.gz
>> +DL_FROM    = $(URL_IPFIRE)
>> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
>> +TARGET     = $(DIR_INFO)/$(THISAPP)
>> +PROG       = libcdada
>> +PAK_VER    = 1
>> +
>> +DEPS       =
>> +
>> +###############################################################################
>> +# Top-level Rules
>> +###############################################################################
>> +
>> +objects = $(DL_FILE)
>> +
>> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>> +
>> +$(DL_FILE)_MD5 = f5067835014e02d221af9754df8b140b
>> +
>> +install : $(TARGET)
>> +
>> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>> +
>> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
>> +
>> +md5 : $(subst %,%_MD5,$(objects))
>> +
>> +dist:
>> +	@$(PAK)
>> +
>> +###############################################################################
>> +# Downloading, checking, md5sum
>> +###############################################################################
>> +
>> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>> +	@$(CHECK)
>> +
>> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
>> +	@$(LOAD)
>> +
>> +$(subst %,%_MD5,$(objects)) :
>> +	@$(MD5)
>> +
>> +###############################################################################
>> +# Installation Details
>> +###############################################################################
>> +
>> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>> +	@$(PREBUILD)
>> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>> +	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>> +	cd $(DIR_APP) && ./autogen.sh
>> +	cd $(DIR_APP)/build && ../configure			\
>> +					--prefix=/usr		\
>> +					--disable-static
>> +	cd $(DIR_APP)/build && make install
>> +	@rm -rf $(DIR_APP)
>> +	@$(POSTBUILD)
>> diff --git a/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch b/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>> new file mode 100644
>> index 000000000..adb06ad9d
>> --- /dev/null
>> +++ b/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>> @@ -0,0 +1,56 @@
>> +diff -ruN libcdada-0.3.4.orig/examples/Makefile.am libcdada-0.3.4/examples/Makefile.am
>> +--- libcdada-0.3.4.orig/examples/Makefile.am	2021-01-15 00:01:59.000000000 +0100
>> ++++ libcdada-0.3.4/examples/Makefile.am	2021-02-28 15:41:13.940082099 +0100
>> +@@ -11,32 +11,32 @@
>> +
>> + list_u32_SOURCES = list_u32.c
>> + list_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>> +-list_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
>> ++list_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
>> +
>> + map_struct_SOURCES = map_struct.c
>> + map_struct_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>> +-map_struct_LDADD = ../src/.libs/libcdada.a -lstdc++
>> ++map_struct_LDADD = ../src/.libs/libcdada.so -lstdc++
>> +
>> + custom_gen_SOURCES = custom-gen/my_program_gen.c custom-gen/cdada.cc
>> + custom_gen_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>> +-custom_gen_LDADD = ../src/.libs/libcdada.a -lstdc++
>> ++custom_gen_LDADD = ../src/.libs/libcdada.so -lstdc++
>> +
>> + custom_macro_SOURCES = custom-macro/my_program.c custom-macro/cdada.cc
>> + custom_macro_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>> +-custom_macro_LDADD = ../src/.libs/libcdada.a -lstdc++
>> ++custom_macro_LDADD = ../src/.libs/libcdada.so -lstdc++
>> +
>> + str_SOURCES = str.c
>> + str_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>> +-str_LDADD = ../src/.libs/libcdada.a -lstdc++
>> ++str_LDADD = ../src/.libs/libcdada.so -lstdc++
>> +
>> + bbitmap_SOURCES = bbitmap.c
>> + bbitmap_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>> +-bbitmap_LDADD = ../src/.libs/libcdada.a -lstdc++
>> ++bbitmap_LDADD = ../src/.libs/libcdada.so -lstdc++
>> +
>> + queue_u32_SOURCES = queue_u32.c
>> + queue_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>> +-queue_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
>> ++queue_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
>> +
>> + stack_u32_SOURCES = stack_u32.c
>> + stack_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>> +-stack_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
>> ++stack_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
>> +diff -ruN libcdada-0.3.4.orig/test/Makefile.am libcdada-0.3.4/test/Makefile.am
>> +--- libcdada-0.3.4.orig/test/Makefile.am	2021-01-15 00:01:59.000000000 +0100
>> ++++ libcdada-0.3.4/test/Makefile.am	2021-02-28 15:40:37.458117227 +0100
>> +@@ -63,7 +63,7 @@
>> + benchmark_SOURCES= benchmark.cc
>> + benchmark_CXXFLAGS= -O3
>> + benchmark_CPPFLAGS= -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>> +-benchmark_LDADD= -lpthread ../src/.libs/libcdada.a
>> ++benchmark_LDADD= -lpthread ../src/.libs/libcdada.so
>> +
>> + #Valgrind
>> + if VALGRIND_ENABLED
>> -- 
>> 2.30.1
>>
>
  
Michael Tremer March 18, 2021, 6:20 p.m. UTC | #3
Hello,

> On 18 Mar 2021, at 13:12, Adolf Belka <adolf.belka@ipfire.org> wrote:
> 
> Hi Michael,
> 
> 
> On 18/03/2021 13:58, Michael Tremer wrote:
>> Hello,
>>> On 8 Mar 2021, at 12:00, Adolf Belka (ipfire) <adolf.belka@ipfire.org> wrote:
>>> 
>>> From: Adolf Belka <adolf.belka@ipfire.org>
>>> 
>>> - This package is required for its library which is a dependency for pmacct
>>> - url for developer is https://msune.github.io/libcdada/
>>> - patch is required to allow disabling of staic library
>>>   Makefiles for tests and examples explicitly uses static library
>>>   The patch changes all .a to .so
>>> Co-authored-by: Jon Murphy
>> Does John not have an email address?
> Yes Jon does but he did not want his gmail address placed in that patch in public view. In the mailing list it is also used but all the actual .'s are replaced by (dot).

I will check if he wants an @ipfire.org address.

>> You should probably use Signed-off-by: for these two as well or Suggested-by:
> Jon is the user of the package and has been doing all the testing and evaluation phase. Erik kicked off the addon patch generation work and I have taken it over. So I will do any updates that need to be done in the future with Jon testing it out before submission.

Okay.

>> There is more about what they mean over here:
>>   https://wiki.ipfire.org/devel/git/tags
> Will look those up. Should I redo the patch set as a V2 with those tags added? Once I know I should deal with the lack of email address.

This is mainly the icing on the cake. You do not need to submit a second version just because of this.

>> Apart from that, the patch looks good.
>> -Michael
>>> Co-authored-by: Erik Kapfer <ummeegge@ipfire.org>
>>> 
>>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>>> ---
>>> config/rootfiles/packages/libcdada            | 28 ++++++
>>> lfs/libcdada                                  | 87 +++++++++++++++++++
>>> ...library-for-tests-and-examples-build.patch | 56 ++++++++++++
>>> 3 files changed, 171 insertions(+)
>>> create mode 100644 config/rootfiles/packages/libcdada
>>> create mode 100644 lfs/libcdada
>>> create mode 100644 src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>>> 
>>> diff --git a/config/rootfiles/packages/libcdada b/config/rootfiles/packages/libcdada
>>> new file mode 100644
>>> index 000000000..b3b1b99b1
>>> --- /dev/null
>>> +++ b/config/rootfiles/packages/libcdada
>>> @@ -0,0 +1,28 @@
>>> +#usr/bin/cdada-gen
>>> +#usr/include/cdada
>>> +#usr/include/cdada.h
>>> +#usr/include/cdada/__common_internal.h
>>> +#usr/include/cdada/__list_internal.h
>>> +#usr/include/cdada/__map_internal.h
>>> +#usr/include/cdada/__queue_internal.h
>>> +#usr/include/cdada/__set_internal.h
>>> +#usr/include/cdada/__stack_internal.h
>>> +#usr/include/cdada/bbitmap.h
>>> +#usr/include/cdada/list.h
>>> +#usr/include/cdada/list_custom_cc.h
>>> +#usr/include/cdada/map.h
>>> +#usr/include/cdada/map_custom_cc.h
>>> +#usr/include/cdada/queue.h
>>> +#usr/include/cdada/queue_custom_cc.h
>>> +#usr/include/cdada/set.h
>>> +#usr/include/cdada/set_custom_cc.h
>>> +#usr/include/cdada/stack.h
>>> +#usr/include/cdada/stack_custom_cc.h
>>> +#usr/include/cdada/str.h
>>> +#usr/include/cdada/utils.h
>>> +#usr/include/cdada/version.h
>>> +#usr/lib/libcdada.a
>>> +#usr/lib/libcdada.la
>>> +#usr/lib/libcdada.so
>>> +usr/lib/libcdada.so.0
>>> +usr/lib/libcdada.so.0.0.0
>>> diff --git a/lfs/libcdada b/lfs/libcdada
>>> new file mode 100644
>>> index 000000000..a30b03333
>>> --- /dev/null
>>> +++ b/lfs/libcdada
>>> @@ -0,0 +1,87 @@
>>> +###############################################################################
>>> +#                                                                             #
>>> +# IPFire.org - A linux based firewall                                         #
>>> +# Copyright (C) 2019  IPFire Team  <info@ipfire.org>                          #
>>> +#                                                                             #
>>> +# This program is free software: you can redistribute it and/or modify        #
>>> +# it under the terms of the GNU General Public License as published by        #
>>> +# the Free Software Foundation, either version 3 of the License, or           #
>>> +# (at your option) any later version.                                         #
>>> +#                                                                             #
>>> +# This program is distributed in the hope that it will be useful,             #
>>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
>>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
>>> +# GNU General Public License for more details.                                #
>>> +#                                                                             #
>>> +# You should have received a copy of the GNU General Public License           #
>>> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
>>> +#                                                                             #
>>> +###############################################################################
>>> +
>>> +###############################################################################
>>> +# Definitions
>>> +###############################################################################
>>> +
>>> +include Config
>>> +
>>> +VER        = 0.3.4
>>> +
>>> +THISAPP    = libcdada-$(VER)
>>> +DL_FILE    = $(THISAPP).tar.gz
>>> +DL_FROM    = $(URL_IPFIRE)
>>> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>> +TARGET     = $(DIR_INFO)/$(THISAPP)
>>> +PROG       = libcdada
>>> +PAK_VER    = 1
>>> +
>>> +DEPS       =
>>> +
>>> +###############################################################################
>>> +# Top-level Rules
>>> +###############################################################################
>>> +
>>> +objects = $(DL_FILE)
>>> +
>>> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>> +
>>> +$(DL_FILE)_MD5 = f5067835014e02d221af9754df8b140b
>>> +
>>> +install : $(TARGET)
>>> +
>>> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>>> +
>>> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
>>> +
>>> +md5 : $(subst %,%_MD5,$(objects))
>>> +
>>> +dist:
>>> +	@$(PAK)
>>> +
>>> +###############################################################################
>>> +# Downloading, checking, md5sum
>>> +###############################################################################
>>> +
>>> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>>> +	@$(CHECK)
>>> +
>>> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
>>> +	@$(LOAD)
>>> +
>>> +$(subst %,%_MD5,$(objects)) :
>>> +	@$(MD5)
>>> +
>>> +###############################################################################
>>> +# Installation Details
>>> +###############################################################################
>>> +
>>> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>> +	@$(PREBUILD)
>>> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>>> +	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>>> +	cd $(DIR_APP) && ./autogen.sh
>>> +	cd $(DIR_APP)/build && ../configure			\
>>> +					--prefix=/usr		\
>>> +					--disable-static
>>> +	cd $(DIR_APP)/build && make install
>>> +	@rm -rf $(DIR_APP)
>>> +	@$(POSTBUILD)
>>> diff --git a/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch b/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>>> new file mode 100644
>>> index 000000000..adb06ad9d
>>> --- /dev/null
>>> +++ b/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>>> @@ -0,0 +1,56 @@
>>> +diff -ruN libcdada-0.3.4.orig/examples/Makefile.am libcdada-0.3.4/examples/Makefile.am
>>> +--- libcdada-0.3.4.orig/examples/Makefile.am	2021-01-15 00:01:59.000000000 +0100
>>> ++++ libcdada-0.3.4/examples/Makefile.am	2021-02-28 15:41:13.940082099 +0100
>>> +@@ -11,32 +11,32 @@
>>> +
>>> + list_u32_SOURCES = list_u32.c
>>> + list_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>> +-list_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
>>> ++list_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
>>> +
>>> + map_struct_SOURCES = map_struct.c
>>> + map_struct_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>> +-map_struct_LDADD = ../src/.libs/libcdada.a -lstdc++
>>> ++map_struct_LDADD = ../src/.libs/libcdada.so -lstdc++
>>> +
>>> + custom_gen_SOURCES = custom-gen/my_program_gen.c custom-gen/cdada.cc
>>> + custom_gen_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>> +-custom_gen_LDADD = ../src/.libs/libcdada.a -lstdc++
>>> ++custom_gen_LDADD = ../src/.libs/libcdada.so -lstdc++
>>> +
>>> + custom_macro_SOURCES = custom-macro/my_program.c custom-macro/cdada.cc
>>> + custom_macro_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>> +-custom_macro_LDADD = ../src/.libs/libcdada.a -lstdc++
>>> ++custom_macro_LDADD = ../src/.libs/libcdada.so -lstdc++
>>> +
>>> + str_SOURCES = str.c
>>> + str_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>> +-str_LDADD = ../src/.libs/libcdada.a -lstdc++
>>> ++str_LDADD = ../src/.libs/libcdada.so -lstdc++
>>> +
>>> + bbitmap_SOURCES = bbitmap.c
>>> + bbitmap_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>> +-bbitmap_LDADD = ../src/.libs/libcdada.a -lstdc++
>>> ++bbitmap_LDADD = ../src/.libs/libcdada.so -lstdc++
>>> +
>>> + queue_u32_SOURCES = queue_u32.c
>>> + queue_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>> +-queue_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
>>> ++queue_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
>>> +
>>> + stack_u32_SOURCES = stack_u32.c
>>> + stack_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>> +-stack_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
>>> ++stack_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
>>> +diff -ruN libcdada-0.3.4.orig/test/Makefile.am libcdada-0.3.4/test/Makefile.am
>>> +--- libcdada-0.3.4.orig/test/Makefile.am	2021-01-15 00:01:59.000000000 +0100
>>> ++++ libcdada-0.3.4/test/Makefile.am	2021-02-28 15:40:37.458117227 +0100
>>> +@@ -63,7 +63,7 @@
>>> + benchmark_SOURCES= benchmark.cc
>>> + benchmark_CXXFLAGS= -O3
>>> + benchmark_CPPFLAGS= -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>> +-benchmark_LDADD= -lpthread ../src/.libs/libcdada.a
>>> ++benchmark_LDADD= -lpthread ../src/.libs/libcdada.so
>>> +
>>> + #Valgrind
>>> + if VALGRIND_ENABLED
>>> -- 
>>> 2.30.1
>>>
  
Adolf Belka March 19, 2021, 12:27 p.m. UTC | #4
Hi Michael,

On 18/03/2021 19:20, Michael Tremer wrote:
> Hello,
> 
>> On 18 Mar 2021, at 13:12, Adolf Belka <adolf.belka@ipfire.org> wrote:
>>
>> Hi Michael,
>>
>>
>> On 18/03/2021 13:58, Michael Tremer wrote:
>>> Hello,
>>>> On 8 Mar 2021, at 12:00, Adolf Belka (ipfire) <adolf.belka@ipfire.org> wrote:
>>>>
>>>> From: Adolf Belka <adolf.belka@ipfire.org>
>>>>
>>>> - This package is required for its library which is a dependency for pmacct
>>>> - url for developer is https://msune.github.io/libcdada/
>>>> - patch is required to allow disabling of staic library
>>>>    Makefiles for tests and examples explicitly uses static library
>>>>    The patch changes all .a to .so
>>>> Co-authored-by: Jon Murphy
>>> Does John not have an email address?
>> Yes Jon does but he did not want his gmail address placed in that patch in public view. In the mailing list it is also used but all the actual .'s are replaced by (dot).
> 
> I will check if he wants an @ipfire.org address.
If he agrees to having one can you let me know when it is active and I 
will use it in the updates I need to do to this patch set.

Regards,
Adolf.
> 
>>> You should probably use Signed-off-by: for these two as well or Suggested-by:
>> Jon is the user of the package and has been doing all the testing and evaluation phase. Erik kicked off the addon patch generation work and I have taken it over. So I will do any updates that need to be done in the future with Jon testing it out before submission.
> 
> Okay.
> 
>>> There is more about what they mean over here:
>>>    https://wiki.ipfire.org/devel/git/tags
>> Will look those up. Should I redo the patch set as a V2 with those tags added? Once I know I should deal with the lack of email address.
> 
> This is mainly the icing on the cake. You do not need to submit a second version just because of this.
> 
>>> Apart from that, the patch looks good.
>>> -Michael
>>>> Co-authored-by: Erik Kapfer <ummeegge@ipfire.org>
>>>>
>>>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>>>> ---
>>>> config/rootfiles/packages/libcdada            | 28 ++++++
>>>> lfs/libcdada                                  | 87 +++++++++++++++++++
>>>> ...library-for-tests-and-examples-build.patch | 56 ++++++++++++
>>>> 3 files changed, 171 insertions(+)
>>>> create mode 100644 config/rootfiles/packages/libcdada
>>>> create mode 100644 lfs/libcdada
>>>> create mode 100644 src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>>>>
>>>> diff --git a/config/rootfiles/packages/libcdada b/config/rootfiles/packages/libcdada
>>>> new file mode 100644
>>>> index 000000000..b3b1b99b1
>>>> --- /dev/null
>>>> +++ b/config/rootfiles/packages/libcdada
>>>> @@ -0,0 +1,28 @@
>>>> +#usr/bin/cdada-gen
>>>> +#usr/include/cdada
>>>> +#usr/include/cdada.h
>>>> +#usr/include/cdada/__common_internal.h
>>>> +#usr/include/cdada/__list_internal.h
>>>> +#usr/include/cdada/__map_internal.h
>>>> +#usr/include/cdada/__queue_internal.h
>>>> +#usr/include/cdada/__set_internal.h
>>>> +#usr/include/cdada/__stack_internal.h
>>>> +#usr/include/cdada/bbitmap.h
>>>> +#usr/include/cdada/list.h
>>>> +#usr/include/cdada/list_custom_cc.h
>>>> +#usr/include/cdada/map.h
>>>> +#usr/include/cdada/map_custom_cc.h
>>>> +#usr/include/cdada/queue.h
>>>> +#usr/include/cdada/queue_custom_cc.h
>>>> +#usr/include/cdada/set.h
>>>> +#usr/include/cdada/set_custom_cc.h
>>>> +#usr/include/cdada/stack.h
>>>> +#usr/include/cdada/stack_custom_cc.h
>>>> +#usr/include/cdada/str.h
>>>> +#usr/include/cdada/utils.h
>>>> +#usr/include/cdada/version.h
>>>> +#usr/lib/libcdada.a
>>>> +#usr/lib/libcdada.la
>>>> +#usr/lib/libcdada.so
>>>> +usr/lib/libcdada.so.0
>>>> +usr/lib/libcdada.so.0.0.0
>>>> diff --git a/lfs/libcdada b/lfs/libcdada
>>>> new file mode 100644
>>>> index 000000000..a30b03333
>>>> --- /dev/null
>>>> +++ b/lfs/libcdada
>>>> @@ -0,0 +1,87 @@
>>>> +###############################################################################
>>>> +#                                                                             #
>>>> +# IPFire.org - A linux based firewall                                         #
>>>> +# Copyright (C) 2019  IPFire Team  <info@ipfire.org>                          #
>>>> +#                                                                             #
>>>> +# This program is free software: you can redistribute it and/or modify        #
>>>> +# it under the terms of the GNU General Public License as published by        #
>>>> +# the Free Software Foundation, either version 3 of the License, or           #
>>>> +# (at your option) any later version.                                         #
>>>> +#                                                                             #
>>>> +# This program is distributed in the hope that it will be useful,             #
>>>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
>>>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
>>>> +# GNU General Public License for more details.                                #
>>>> +#                                                                             #
>>>> +# You should have received a copy of the GNU General Public License           #
>>>> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
>>>> +#                                                                             #
>>>> +###############################################################################
>>>> +
>>>> +###############################################################################
>>>> +# Definitions
>>>> +###############################################################################
>>>> +
>>>> +include Config
>>>> +
>>>> +VER        = 0.3.4
>>>> +
>>>> +THISAPP    = libcdada-$(VER)
>>>> +DL_FILE    = $(THISAPP).tar.gz
>>>> +DL_FROM    = $(URL_IPFIRE)
>>>> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>>> +TARGET     = $(DIR_INFO)/$(THISAPP)
>>>> +PROG       = libcdada
>>>> +PAK_VER    = 1
>>>> +
>>>> +DEPS       =
>>>> +
>>>> +###############################################################################
>>>> +# Top-level Rules
>>>> +###############################################################################
>>>> +
>>>> +objects = $(DL_FILE)
>>>> +
>>>> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>>> +
>>>> +$(DL_FILE)_MD5 = f5067835014e02d221af9754df8b140b
>>>> +
>>>> +install : $(TARGET)
>>>> +
>>>> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>>>> +
>>>> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
>>>> +
>>>> +md5 : $(subst %,%_MD5,$(objects))
>>>> +
>>>> +dist:
>>>> +	@$(PAK)
>>>> +
>>>> +###############################################################################
>>>> +# Downloading, checking, md5sum
>>>> +###############################################################################
>>>> +
>>>> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>>>> +	@$(CHECK)
>>>> +
>>>> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
>>>> +	@$(LOAD)
>>>> +
>>>> +$(subst %,%_MD5,$(objects)) :
>>>> +	@$(MD5)
>>>> +
>>>> +###############################################################################
>>>> +# Installation Details
>>>> +###############################################################################
>>>> +
>>>> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>>> +	@$(PREBUILD)
>>>> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>>>> +	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>>>> +	cd $(DIR_APP) && ./autogen.sh
>>>> +	cd $(DIR_APP)/build && ../configure			\
>>>> +					--prefix=/usr		\
>>>> +					--disable-static
>>>> +	cd $(DIR_APP)/build && make install
>>>> +	@rm -rf $(DIR_APP)
>>>> +	@$(POSTBUILD)
>>>> diff --git a/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch b/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>>>> new file mode 100644
>>>> index 000000000..adb06ad9d
>>>> --- /dev/null
>>>> +++ b/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
>>>> @@ -0,0 +1,56 @@
>>>> +diff -ruN libcdada-0.3.4.orig/examples/Makefile.am libcdada-0.3.4/examples/Makefile.am
>>>> +--- libcdada-0.3.4.orig/examples/Makefile.am	2021-01-15 00:01:59.000000000 +0100
>>>> ++++ libcdada-0.3.4/examples/Makefile.am	2021-02-28 15:41:13.940082099 +0100
>>>> +@@ -11,32 +11,32 @@
>>>> +
>>>> + list_u32_SOURCES = list_u32.c
>>>> + list_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>>> +-list_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
>>>> ++list_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
>>>> +
>>>> + map_struct_SOURCES = map_struct.c
>>>> + map_struct_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>>> +-map_struct_LDADD = ../src/.libs/libcdada.a -lstdc++
>>>> ++map_struct_LDADD = ../src/.libs/libcdada.so -lstdc++
>>>> +
>>>> + custom_gen_SOURCES = custom-gen/my_program_gen.c custom-gen/cdada.cc
>>>> + custom_gen_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>>> +-custom_gen_LDADD = ../src/.libs/libcdada.a -lstdc++
>>>> ++custom_gen_LDADD = ../src/.libs/libcdada.so -lstdc++
>>>> +
>>>> + custom_macro_SOURCES = custom-macro/my_program.c custom-macro/cdada.cc
>>>> + custom_macro_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>>> +-custom_macro_LDADD = ../src/.libs/libcdada.a -lstdc++
>>>> ++custom_macro_LDADD = ../src/.libs/libcdada.so -lstdc++
>>>> +
>>>> + str_SOURCES = str.c
>>>> + str_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>>> +-str_LDADD = ../src/.libs/libcdada.a -lstdc++
>>>> ++str_LDADD = ../src/.libs/libcdada.so -lstdc++
>>>> +
>>>> + bbitmap_SOURCES = bbitmap.c
>>>> + bbitmap_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>>> +-bbitmap_LDADD = ../src/.libs/libcdada.a -lstdc++
>>>> ++bbitmap_LDADD = ../src/.libs/libcdada.so -lstdc++
>>>> +
>>>> + queue_u32_SOURCES = queue_u32.c
>>>> + queue_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>>> +-queue_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
>>>> ++queue_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
>>>> +
>>>> + stack_u32_SOURCES = stack_u32.c
>>>> + stack_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>>> +-stack_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
>>>> ++stack_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
>>>> +diff -ruN libcdada-0.3.4.orig/test/Makefile.am libcdada-0.3.4/test/Makefile.am
>>>> +--- libcdada-0.3.4.orig/test/Makefile.am	2021-01-15 00:01:59.000000000 +0100
>>>> ++++ libcdada-0.3.4/test/Makefile.am	2021-02-28 15:40:37.458117227 +0100
>>>> +@@ -63,7 +63,7 @@
>>>> + benchmark_SOURCES= benchmark.cc
>>>> + benchmark_CXXFLAGS= -O3
>>>> + benchmark_CPPFLAGS= -I$(top_builddir)/include/ -I$(top_srcdir)/include/
>>>> +-benchmark_LDADD= -lpthread ../src/.libs/libcdada.a
>>>> ++benchmark_LDADD= -lpthread ../src/.libs/libcdada.so
>>>> +
>>>> + #Valgrind
>>>> + if VALGRIND_ENABLED
>>>> -- 
>>>> 2.30.1
>>>>
>
  

Patch

diff --git a/config/rootfiles/packages/libcdada b/config/rootfiles/packages/libcdada
new file mode 100644
index 000000000..b3b1b99b1
--- /dev/null
+++ b/config/rootfiles/packages/libcdada
@@ -0,0 +1,28 @@ 
+#usr/bin/cdada-gen
+#usr/include/cdada
+#usr/include/cdada.h
+#usr/include/cdada/__common_internal.h
+#usr/include/cdada/__list_internal.h
+#usr/include/cdada/__map_internal.h
+#usr/include/cdada/__queue_internal.h
+#usr/include/cdada/__set_internal.h
+#usr/include/cdada/__stack_internal.h
+#usr/include/cdada/bbitmap.h
+#usr/include/cdada/list.h
+#usr/include/cdada/list_custom_cc.h
+#usr/include/cdada/map.h
+#usr/include/cdada/map_custom_cc.h
+#usr/include/cdada/queue.h
+#usr/include/cdada/queue_custom_cc.h
+#usr/include/cdada/set.h
+#usr/include/cdada/set_custom_cc.h
+#usr/include/cdada/stack.h
+#usr/include/cdada/stack_custom_cc.h
+#usr/include/cdada/str.h
+#usr/include/cdada/utils.h
+#usr/include/cdada/version.h
+#usr/lib/libcdada.a
+#usr/lib/libcdada.la
+#usr/lib/libcdada.so
+usr/lib/libcdada.so.0
+usr/lib/libcdada.so.0.0.0
diff --git a/lfs/libcdada b/lfs/libcdada
new file mode 100644
index 000000000..a30b03333
--- /dev/null
+++ b/lfs/libcdada
@@ -0,0 +1,87 @@ 
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2019  IPFire Team  <info@ipfire.org>                          #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 0.3.4
+
+THISAPP    = libcdada-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = libcdada
+PAK_VER    = 1
+
+DEPS       = 
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = f5067835014e02d221af9754df8b140b
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+	@$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+	@$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+	@$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+	@$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+	@$(PREBUILD)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
+	cd $(DIR_APP) && ./autogen.sh
+	cd $(DIR_APP)/build && ../configure			\
+					--prefix=/usr		\
+					--disable-static
+	cd $(DIR_APP)/build && make install
+	@rm -rf $(DIR_APP)
+	@$(POSTBUILD)
diff --git a/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch b/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
new file mode 100644
index 000000000..adb06ad9d
--- /dev/null
+++ b/src/patches/libcdada-0.3.4-use-shared-library-for-tests-and-examples-build.patch
@@ -0,0 +1,56 @@ 
+diff -ruN libcdada-0.3.4.orig/examples/Makefile.am libcdada-0.3.4/examples/Makefile.am
+--- libcdada-0.3.4.orig/examples/Makefile.am	2021-01-15 00:01:59.000000000 +0100
++++ libcdada-0.3.4/examples/Makefile.am	2021-02-28 15:41:13.940082099 +0100
+@@ -11,32 +11,32 @@
+ 
+ list_u32_SOURCES = list_u32.c
+ list_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
+-list_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
++list_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
+ 
+ map_struct_SOURCES = map_struct.c
+ map_struct_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
+-map_struct_LDADD = ../src/.libs/libcdada.a -lstdc++
++map_struct_LDADD = ../src/.libs/libcdada.so -lstdc++
+ 
+ custom_gen_SOURCES = custom-gen/my_program_gen.c custom-gen/cdada.cc
+ custom_gen_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
+-custom_gen_LDADD = ../src/.libs/libcdada.a -lstdc++
++custom_gen_LDADD = ../src/.libs/libcdada.so -lstdc++
+ 
+ custom_macro_SOURCES = custom-macro/my_program.c custom-macro/cdada.cc
+ custom_macro_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
+-custom_macro_LDADD = ../src/.libs/libcdada.a -lstdc++
++custom_macro_LDADD = ../src/.libs/libcdada.so -lstdc++
+ 
+ str_SOURCES = str.c
+ str_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
+-str_LDADD = ../src/.libs/libcdada.a -lstdc++
++str_LDADD = ../src/.libs/libcdada.so -lstdc++
+ 
+ bbitmap_SOURCES = bbitmap.c
+ bbitmap_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
+-bbitmap_LDADD = ../src/.libs/libcdada.a -lstdc++
++bbitmap_LDADD = ../src/.libs/libcdada.so -lstdc++
+ 
+ queue_u32_SOURCES = queue_u32.c
+ queue_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
+-queue_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
++queue_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
+ 
+ stack_u32_SOURCES = stack_u32.c
+ stack_u32_CPPFLAGS = -I$(top_builddir)/include/ -I$(top_srcdir)/include/
+-stack_u32_LDADD = ../src/.libs/libcdada.a -lstdc++
++stack_u32_LDADD = ../src/.libs/libcdada.so -lstdc++
+diff -ruN libcdada-0.3.4.orig/test/Makefile.am libcdada-0.3.4/test/Makefile.am
+--- libcdada-0.3.4.orig/test/Makefile.am	2021-01-15 00:01:59.000000000 +0100
++++ libcdada-0.3.4/test/Makefile.am	2021-02-28 15:40:37.458117227 +0100
+@@ -63,7 +63,7 @@
+ benchmark_SOURCES= benchmark.cc
+ benchmark_CXXFLAGS= -O3
+ benchmark_CPPFLAGS= -I$(top_builddir)/include/ -I$(top_srcdir)/include/
+-benchmark_LDADD= -lpthread ../src/.libs/libcdada.a
++benchmark_LDADD= -lpthread ../src/.libs/libcdada.so
+ 
+ #Valgrind
+ if VALGRIND_ENABLED