From: Peter Haag Subject: Re: update net/nfdump To: ports@openbsd.org, sthen@openbsd.org Date: Wed, 12 Nov 2025 12:49:32 +0100 Reply-To: peter@pyxis.ch Hey Benno, Here it comes - diff -ruNp - Peter On 12.11.2025 12:23, Sebastian Benoit wrote: > Peter Haag(peter@pyxis.ch) on 2025-11-11: >> Hello porters, >> >> I am the author of the netflow tool nfdump and have noticed that the nfdump port >> for OpenBSD not only lacks some features, but also was not updated for some time. >> >> I did not found the port maintainer, so I decided to jump into the OpenBSD ports >> pond and would like to send my first contribution to the ports list for the nfdump >> package. >> >> - Updated to current version nfdump-1.7.7 >> - Add nfpcapd pcap to netflow collector into main package. >> - Add nfdump config file >> - Unbundle the flow-tools converter into new sub package. >> Most people won't need it anyway, therefore get rid of unneeded dependency. >> - Remove nsel option. Most people don't have nsel flows anyway. the appropriate >> flow output format can be configured in nfdump.conf. The nsel option has no effect >> for the code anyway. >> >> If there is an active maintainer, feel free to use this update. If there is no active >> maintainer I would volunteer to take it over. >> >> - Peter > > Hi, > > thanks for the diff. > > Can you resend with diff -N? You have some new files that are not > included otherwise (diff -ruNp). > > Also see the comment about SHARED_LIBS below. > > Stuart (in CC) updated the package in the past. > > Best, > Benno > >> diff -ru nfdump.orig/Makefile nfdump/Makefile >> --- nfdump.orig/Makefile Fri Oct 25 15:21:47 2024 >> +++ nfdump/Makefile Tue Nov 11 13:20:49 2025 >> @@ -1,14 +1,16 @@ >> COMMENT-main = tools to collect and process netflow data >> COMMENT-nfprofile = filters data from nfdump according to profiles >> +COMMENT-ft2nfdump = converts flow-tools files into nfdump format >> >> -V = 1.7.5 >> +V = 1.7.7 >> GH_ACCOUNT = phaag >> GH_PROJECT = nfdump >> GH_TAGNAME = v$V >> PKGNAME-nfprofile = nfprofile-$V >> +PKGNAME-ft2nfdump = ft2nfdump-$V >> >> -SHARED_LIBS += nfdump 3.0 >> -SHARED_LIBS += nffile 0.0 >> +SHARED_LIBS += nfdump 1.77 >> +SHARED_LIBS += nffile 1.77 > > these version numbers cannot go back. On OpenBSD, the library versions > are indpendent of the package version. See SHARED_LIBS in > bsd.port.mk(5). Do a minor bump if symbols were added, and a major > bump when symbols were removed. > >> CATEGORIES = net >> >> @@ -16,13 +18,15 @@ >> PERMIT_PACKAGE = Yes >> >> WANTLIB = bz2 c lz4 z zstd >> -WANTLIB-main = ${WANTLIB} ft m pthread >> +WANTLIB-main = ${WANTLIB} m pthread >> >> WANTLIB-nfprofile = ${WANTLIB} >> WANTLIB-nfprofile += X11 cairo expat freetype glib-2.0 gobject-2.0 harfbuzz >> WANTLIB-nfprofile += iconv intl lzma m nfdump nffile pango-1.0 pangocairo-1.0 >> WANTLIB-nfprofile += png pthread rrd xcb xml2 >> >> +WANTLIB-ft2nfdump = ${WANTLIB} ft m pthread >> + >> COMPILER = base-clang ports-gcc >> COMPILER_LANGS = c >> DEBUG_PACKAGES = ${BUILD_PACKAGES} >> @@ -35,24 +39,30 @@ >> CONFIGURE_ARGS += --enable-ftconv \ >> --enable-nfprofile \ >> --enable-nftrack \ >> - --enable-nsel \ >> --enable-sflow \ >> + --enable-nfpcapd \ >> --enable-maxmind \ >> --enable-tor \ >> + --enable-ja4 \ >> --with-rrdpath=${LOCALBASE} \ >> --with-ftpath=${LOCALBASE} >> >> -MULTI_PACKAGES = -main -nfprofile >> +MULTI_PACKAGES = -main -nfprofile -ft2nfdump >> >> LIB_DEPENDS-main = archivers/bzip2 \ >> archivers/lz4 \ >> - archivers/zstd \ >> - net/flow-tools>=0.68.5 >> + archivers/zstd >> >> LIB_DEPENDS-nfprofile = net/rrdtool \ >> net/nfdump,-main >> + >> +LIB_DEPENDS-ft2nfdump = net/flow-tools>=0.68.5 \ >> + net/nfdump,-main >> + >> RUN_DEPENDS-nfprofile = nfdump-$V:net/nfdump,-main >> >> +RUN_DEPENDS-ft2nfdump = nfdump-$V:net/nfdump,-main >> + >> post-install: >> ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/nfdump >> ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/nfdump >> @@ -60,5 +70,6 @@ >> CONFIGURE_ENV = LDFLAGS="${LDFLAGS} -L${X11BASE}/lib" \ >> ac_cv_path_DOXYGEN= >> TEST_FLAGS = TZ=CET >> +FAKE_FLAGS = sysconfdir=${PREFIX}/share/examples/nfdump >> >> .include >> diff -ru nfdump.orig/distinfo nfdump/distinfo >> --- nfdump.orig/distinfo Fri Oct 25 15:21:47 2024 >> +++ nfdump/distinfo Tue Nov 11 12:21:39 2025 >> @@ -1,2 +1,2 @@ >> -SHA256 (nfdump-1.7.5.tar.gz) = 99HfBP5moXNhOhPRtjIGIVDNY9CO2SmcwlYPUZ7TPi4= >> -SIZE (nfdump-1.7.5.tar.gz) = 835261 >> +SHA256 (nfdump-1.7.7.tar.gz) = 0LRtbj2o2DFiBPt00g0S14LYUI8BVZ402cMeM/AW15Q= >> +SIZE (nfdump-1.7.7.tar.gz) = 873067 >> Only in nfdump/pkg: DESCR-ft2nfdump >> Only in nfdump/pkg: PLIST-ft2nfdump >> diff -ru nfdump.orig/pkg/PLIST-main nfdump/pkg/PLIST-main >> --- nfdump.orig/pkg/PLIST-main Fri Oct 25 15:21:47 2024 >> +++ nfdump/pkg/PLIST-main Tue Nov 11 13:10:39 2025 >> @@ -1,13 +1,13 @@ >> @newgroup _nfcapd:649 >> @newuser _nfcapd:649:_nfcapd::nfcapd user:/nonexistent:/sbin/nologin >> -@bin bin/ft2nfdump >> -@bin bin/geolookup >> -@bin bin/nfanon >> @bin bin/nfcapd >> +@bin bin/nfpcapd >> @bin bin/nfdump >> +@bin bin/nfanon >> @bin bin/nfexpire >> @bin bin/nfreplay >> @bin bin/sfcapd >> +@bin bin/geolookup >> @bin bin/torlookup >> bin/updateGeoDB.sh >> bin/updateTorDB.sh >> @@ -17,14 +17,17 @@ >> @static-lib lib/libnffile.a >> lib/libnffile.la >> @lib lib/libnffile.so.${LIBnffile_VERSION} >> -@man man/man1/ft2nfdump.1 >> -@man man/man1/geolookup.1 >> -@man man/man1/nfanon.1 >> @man man/man1/nfcapd.1 >> +@man man/man1/nfpcapd.1 >> @man man/man1/nfdump.1 >> +@man man/man1/nfanon.1 >> @man man/man1/nfexpire.1 >> @man man/man1/nfreplay.1 >> @man man/man1/sfcapd.1 >> +@man man/man1/geolookup.1 >> @man man/man1/torlookup.1 >> share/doc/nfdump/ >> share/doc/nfdump/README >> +share/examples/nfdump/ >> +share/examples/nfdump/nfdump.conf.dist >> +@sample ${SYSCONFDIR}/nfdump.conf > > > > diff -ruNp nfdump.orig/Makefile nfdump/Makefile --- nfdump.orig/Makefile Fri Oct 25 15:21:47 2024 +++ nfdump/Makefile Tue Nov 11 13:20:49 2025 @@ -1,14 +1,16 @@ COMMENT-main = tools to collect and process netflow data COMMENT-nfprofile = filters data from nfdump according to profiles +COMMENT-ft2nfdump = converts flow-tools files into nfdump format -V = 1.7.5 +V = 1.7.7 GH_ACCOUNT = phaag GH_PROJECT = nfdump GH_TAGNAME = v$V PKGNAME-nfprofile = nfprofile-$V +PKGNAME-ft2nfdump = ft2nfdump-$V -SHARED_LIBS += nfdump 3.0 -SHARED_LIBS += nffile 0.0 +SHARED_LIBS += nfdump 1.77 +SHARED_LIBS += nffile 1.77 CATEGORIES = net @@ -16,13 +18,15 @@ CATEGORIES = net PERMIT_PACKAGE = Yes WANTLIB = bz2 c lz4 z zstd -WANTLIB-main = ${WANTLIB} ft m pthread +WANTLIB-main = ${WANTLIB} m pthread WANTLIB-nfprofile = ${WANTLIB} WANTLIB-nfprofile += X11 cairo expat freetype glib-2.0 gobject-2.0 harfbuzz WANTLIB-nfprofile += iconv intl lzma m nfdump nffile pango-1.0 pangocairo-1.0 WANTLIB-nfprofile += png pthread rrd xcb xml2 +WANTLIB-ft2nfdump = ${WANTLIB} ft m pthread + COMPILER = base-clang ports-gcc COMPILER_LANGS = c DEBUG_PACKAGES = ${BUILD_PACKAGES} @@ -35,24 +39,30 @@ AUTORECONF = ./autogen.sh CONFIGURE_ARGS += --enable-ftconv \ --enable-nfprofile \ --enable-nftrack \ - --enable-nsel \ --enable-sflow \ + --enable-nfpcapd \ --enable-maxmind \ --enable-tor \ + --enable-ja4 \ --with-rrdpath=${LOCALBASE} \ --with-ftpath=${LOCALBASE} -MULTI_PACKAGES = -main -nfprofile +MULTI_PACKAGES = -main -nfprofile -ft2nfdump LIB_DEPENDS-main = archivers/bzip2 \ archivers/lz4 \ - archivers/zstd \ - net/flow-tools>=0.68.5 + archivers/zstd LIB_DEPENDS-nfprofile = net/rrdtool \ net/nfdump,-main + +LIB_DEPENDS-ft2nfdump = net/flow-tools>=0.68.5 \ + net/nfdump,-main + RUN_DEPENDS-nfprofile = nfdump-$V:net/nfdump,-main +RUN_DEPENDS-ft2nfdump = nfdump-$V:net/nfdump,-main + post-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/nfdump ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/nfdump @@ -60,5 +70,6 @@ post-install: CONFIGURE_ENV = LDFLAGS="${LDFLAGS} -L${X11BASE}/lib" \ ac_cv_path_DOXYGEN= TEST_FLAGS = TZ=CET +FAKE_FLAGS = sysconfdir=${PREFIX}/share/examples/nfdump .include diff -ruNp nfdump.orig/distinfo nfdump/distinfo --- nfdump.orig/distinfo Fri Oct 25 15:21:47 2024 +++ nfdump/distinfo Tue Nov 11 12:21:39 2025 @@ -1,2 +1,2 @@ -SHA256 (nfdump-1.7.5.tar.gz) = 99HfBP5moXNhOhPRtjIGIVDNY9CO2SmcwlYPUZ7TPi4= -SIZE (nfdump-1.7.5.tar.gz) = 835261 +SHA256 (nfdump-1.7.7.tar.gz) = 0LRtbj2o2DFiBPt00g0S14LYUI8BVZ402cMeM/AW15Q= +SIZE (nfdump-1.7.7.tar.gz) = 873067 diff -ruNp nfdump.orig/pkg/DESCR-ft2nfdump nfdump/pkg/DESCR-ft2nfdump --- nfdump.orig/pkg/DESCR-ft2nfdump Thu Jan 1 01:00:00 1970 +++ nfdump/pkg/DESCR-ft2nfdump Tue Nov 11 12:26:48 2025 @@ -0,0 +1,3 @@ +ft2nfdump is the flow-tools converter program of the nfdump package. +ft2nfdump reads, converts and stores the flow-tools netflow data, +in nfdump compatible binary files. diff -ruNp nfdump.orig/pkg/PLIST-ft2nfdump nfdump/pkg/PLIST-ft2nfdump --- nfdump.orig/pkg/PLIST-ft2nfdump Thu Jan 1 01:00:00 1970 +++ nfdump/pkg/PLIST-ft2nfdump Tue Nov 11 12:11:00 2025 @@ -0,0 +1,2 @@ +@bin bin/ft2nfdump +@man man/man1/ft2nfdump.1 diff -ruNp nfdump.orig/pkg/PLIST-main nfdump/pkg/PLIST-main --- nfdump.orig/pkg/PLIST-main Fri Oct 25 15:21:47 2024 +++ nfdump/pkg/PLIST-main Tue Nov 11 13:10:39 2025 @@ -1,13 +1,13 @@ @newgroup _nfcapd:649 @newuser _nfcapd:649:_nfcapd::nfcapd user:/nonexistent:/sbin/nologin -@bin bin/ft2nfdump -@bin bin/geolookup -@bin bin/nfanon @bin bin/nfcapd +@bin bin/nfpcapd @bin bin/nfdump +@bin bin/nfanon @bin bin/nfexpire @bin bin/nfreplay @bin bin/sfcapd +@bin bin/geolookup @bin bin/torlookup bin/updateGeoDB.sh bin/updateTorDB.sh @@ -17,14 +17,17 @@ lib/libnfdump.la @static-lib lib/libnffile.a lib/libnffile.la @lib lib/libnffile.so.${LIBnffile_VERSION} -@man man/man1/ft2nfdump.1 -@man man/man1/geolookup.1 -@man man/man1/nfanon.1 @man man/man1/nfcapd.1 +@man man/man1/nfpcapd.1 @man man/man1/nfdump.1 +@man man/man1/nfanon.1 @man man/man1/nfexpire.1 @man man/man1/nfreplay.1 @man man/man1/sfcapd.1 +@man man/man1/geolookup.1 @man man/man1/torlookup.1 share/doc/nfdump/ share/doc/nfdump/README +share/examples/nfdump/ +share/examples/nfdump/nfdump.conf.dist +@sample ${SYSCONFDIR}/nfdump.conf