public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
* [PATCH 2/2] libcdada: New addon - dependency for pmacct
@ 2021-03-08 12:00 Adolf Belka (ipfire)
  2021-03-18 12:58 ` Michael Tremer
  0 siblings, 1 reply; 5+ messages in thread
From: Adolf Belka (ipfire) @ 2021-03-08 12:00 UTC (permalink / raw)
  To: development

[-- Attachment #1: Type: text/plain, Size: 8696 bytes --]

From: Adolf Belka <adolf.belka(a)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(a)ipfire.org>

Signed-off-by: Adolf Belka <adolf.belka(a)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(a)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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-03-19 12:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-08 12:00 [PATCH 2/2] libcdada: New addon - dependency for pmacct Adolf Belka (ipfire)
2021-03-18 12:58 ` Michael Tremer
2021-03-18 13:12   ` Adolf Belka
2021-03-18 18:20     ` Michael Tremer
2021-03-19 12:27       ` Adolf Belka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox