mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-06 05:47:13 +02:00
main/nfdump: upgrade to 1.7.4 and fix build with gcc 14
patch is from upstream:
5e08f54687
This commit is contained in:
parent
a709bef57f
commit
f1bc21c5f6
@ -1,7 +1,7 @@
|
|||||||
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
|
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
|
||||||
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
||||||
pkgname=nfdump
|
pkgname=nfdump
|
||||||
pkgver=1.7.3
|
pkgver=1.7.4
|
||||||
pkgrel=0
|
pkgrel=0
|
||||||
pkgdesc="Tools to collect and process netflow data"
|
pkgdesc="Tools to collect and process netflow data"
|
||||||
url="https://github.com/phaag/nfdump"
|
url="https://github.com/phaag/nfdump"
|
||||||
@ -20,6 +20,7 @@ subpackages="
|
|||||||
sfcapd-openrc
|
sfcapd-openrc
|
||||||
"
|
"
|
||||||
source="$pkgname-$pkgver.tar.gz::https://github.com/phaag/nfdump/archive/v$pkgver.tar.gz
|
source="$pkgname-$pkgver.tar.gz::https://github.com/phaag/nfdump/archive/v$pkgver.tar.gz
|
||||||
|
gcc14.patch
|
||||||
nfcapd.confd
|
nfcapd.confd
|
||||||
nfcapd.initd
|
nfcapd.initd
|
||||||
sfcapd.confd
|
sfcapd.confd
|
||||||
@ -38,7 +39,7 @@ prepare() {
|
|||||||
|
|
||||||
build() {
|
build() {
|
||||||
# setresgid
|
# setresgid
|
||||||
CFLAGS="$CFLAGS -D_GNU_SOURCE -fpermissive" \
|
CFLAGS="$CFLAGS -D_GNU_SOURCE" \
|
||||||
./configure \
|
./configure \
|
||||||
--build=$CBUILD \
|
--build=$CBUILD \
|
||||||
--host=$CHOST \
|
--host=$CHOST \
|
||||||
@ -54,7 +55,7 @@ build() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
check() {
|
check() {
|
||||||
make check || {
|
make -j1 check || {
|
||||||
cat src/test/test-suite.log
|
cat src/test/test-suite.log
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
@ -89,7 +90,8 @@ sfcapd() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sha512sums="
|
sha512sums="
|
||||||
588459558a2831db679d32b0f3da5321bae04b9519b5f4f493ca32521afd87b1eb075faabd97a9d26b095e14e89685c589b2a563280a70e2202bda8b5cb88884 nfdump-1.7.3.tar.gz
|
be65aeee9b982b30633102b3ca0f84eab280ca4fda4544be458a2387d051e62517127a2625bbc4329a844550a613df67f5015cc5a90a8e4b6a8c65d045650ee2 nfdump-1.7.4.tar.gz
|
||||||
|
8156a485bfb0c2ecfd92e87d99b89786f760367ab03ed73f6a749d88ae8e9c116f2522332eb1aec03c1c6050d987c0ba8e9b28d2934a563f4999f12d0672a79a gcc14.patch
|
||||||
fcb467f819f2b73ac0e13de6de4d6c94cafd3866a7a56685d5d4a048fa975135299655e896ff8370c8c5061d03ab38644623f8be455c08dfe5f630f152820148 nfcapd.confd
|
fcb467f819f2b73ac0e13de6de4d6c94cafd3866a7a56685d5d4a048fa975135299655e896ff8370c8c5061d03ab38644623f8be455c08dfe5f630f152820148 nfcapd.confd
|
||||||
97e432e884dd1cc8f27c2d7398bb0320164d46dea06c64ad72fa385d190998b3d62356634962f42652daf6e31f237baa2f3f3efad47c3fc38cc6bea799db61cc nfcapd.initd
|
97e432e884dd1cc8f27c2d7398bb0320164d46dea06c64ad72fa385d190998b3d62356634962f42652daf6e31f237baa2f3f3efad47c3fc38cc6bea799db61cc nfcapd.initd
|
||||||
abe594a95a9320bec1d6ee6af6b75cd4d176526d4b10d07aa7ed79fc292b51c341339ba8e1e468df9ec2aae138b1dd66e3a291921938217835ac33819da9d153 sfcapd.confd
|
abe594a95a9320bec1d6ee6af6b75cd4d176526d4b10d07aa7ed79fc292b51c341339ba8e1e468df9ec2aae138b1dd66e3a291921938217835ac33819da9d153 sfcapd.confd
|
||||||
|
166
main/nfdump/gcc14.patch
Normal file
166
main/nfdump/gcc14.patch
Normal file
@ -0,0 +1,166 @@
|
|||||||
|
From 5e08f546877be781bff279ca45981c844eb85f50 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Haag <peter@people.ops-trust.net>
|
||||||
|
Date: Thu, 22 Aug 2024 21:38:53 +0200
|
||||||
|
Subject: [PATCH] Fix #507 - gcc-14 issues with rrd version 1.9.x
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.ac | 30 ++++++++++++++++++++++--------
|
||||||
|
src/nfsen/nftrack_rrd.c | 22 ++++++++++++++--------
|
||||||
|
src/nfsen/profile.c | 10 ++++++++--
|
||||||
|
3 files changed, 44 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 0d7b54a2..bf231daf 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -206,6 +206,8 @@ cat >>config.h <<_ACEOF
|
||||||
|
#define HAVE_LIBRRD 1
|
||||||
|
_ACEOF
|
||||||
|
RRD_LIBS="-lrrd"
|
||||||
|
+saved_LIBS=$LIBS
|
||||||
|
+LIBS="${LIBS} -lrrd"
|
||||||
|
AC_SUBST(RRD_LIBS)
|
||||||
|
]
|
||||||
|
, AC_MSG_ERROR(Can not link librrd. Please specify --with-rrdpath=.. configure failed! ))
|
||||||
|
@@ -215,17 +217,29 @@ AC_SUBST(RRD_LIBS)
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR(Required rrd.h header file not found!)
|
||||||
|
fi
|
||||||
|
- AC_RUN_IFELSE(
|
||||||
|
- [ AC_LANG_PROGRAM(
|
||||||
|
- [[
|
||||||
|
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||||
|
#include <stdio.h>
|
||||||
|
+ #include <stdlib.h>
|
||||||
|
#include <rrd.h>
|
||||||
|
- ]],
|
||||||
|
- [[
|
||||||
|
- rrd_value_t d;
|
||||||
|
+
|
||||||
|
+ int main(int argc, char **argv) {
|
||||||
|
+
|
||||||
|
+ char *s = rrd_strversion();
|
||||||
|
+ if ( s != NULL && strlen(s) == 5 ) {
|
||||||
|
+ if ( s[0] == '1' && s[1] == '.' ) {
|
||||||
|
+ int ver = s[2] - 0x30;
|
||||||
|
+ if ( argc > 1 ) printf("%d\n", ver);
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ exit(255);
|
||||||
|
+ }
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
]])
|
||||||
|
- ],, AC_MSG_ERROR(Can not load rrd library. Not in loader search path! ))
|
||||||
|
-
|
||||||
|
+ ],rrdversion=$(./conftest$EXEEXT print 2>&1)
|
||||||
|
+ LIBS=$saved_LIBS
|
||||||
|
+ AC_DEFINE_UNQUOTED(HAVE_RRDVERSION, $rrdversion, [ ])
|
||||||
|
+ , AC_MSG_ERROR(Can not load rrd library. Not in loader search path! ))
|
||||||
|
]
|
||||||
|
,
|
||||||
|
build_nfprofile="no"
|
||||||
|
diff --git a/src/nfsen/nftrack_rrd.c b/src/nfsen/nftrack_rrd.c
|
||||||
|
index 52512d96..2f81a199 100644
|
||||||
|
--- a/src/nfsen/nftrack_rrd.c
|
||||||
|
+++ b/src/nfsen/nftrack_rrd.c
|
||||||
|
@@ -48,6 +48,12 @@
|
||||||
|
#include "rrd.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
+#if HAVE_RRDVERSION > 8
|
||||||
|
+#define rrdchar const char
|
||||||
|
+#else
|
||||||
|
+#define rrdchar char
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#define BUFF_CHECK(num, buffsize) \
|
||||||
|
if ((num) >= (buffsize)) { \
|
||||||
|
fprintf(stderr, "No enough space to create RRD arg\n"); \
|
||||||
|
@@ -153,7 +159,7 @@ static void CreateRRDB(char *filename, time_t when) {
|
||||||
|
*/
|
||||||
|
|
||||||
|
rrd_clear_error();
|
||||||
|
- if ((i = rrd_create(argc, rrd_arg))) {
|
||||||
|
+ if ((i = rrd_create(argc, (rrdchar **)rrd_arg))) {
|
||||||
|
fprintf(stderr, "Create DB Error: %ld %s\n", i, rrd_get_error());
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -329,12 +335,12 @@ int RRD_StoreDataRow(char *path, char *iso_time, data_row *row) {
|
||||||
|
optind = 0;
|
||||||
|
opterr = 0;
|
||||||
|
rrd_clear_error();
|
||||||
|
- if ((i = rrd_update(argc, rrd_arg))) {
|
||||||
|
+ if ((i = rrd_update(argc, (rrdchar **)rrd_arg))) {
|
||||||
|
fprintf(stderr, "RRD: %s Insert Error: %d %s\n", rrd_filename, i, rrd_get_error());
|
||||||
|
}
|
||||||
|
} // for all 64 rrd files
|
||||||
|
- } // for every type flows - packets - bytes
|
||||||
|
- } // for every protocol TCP - UDP
|
||||||
|
+ } // for every type flows - packets - bytes
|
||||||
|
+ } // for every protocol TCP - UDP
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
} // End of RRD_StoreDataRow
|
||||||
|
@@ -423,7 +429,7 @@ data_row *RRD_GetDataRow(char *path, time_t when) {
|
||||||
|
optind = 0;
|
||||||
|
opterr = 0;
|
||||||
|
rrd_clear_error();
|
||||||
|
- if ((ret = rrd_fetch(argc, rrd_arg, &when, &when, &step, &ds_cnt, &ds_namv, &data))) {
|
||||||
|
+ if ((ret = rrd_fetch(argc, (rrdchar **)rrd_arg, &when, &when, &step, &ds_cnt, &ds_namv, &data))) {
|
||||||
|
fprintf(stderr, "RRD: %s Fetch Error: %d %s\n", rrd_filename, ret, rrd_get_error());
|
||||||
|
}
|
||||||
|
if (ds_cnt != 1024) {
|
||||||
|
@@ -442,8 +448,8 @@ data_row *RRD_GetDataRow(char *path, time_t when) {
|
||||||
|
free(data);
|
||||||
|
|
||||||
|
} // for all 64 rrd files
|
||||||
|
- } // for every type flows - packets - bytes
|
||||||
|
- } // for every protocol TCP - UDP
|
||||||
|
+ } // for every type flows - packets - bytes
|
||||||
|
+ } // for every protocol TCP - UDP
|
||||||
|
|
||||||
|
return row;
|
||||||
|
|
||||||
|
@@ -474,7 +480,7 @@ time_t RRD_LastUpdate(char *path) {
|
||||||
|
rrd_arg[argc++] = rrd_filename;
|
||||||
|
rrd_arg[argc] = NULL;
|
||||||
|
|
||||||
|
- when = rrd_last(argc, rrd_arg);
|
||||||
|
+ when = rrd_last(argc, (rrdchar **)rrd_arg);
|
||||||
|
|
||||||
|
return when;
|
||||||
|
|
||||||
|
diff --git a/src/nfsen/profile.c b/src/nfsen/profile.c
|
||||||
|
index 59fbdce9..6b8d8462 100644
|
||||||
|
--- a/src/nfsen/profile.c
|
||||||
|
+++ b/src/nfsen/profile.c
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/*
|
||||||
|
- * Copyright (c) 2009-2023, Peter Haag
|
||||||
|
+ * Copyright (c) 2009-2024, Peter Haag
|
||||||
|
* Copyright (c) 2004-2008, SWITCH - Teleinformatikdienste fuer Lehre und Forschung
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
@@ -59,6 +59,12 @@ extern char influxdb_url[1024];
|
||||||
|
static char influxdb_measurement[] = "nfsen_stats";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if HAVE_RRDVERSION > 8
|
||||||
|
+#define rrdchar const char
|
||||||
|
+#else
|
||||||
|
+#define rrdchar char
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/* imported vars */
|
||||||
|
extern char yyerror_buff[256];
|
||||||
|
|
||||||
|
@@ -449,7 +455,7 @@ void UpdateRRD(time_t tslot, profile_channel_info_t *channel) {
|
||||||
|
opterr = 0;
|
||||||
|
rrd_clear_error();
|
||||||
|
int i = 0;
|
||||||
|
- if ((i = rrd_update(argc, rrd_arg)) != 0) {
|
||||||
|
+ if ((i = rrd_update(argc, (rrdchar **)rrd_arg)) != 0) {
|
||||||
|
LogError("RRD: %s Insert Error: %d %s\n", channel->rrdfile, i, rrd_get_error());
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user