diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-20 14:54:46 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-20 14:54:46 -0500 |
| commit | 1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0 (patch) | |
| tree | 18e2e784f9fb0dbc3546537acc42ad51b366d90e /net-analyzer | |
| parent | 9f6a581d94412ab1cf4b35c33101f6be0ddc7777 (diff) | |
| download | baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.gz baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.tar.xz baldeagleos-repo-1a4479b4e0368c8d5ff241ebad17b2541a7e3ba0.zip | |
Adding metadata
Diffstat (limited to 'net-analyzer')
99 files changed, 3072 insertions, 1872 deletions
diff --git a/net-analyzer/cacti-spine/Manifest b/net-analyzer/cacti-spine/Manifest index debdd97a7b9c..8686e9b07669 100644 --- a/net-analyzer/cacti-spine/Manifest +++ b/net-analyzer/cacti-spine/Manifest @@ -1,2 +1 @@ -DIST cacti-spine-1.2.29.tar.gz 123138 BLAKE2B 5d1646edbc21133ef0f4b6abe07769294fd104bceb3e2a80f8fffade50babfe8b64c2ad72062502e9575611c400cb28af69ff4e3507c7849416581486382da7f SHA512 49c61aac205399ebf36025b39749ab0b59c5e3cd5a52e31926254922ae37ba46082cf4a9f83e81ed82ac3812babf20f3618a4981cc50cf18a8f67df67ec1d7fb -DIST cacti-spine-1.2.30.tar.gz 123142 BLAKE2B 7d3b09e2a03bf3af13bf1c10151b76d7081f5b6f277772270432ed27468ee721e9f535d4f6eb4314703ed8bbbfd9f01201bf3e8d66de31356df523be5f0592a9 SHA512 c66dd707fa63afc1d345be96698b427f294947da32d33988773b440823e21ea147eb66203247177fce788941eb30853481fc33f2a32b1ee73bb304738e628b0e +DIST cacti-spine-1.2.20.tar.gz 115258 BLAKE2B 78a9ed8a9e7e69e98bfa9971134dd6f34f540a93b0b1a2aababb66781f3c9787712d57d86b81d7f409487c4cc4447d4f84bd7292890b7eb70ec4137d97248793 SHA512 d7e129f7b42542d7ecc78d55cebc6d9ce481834342d3f3da1fce5538d8e42bc194a825795053d5e3a065b54574e2a3b9413725f1bc0562e55f1db213f9a94d0c diff --git a/net-analyzer/cacti-spine/cacti-spine-1.2.30-r1.ebuild b/net-analyzer/cacti-spine/cacti-spine-1.2.20.ebuild index 0a4dabcb0b38..e41c722458fd 100644 --- a/net-analyzer/cacti-spine/cacti-spine-1.2.30-r1.ebuild +++ b/net-analyzer/cacti-spine/cacti-spine-1.2.20.ebuild @@ -1,5 +1,6 @@ -# Copyright 2021-2025 Liguros Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 inherit autotools @@ -12,30 +13,26 @@ SRC_URI="https://www.cacti.net/downloads/spine/${MY_P}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 ~hppa ~ppc ~ppc64 sparc x86" -IUSE=" mariadb" +KEYWORDS="amd64 ~hppa ~ppc64 ~sparc x86" +DEPEND="dev-db/mysql-connector-c:= + dev-libs/openssl:= + net-analyzer/net-snmp:=" +RDEPEND="${DEPEND} + >net-analyzer/cacti-0.8.8" BDEPEND="sys-apps/help2man" -DEPEND=" - dev-libs/openssl:0= - - net-analyzer/net-snmp:= - mariadb? ( - dev-db/mariadb[connector] - dev-db/mariadb-connector-c:0= - ) -" -RDEPEND=" - ${DEPEND} - >net-analyzer/cacti-0.8.8 -" src_prepare() { - eapply -p1 $FILESDIR/backtrace.patch default + eautoreconf } +src_configure() { + # Drop CONFIG_SHELL after 1.2.x (fix is on develop branch) + CONFIG_SHELL="${BROOT}"/bin/bash econf +} + src_install() { dosbin spine diff --git a/net-analyzer/cacti-spine/cacti-spine-1.2.30.ebuild b/net-analyzer/cacti-spine/cacti-spine-1.2.30.ebuild deleted file mode 100644 index 233a4ee64eab..000000000000 --- a/net-analyzer/cacti-spine/cacti-spine-1.2.30.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 2021-2025 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -inherit autotools - -MY_P=${PN}-${PV/_p/-} - -DESCRIPTION="Spine is a fast poller for Cacti (formerly known as Cactid)" -HOMEPAGE="https://cacti.net/spine_info.php" -SRC_URI="https://www.cacti.net/downloads/spine/${MY_P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 ~hppa ~ppc ~ppc64 sparc x86" -IUSE=" mariadb mysql" -REQUIRED_USE="^^ ( mariadb mysql )" - -BDEPEND="sys-apps/help2man" -DEPEND=" - dev-libs/openssl:0= - - net-analyzer/net-snmp:= - mysql? ( - <=dev-db/mysql-connector-c-8.0.36:0= - ) - mariadb? ( - dev-db/mariadb[connector] - dev-db/mariadb-connector-c:0= - ) -" -RDEPEND=" - ${DEPEND} - >net-analyzer/cacti-0.8.8 -" - -src_prepare() { - eapply -p1 $FILESDIR/backtrace.patch - default - eautoreconf -} - -src_install() { - dosbin spine - - insinto /etc/ - insopts -m0640 -o root - newins spine.conf{.dist,} - - doman spine.1 - dodoc CHANGELOG -} diff --git a/net-analyzer/cacti-spine/cacti-spine-1.2.29-r1.ebuild b/net-analyzer/cacti-spine/cacti-spine-9999.ebuild index 87eebde35454..cfc27aa3907f 100644 --- a/net-analyzer/cacti-spine/cacti-spine-1.2.29-r1.ebuild +++ b/net-analyzer/cacti-spine/cacti-spine-9999.ebuild @@ -1,41 +1,33 @@ -# Copyright 2021-2025 Liguros Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 -inherit autotools +inherit autotools git-r3 MY_P=${PN}-${PV/_p/-} DESCRIPTION="Spine is a fast poller for Cacti (formerly known as Cactid)" HOMEPAGE="https://cacti.net/spine_info.php" -SRC_URI="https://www.cacti.net/downloads/spine/${MY_P}.tar.gz" +EGIT_REPO_URI="https://github.com/Cacti/spine" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha amd64 ~hppa ~ppc ~ppc64 sparc x86" -IUSE=" mariadb mysql" -REQUIRED_USE="^^ ( mariadb mysql )" BDEPEND="sys-apps/help2man" -DEPEND=" - dev-libs/openssl:0= - +DEPEND="dev-libs/openssl:= net-analyzer/net-snmp:= - mysql? ( - <=dev-db/mysql-connector-c-8.0.36:0= - ) - mariadb? ( - dev-db/mariadb[connector] - dev-db/mariadb-connector-c:0= - ) -" -RDEPEND=" - ${DEPEND} - >net-analyzer/cacti-0.8.8 -" + dev-db/mysql-connector-c:0=" +RDEPEND="${DEPEND} + >net-analyzer/cacti-0.8.8" + +PATCHES=( + "${FILESDIR}"/${PN}-0.8.8g-net-snmp.patch +) src_prepare() { default + eautoreconf } diff --git a/net-analyzer/cacti-spine/files/backtrace.patch b/net-analyzer/cacti-spine/files/backtrace.patch deleted file mode 100644 index e5025dc67df8..000000000000 --- a/net-analyzer/cacti-spine/files/backtrace.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 84c2069..9b5c4fa 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -443,28 +443,6 @@ else - AC_MSG_RESULT([no]) - fi - --# See if we can support backtracing --AC_MSG_CHECKING([if we can support backtracing]) --AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -- #include <stdlib.h> -- #include <execinfo.h> -- ]], [[ -- void *array[10]; -- size_t size; -- -- // get void*'s for all entries on the stack -- size = backtrace(array, 10); -- if (size) { -- exit(0); -- } else { -- exit(1); -- } -- ]])],[ AC_MSG_RESULT(yes) -- AC_DEFINE(HAVE_EXECINFO_H,1,[Do we have backtracing capabilities?]) -- ],[AC_MSG_RESULT(no) --]) -- --# See if we can support backtracing - AC_MSG_CHECKING([if we can support mysql/mariadb retry count]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ - #include <stdlib.h> -diff --git a/error.c b/error.c -index cfdec00..846678e 100644 ---- a/error.c -+++ b/error.c -@@ -73,29 +73,7 @@ static void spine_signal_handler(int spine_signal) { - break; - case SIGSEGV: - fprintf(stderr, "%s FATAL: Spine Encountered a Segmentation Fault\n", logtime); -- -- #ifdef HAVE_EXECINFO_H -- int row = 0; -- char **exit_strings = NULL; -- -- fprintf(stderr, "Generating backtrace...%ld line(s)...\n", set.exit_size); -- -- if (set.exit_size) { -- set.exit_size = backtrace(set.exit_stack, set.exit_size); -- exit_strings = backtrace_symbols(set.exit_stack, set.exit_size); -- -- if (exit_strings) { -- for (row = 0; row < set.exit_size; row++) { -- fprintf(stderr, "%3d: %s\n", row, exit_strings[row]); -- } -- -- free(exit_strings); -- } -- } -- #endif -- - exit(1); -- - break; - case SIGBUS: - fprintf(stderr, "%s FATAL: Spine Encountered a Bus Error\n", logtime); -diff --git a/error.h b/error.h -index 0ba1d3b..5ced1f6 100644 ---- a/error.h -+++ b/error.h -@@ -33,7 +33,3 @@ - - extern void install_spine_signal_handler(void); - extern void uninstall_spine_signal_handler(void); --#ifdef HAVE_EXECINFO_H --extern char ** backtrace_symbols(); --extern int backtrace(); --#endif diff --git a/net-analyzer/cacti-spine/files/cacti-spine-0.8.8g-net-snmp.patch b/net-analyzer/cacti-spine/files/cacti-spine-0.8.8g-net-snmp.patch new file mode 100644 index 000000000000..5ee62e2279a0 --- /dev/null +++ b/net-analyzer/cacti-spine/files/cacti-spine-0.8.8g-net-snmp.patch @@ -0,0 +1,19 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -251,14 +251,14 @@ + + # Net-SNMP includes v3 support and insists on crypto unless compiled --without-openssl + AC_MSG_CHECKING([if Net-SNMP needs crypto support]) +-AC_TRY_COMPILE([#include <net-snmp-config.h>], [exit(NETSNMP_USE_OPENSSL != 1);], ++AC_TRY_COMPILE([#include <net-snmp/net-snmp-config.h>], [exit(NETSNMP_USE_OPENSSL != 1);], + [ AC_MSG_RESULT(yes) + SNMP_SSL=yes + ], + AC_MSG_RESULT(no) + ) + +-AC_TRY_COMPILE([ #include <net-snmp-config.h> ++AC_TRY_COMPILE([ #include <net-snmp/net-snmp-config.h> + #include <net-snmp/utilities.h> + #include <net-snmp/net-snmp-includes.h> + #include <net-snmp/config_api.h> diff --git a/net-analyzer/cacti-spine/metadata.xml b/net-analyzer/cacti-spine/metadata.xml index 4135935f92e9..cad809258c8a 100644 --- a/net-analyzer/cacti-spine/metadata.xml +++ b/net-analyzer/cacti-spine/metadata.xml @@ -2,10 +2,6 @@ <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <maintainer type="project"> <email>netmon@gentoo.org</email> <name>Gentoo network monitoring and analysis project</name> </maintainer> diff --git a/net-analyzer/ettercap/Manifest b/net-analyzer/ettercap/Manifest index 07b2cd8e5b86..232013c7ec67 100644 --- a/net-analyzer/ettercap/Manifest +++ b/net-analyzer/ettercap/Manifest @@ -1,2 +1 @@ DIST ettercap-0.8.4.1.tar.gz 5810125 BLAKE2B f3a0bb16e55599301da607252e33db2bb8d477739bab17f1f5e8118352277cf94060aa662a1c1c7d3b2802dc416ae9887b20863c20cfe1f128620b6331f2a725 SHA512 34387ac0b37f8f1dee9d129af075c6995be650cbb8c3e31863c6dac53848aa9221c0ecca254aee9d20bc90e31aeedbf16652317ef3dd16a6a40c26eb54ce722a -DIST ettercap-0.8.4.tar.gz 12067187 BLAKE2B 2ba8e911fd94783b211d68ad868e5e056ffdbdc1905af48826ca76a0ea9b2c14ae863a8e32c33ca28263917f4007b414b67343799410e58d876a8f17f2ef14ab SHA512 ba96d1cda6302e754c7b180ac4e74f4e96cbf40edef04a5f14e287225b0fe3f7a71247f4fea5600fd1e20dc8b6950730e6a629e6015d4afeb887662d2e859e47 diff --git a/net-analyzer/ettercap/ettercap-0.8.4.1.ebuild b/net-analyzer/ettercap/ettercap-0.8.4.1.ebuild index 194305bc089b..97abd8739187 100644 --- a/net-analyzer/ettercap/ettercap-0.8.4.1.ebuild +++ b/net-analyzer/ettercap/ettercap-0.8.4.1.ebuild @@ -1,45 +1,59 @@ -# Copyright 2021-2026 Liguros Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 -inherit cmake +inherit cmake xdg -DESCRIPTION="A suite for man in the middle attacks" +DESCRIPTION="Suite for man in the middle attacks" HOMEPAGE="https://github.com/Ettercap/ettercap" LICENSE="GPL-2+" SLOT="0" -SRC_URI="https://github.com/Ettercap/ettercap/archive/v${PV}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~alpha amd64 arm ppc ppc64 sparc x86" + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Ettercap/${PN}.git" +else + SRC_URI="https://github.com/Ettercap/${PN}/releases/download/v${PV}/${P}.tar.gz" + KEYWORDS="~alpha amd64 arm ppc ppc64 ~sparc x86" +fi IUSE="doc geoip gtk ipv6 ncurses +plugins test" RESTRICT="!test? ( test )" -RDEPEND="dev-libs/libbsd - dev-libs/libpcre - dev-libs/openssl:0= - +RDEPEND=" + dev-libs/libbsd + dev-libs/libpcre2:= + dev-libs/openssl:= net-libs/libnet:1.1 >=net-libs/libpcap-0.8.1 - sys-libs/zlib - geoip? ( dev-libs/geoip ) + virtual/zlib:= + geoip? ( dev-libs/libmaxminddb ) gtk? ( - >=dev-libs/atk-1.2.4 + >=app-accessibility/at-spi2-core-2.46.0 >=dev-libs/glib-2.2.2:2 media-libs/freetype x11-libs/cairo x11-libs/gdk-pixbuf:2 - >=x11-libs/gtk+-2.2.2:2 + >=x11-libs/gtk+-3.12.0:3 >=x11-libs/pango-1.2.3 ) + ipv6? ( >=net-libs/libnet-1.1.5:1.1 ) ncurses? ( >=sys-libs/ncurses-5.3:= ) - plugins? ( >=net-misc/curl-7.26.0 )" -DEPEND="${RDEPEND} - doc? ( app-text/ghostscript-gpl - sys-apps/groff ) + plugins? ( >=net-misc/curl-7.26.0 ) +" +DEPEND=" + app-alternatives/yacc + app-alternatives/lex +" +BDEPEND=" + doc? ( + app-text/ghostscript-gpl + sys-apps/groff + ) test? ( dev-libs/check ) - sys-devel/flex - app-alternatives/yacc" +" src_prepare() { sed -i "s:Release:Release Gentoo:" CMakeLists.txt || die @@ -49,7 +63,6 @@ src_prepare() { src_configure() { local mycmakeargs=( -DENABLE_CURSES="$(usex ncurses)" - -DENABLE_GTK="$(usex gtk)" -DENABLE_PLUGINS="$(usex plugins)" -DENABLE_IPV6="$(usex ipv6)" -DENABLE_TESTS="$(usex test)" @@ -60,8 +73,21 @@ src_configure() { -DINSTALL_SYSCONFDIR="${EPREFIX}"/etc ) - ! use gtk && mycmakeargs+=(-DINSTALL_DESKTOP=OFF) - #right now we only support gtk2, but ettercap also supports gtk3 - #do we care? do we want to support both? + if use gtk ; then + mycmakeargs+=(-DGTK_BUILD_TYPE=GTK3 -DENABLE_GTK=ON) + else + mycmakeargs+=(-DINSTALL_DESKTOP=OFF) + fi + cmake_src_configure } + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/net-analyzer/ettercap/ettercap-0.8.4.ebuild b/net-analyzer/ettercap/ettercap-0.8.4.ebuild deleted file mode 100644 index 194305bc089b..000000000000 --- a/net-analyzer/ettercap/ettercap-0.8.4.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 2021-2026 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -inherit cmake - -DESCRIPTION="A suite for man in the middle attacks" -HOMEPAGE="https://github.com/Ettercap/ettercap" - -LICENSE="GPL-2+" -SLOT="0" -SRC_URI="https://github.com/Ettercap/ettercap/archive/v${PV}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~alpha amd64 arm ppc ppc64 sparc x86" - -IUSE="doc geoip gtk ipv6 ncurses +plugins test" -RESTRICT="!test? ( test )" - -RDEPEND="dev-libs/libbsd - dev-libs/libpcre - dev-libs/openssl:0= - - net-libs/libnet:1.1 - >=net-libs/libpcap-0.8.1 - sys-libs/zlib - geoip? ( dev-libs/geoip ) - gtk? ( - >=dev-libs/atk-1.2.4 - >=dev-libs/glib-2.2.2:2 - media-libs/freetype - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - >=x11-libs/gtk+-2.2.2:2 - >=x11-libs/pango-1.2.3 - ) - ncurses? ( >=sys-libs/ncurses-5.3:= ) - plugins? ( >=net-misc/curl-7.26.0 )" -DEPEND="${RDEPEND} - doc? ( app-text/ghostscript-gpl - sys-apps/groff ) - test? ( dev-libs/check ) - sys-devel/flex - app-alternatives/yacc" - -src_prepare() { - sed -i "s:Release:Release Gentoo:" CMakeLists.txt || die - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DENABLE_CURSES="$(usex ncurses)" - -DENABLE_GTK="$(usex gtk)" - -DENABLE_PLUGINS="$(usex plugins)" - -DENABLE_IPV6="$(usex ipv6)" - -DENABLE_TESTS="$(usex test)" - -DENABLE_PDF_DOCS="$(usex doc)" - -DENABLE_GEOIP="$(usex geoip)" - -DBUNDLED_LIBS=OFF - -DSYSTEM_LIBS=ON - -DINSTALL_SYSCONFDIR="${EPREFIX}"/etc - ) - - ! use gtk && mycmakeargs+=(-DINSTALL_DESKTOP=OFF) - #right now we only support gtk2, but ettercap also supports gtk3 - #do we care? do we want to support both? - cmake_src_configure -} diff --git a/net-analyzer/ettercap/ettercap-9999.ebuild b/net-analyzer/ettercap/ettercap-9999.ebuild new file mode 100644 index 000000000000..3473a53cea2b --- /dev/null +++ b/net-analyzer/ettercap/ettercap-9999.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake xdg + +DESCRIPTION="Suite for man in the middle attacks" +HOMEPAGE="https://github.com/Ettercap/ettercap" + +LICENSE="GPL-2+" +SLOT="0" + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Ettercap/${PN}.git" +else + SRC_URI="https://github.com/Ettercap/${PN}/releases/download/v${PV}/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86" +fi + +IUSE="doc geoip gtk ipv6 ncurses +plugins test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/libbsd + dev-libs/libpcre2:= + dev-libs/openssl:= + net-libs/libnet:1.1 + >=net-libs/libpcap-0.8.1 + virtual/zlib:= + geoip? ( dev-libs/libmaxminddb ) + gtk? ( + >=app-accessibility/at-spi2-core-2.46.0 + >=dev-libs/glib-2.2.2:2 + media-libs/freetype + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-3.12.0:3 + >=x11-libs/pango-1.2.3 + ) + ipv6? ( >=net-libs/libnet-1.1.5:1.1 ) + ncurses? ( >=sys-libs/ncurses-5.3:= ) + plugins? ( >=net-misc/curl-7.26.0 ) +" +DEPEND=" + app-alternatives/yacc + app-alternatives/lex +" +BDEPEND=" + doc? ( + app-text/ghostscript-gpl + sys-apps/groff + ) + test? ( dev-libs/check ) +" + +src_prepare() { + sed -i "s:Release:Release Gentoo:" CMakeLists.txt || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DENABLE_CURSES="$(usex ncurses)" + -DENABLE_PLUGINS="$(usex plugins)" + -DENABLE_IPV6="$(usex ipv6)" + -DENABLE_TESTS="$(usex test)" + -DENABLE_PDF_DOCS="$(usex doc)" + -DENABLE_GEOIP="$(usex geoip)" + -DBUNDLED_LIBS=OFF + -DSYSTEM_LIBS=ON + -DINSTALL_SYSCONFDIR="${EPREFIX}"/etc + ) + + if use gtk ; then + mycmakeargs+=(-DGTK_BUILD_TYPE=GTK3 -DENABLE_GTK=ON) + else + mycmakeargs+=(-DINSTALL_DESKTOP=OFF) + fi + + cmake_src_configure +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/net-analyzer/ettercap/metadata.xml b/net-analyzer/ettercap/metadata.xml index 1631d5081154..ec2c2dae129e 100644 --- a/net-analyzer/ettercap/metadata.xml +++ b/net-analyzer/ettercap/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> <maintainer type="person"> <email>zerochaos@gentoo.org</email> <name>Rick Farina</name> @@ -17,9 +13,6 @@ <email>netmon@gentoo.org</email> <name>Gentoo network monitoring and analysis project</name> </maintainer> - <upstream> - <remote-id type="cpe">cpe:/a:ettercap:ettercap</remote-id> - </upstream> <use> <flag name="plugins">Install ettercap plugins (et_*.so)</flag> </use> diff --git a/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-openssl11.patch b/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-openssl11.patch index 686d40ab8079..cbbddcaae68d 100644 --- a/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-openssl11.patch +++ b/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-openssl11.patch @@ -1,20 +1,5 @@ --- a/lib/ftxlate.c +++ b/lib/ftxlate.c -@@ -34,6 +34,14 @@ - #include <openssl/ssl.h> - #include <openssl/evp.h> - #undef free_func -+ -+/* fixup LibreSSL OpenSSL version numbering */ -+#include <openssl/opensslv.h> -+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L) -+#undef OPENSSL_VERSION_NUMBER -+#define OPENSSL_VERSION_NUMBER 0x1000107fL -+#endif -+ - #endif /* HAVE_OPENSSL */ - - #include <sys/time.h> @@ -2040,11 +2048,13 @@ diff --git a/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-syslog.patch b/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-syslog.patch deleted file mode 100644 index cb17471072bc..000000000000 --- a/net-analyzer/flow-tools/files/flow-tools-0.68.5.1-syslog.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/lib/fterr.c -+++ b/lib/fterr.c -@@ -112,7 +112,7 @@ - fprintf(((fterr_file) ? fterr_file : stderr), "%s\n", buf2); - - if (fterr_flags & FTERR_SYSLOG) -- syslog(LOG_INFO, buf); -+ syslog(LOG_INFO, "%s", buf); - - } /* fterr_info */ - -@@ -134,7 +134,7 @@ - - if (fterr_flags & FTERR_SYSLOG) { - snprintf(buf2, 1024, "%s: %s", buf, strerror(errno)); -- syslog(LOG_INFO, buf2); -+ syslog(LOG_INFO, "%s", buf2); - } - - if (fterr_exit) -@@ -159,7 +159,7 @@ - } - - if (fterr_flags & FTERR_SYSLOG) -- syslog(LOG_INFO, buf); -+ syslog(LOG_INFO, "%s", buf); - - if (fterr_exit) - fterr_exit(code); -@@ -183,7 +183,7 @@ - } - - if (fterr_flags & FTERR_SYSLOG) -- syslog(LOG_INFO, buf); -+ syslog(LOG_INFO, "%s", buf); - - } /* fterr_warnx */ - -@@ -205,7 +205,7 @@ - - if (fterr_flags & FTERR_SYSLOG) { - snprintf(buf2, 1024, "%s: %s", buf, strerror(errno)); -- syslog(LOG_INFO, buf2); -+ syslog(LOG_INFO, "%s", buf2); - } - - } /* fterr_warn */ diff --git a/net-analyzer/flow-tools/files/flowcapture.confd b/net-analyzer/flow-tools/files/flowcapture.confd index df363deed858..e926d64a8eec 100644 --- a/net-analyzer/flow-tools/files/flowcapture.confd +++ b/net-analyzer/flow-tools/files/flowcapture.confd @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # Config file for /etc/init.d/flowcap diff --git a/net-analyzer/flow-tools/files/flowcapture.initd b/net-analyzer/flow-tools/files/flowcapture.initd index bc34be713cd4..c6fc34728799 100644 --- a/net-analyzer/flow-tools/files/flowcapture.initd +++ b/net-analyzer/flow-tools/files/flowcapture.initd @@ -1,5 +1,5 @@ #!/sbin/openrc-run -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 PORT=${PORT:=2055} diff --git a/net-analyzer/flow-tools/files/ftxlate.patch b/net-analyzer/flow-tools/files/ftxlate.patch deleted file mode 100644 index 5b6ae8d49353..000000000000 --- a/net-analyzer/flow-tools/files/ftxlate.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -urN flow-tools-0.68.6.orig/lib/ftxlate.c flow-tools-0.68.6/lib/ftxlate.c ---- flow-tools-0.68.6.orig/lib/ftxlate.c 2022-03-27 22:18:26.477803526 +0200 -+++ flow-tools-0.68.6/lib/ftxlate.c 2022-03-27 22:20:18.147811569 +0200 -@@ -2040,21 +2040,21 @@ - - - /* init crypto */ -- if (!(cp->cipher_ctx = (EVP_CIPHER_CTX*) malloc(sizeof(EVP_CIPHER_CTX)))) { -+ cp->cipher_ctx = EVP_CIPHER_CTX_new(); -+ if (cp->cipher_ctx == NULL) - return -1; -- } -- -- EVP_CIPHER_CTX_init(cp->cipher_ctx); - - /* disable padding */ - if (!(EVP_CIPHER_CTX_set_padding(cp->cipher_ctx, 0))) { - cryptopan_free(cp); -+ EVP_CIPHER_CTX_free(cp->cipher_ctx); - return -1; - } - - /* init encryption */ - if (!(EVP_EncryptInit(cp->cipher_ctx, EVP_aes_128_ecb(), key, NULL))) { - cryptopan_free(cp); -+ EVP_CIPHER_CTX_free(cp->cipher_ctx); - return -1; - } - -@@ -2062,8 +2062,10 @@ - i = 16; - if (!(EVP_EncryptUpdate(cp->cipher_ctx, cp->m_pad, &i, key+16, i))) { - cryptopan_free(cp); -+ EVP_CIPHER_CTX_free(cp->cipher_ctx); - return -1; - } -+ EVP_CIPHER_CTX_free(cp->cipher_ctx); - - #endif /* HAVE_OPENSSL */ - diff --git a/net-analyzer/flow-tools/flow-tools-0.68.6-r2.ebuild b/net-analyzer/flow-tools/flow-tools-0.68.6-r2.ebuild index 5d4654db3970..9f62f5b10615 100644 --- a/net-analyzer/flow-tools/flow-tools-0.68.6-r2.ebuild +++ b/net-analyzer/flow-tools/flow-tools-0.68.6-r2.ebuild @@ -1,8 +1,9 @@ -# Copyright 2021-2026 Liguros Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 -inherit autotools +inherit autotools eapi9-ver DESCRIPTION="library and programs to process reports from NetFlow data" HOMEPAGE="https://github.com/5u623l20/flow-tools/" @@ -10,32 +11,30 @@ SRC_URI="https://github.com/5u623l20/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD GPL-3" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="amd64 ~ppc x86" IUSE="debug mysql postgres ssl static-libs" RDEPEND=" acct-group/flows acct-user/flows sys-apps/tcp-wrappers - sys-libs/zlib - mysql? ( dev-db/mysql-connector-c:0= ) + virtual/zlib:= + mysql? ( dev-db/mysql-connector-c:= ) postgres? ( dev-db/postgresql:* ) - ssl? ( - dev-libs/openssl:0= - - ) -" -DEPEND=" - ${RDEPEND} + ssl? ( dev-libs/openssl:= ) " +DEPEND="${RDEPEND}" BDEPEND=" app-text/docbook-sgml-utils + app-alternatives/lex sys-devel/bison - sys-devel/flex " + DOCS=( ChangeLog.old README README.fork SECURITY TODO TODO.old ) + PATCHES=( "${FILESDIR}"/${PN}-0.68.5.1-run.patch + "${FILESDIR}"/${PN}-0.68.5.1-openssl11.patch "${FILESDIR}"/${PN}-0.68.5.1-fno-common.patch "${FILESDIR}"/${PN}-0.68.6-mysql.patch "${FILESDIR}"/${PN}-0.68.6-c99-c23.patch @@ -43,19 +42,26 @@ PATCHES=( ) src_prepare() { - eapply -p1 ${FILESDIR}/ftxlate.patch default + sed -i -e 's|docbook-to-man|docbook2man|g' docs/Makefile.am || die eautoreconf } src_configure() { - econf \ - $(use_enable static-libs static) \ - $(usex mysql --with-mysql '') \ - $(usex postgres --with-postgresql=yes --with-postgresql=no) \ - $(usex ssl --with-openssl '') \ - --sysconfdir=/etc/flow-tools + # Needs bison specifically for LTO patch (for setting a prefix) + unset YACC + + local myeconfargs=( + $(use_enable static-libs static) + + # configure logic is buggy + $(usev mysql --with-mysql) + --with-postgresql=$(usex postgres yes no) + $(usev ssl --with-openssl) + ) + + econf "${myeconfargs[@]}" } src_install() { @@ -78,3 +84,12 @@ src_install() { find "${ED}" -name '*.la' -delete || die } + +pkg_postinst() { + if ver_replacing -lt 0.68.6-r2 ; then + ewarn "Config files have been moved bak to ${EPREFIX}/etc/flow-tools" + ewarn "after temporarily being in the wrong location of" + ewarn " ${EPREFIX}/etc/flow-tools/flow-tools" + ewarn "See bug #785040." + fi +} diff --git a/net-analyzer/flow-tools/metadata.xml b/net-analyzer/flow-tools/metadata.xml index 5a5abb4e25f2..3093fbfbadf4 100644 --- a/net-analyzer/flow-tools/metadata.xml +++ b/net-analyzer/flow-tools/metadata.xml @@ -2,10 +2,6 @@ <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <maintainer type="project"> <email>netmon@gentoo.org</email> <name>Gentoo network monitoring and analysis project</name> </maintainer> diff --git a/net-analyzer/goaccess/Manifest b/net-analyzer/goaccess/Manifest index f3316ee7d3b4..f9dd67d760d4 100644 --- a/net-analyzer/goaccess/Manifest +++ b/net-analyzer/goaccess/Manifest @@ -1,2 +1,2 @@ -DIST goaccess-1.10.1.tar.gz 1118613 BLAKE2B 29c0d93658c903834b0b664e8c253f00d94f4399c9d6a20a39a6387cb720e9e4af70562109501d2dfbd64abb5a044bacb277c1b5d7abe7625dee5fc61af9434e SHA512 8fe71a9ae3ef11963d62076f6ff4e52ef03ce4f11bd1ffdf694e91c1aafa97a39d0e5ba22cc81c3d6c59613116ea0f9ad9317246b035eb894462123e1cede9d7 -DIST goaccess-1.10.2.tar.gz 1135947 BLAKE2B 160cdb3b860bc0414a0b7f31ad006c4dc912f7ebb4d1408f6556f8a4f463a8f83ba383a95160c7290ef1723ee08154e5aef3985b88dbb0b853047ef82714fb24 SHA512 9275ddb978d4d5c25ba0af9220bf10df8786b405f410b32e8c224374297fff10512de7158aeb77420f4e30c352c50f7a83cc3337076faccd9d1976418de0d9fb +DIST goaccess-1.8.1.tar.gz 740177 BLAKE2B cc1f17c72adeeaf50d3b6c7bef47a044a3bbf06fb44d73da9b1ae68ea71d8e276dbe02c6a89cf0a72f3327e817e8d59235f788d29aeb7c7c889bacf81b64292a SHA512 96f0b73f13cfb77ad57748bce7d8791f8486bfd5ce47420d1c0016826a4deb9ab2d2742f4afd5d8b0eed003f9b596aae51f232fa71bf47f823b6ff8119f91354 +DIST goaccess-1.9.3.tar.gz 821878 BLAKE2B 99a3a0f9b73a24bb871df2eb16be44dfefbe8fdcd9f10aec66beca98bae65a8b98085c58168c35407f53cf599cf33bc930247f7f7241742ca7750ef68236992e SHA512 6f838d006bec65819d42115b9ce6edb3d839c1bbb609353163960361684ae67c5ecb859e5c9e19eb3233aac4e97c18bdd4d19e1919b05695b3dfef3ca5e7a192 diff --git a/net-analyzer/goaccess/files/goaccess.confd b/net-analyzer/goaccess/files/goaccess.confd new file mode 100644 index 000000000000..4ff75a1a4ff6 --- /dev/null +++ b/net-analyzer/goaccess/files/goaccess.confd @@ -0,0 +1,8 @@ +# Config file for /etc/init.d/goaccess + +# Various options. +# run `goaccess --help` for valid cmdline options +OPTS="--user-name=goaccess --pid-file=/run/goaccess/goaccess.pid -o /var/lib/goaccess/goaccess.html -l /var/log/goaccess/goaccess.log" + +# GoAccess config file +#CONFIG="/etc/goaccess/goaccess.conf" diff --git a/net-analyzer/goaccess/files/goaccess.initd b/net-analyzer/goaccess/files/goaccess.initd new file mode 100644 index 000000000000..bd782952cfb4 --- /dev/null +++ b/net-analyzer/goaccess/files/goaccess.initd @@ -0,0 +1,15 @@ +#!/sbin/openrc-run +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/goaccess" +name="GoAccess" +description="Real-time web log analyzer" +config="${CONFIG:-/etc/goaccess/goaccess.conf}" +command_args="--real-time-html --daemonize -p $config ${OPTS}" +pidfile="/run/goaccess/${RC_SVCNAME}.pid" +start_stop_daemon_args="-q" + +depend() { + need net +} diff --git a/net-analyzer/goaccess/files/goaccess.service b/net-analyzer/goaccess/files/goaccess.service new file mode 100644 index 000000000000..8fab5f9b7c56 --- /dev/null +++ b/net-analyzer/goaccess/files/goaccess.service @@ -0,0 +1,15 @@ +[Unit] +Description=Real-time web log analyzer +After=network.target + +[Service] +Type=simple +User=root +Group=root +Restart=always +ExecStart=/usr/bin/goaccess --real-time-html --daemonize -p /etc/goaccess/goaccess.conf --user-name=goaccess -o /var/lib/goaccess/goaccess.html -l /var/log/goaccess/goaccess.log +StandardOutput=null +StandardError=null + +[Install] +WantedBy=multi-user.target diff --git a/net-analyzer/goaccess/files/goaccess.tmpfile b/net-analyzer/goaccess/files/goaccess.tmpfile new file mode 100644 index 000000000000..caee9ffff853 --- /dev/null +++ b/net-analyzer/goaccess/files/goaccess.tmpfile @@ -0,0 +1 @@ +d /run/goaccess 0755 goaccess goaccess diff --git a/net-analyzer/goaccess/goaccess-1.10.1.ebuild b/net-analyzer/goaccess/goaccess-1.10.1.ebuild deleted file mode 100644 index 4174f895805e..000000000000 --- a/net-analyzer/goaccess/goaccess-1.10.1.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 2021-2026 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -inherit autotools - -KEYWORDS="~amd64 ~x86 ~amd64-linux" -DESCRIPTION="A real-time web log analyzer and interactive viewer that runs in a terminal" -HOMEPAGE="https://goaccess.io" -SRC_URI="https://tar.goaccess.io/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -IUSE="debug geoip geoipv2 getline ssl unicode" -REQUIRED_USE="geoipv2? ( geoip )" - -BDEPEND="virtual/pkgconfig" -RDEPEND="sys-libs/ncurses:0=[unicode(+)?] - geoip? ( - !geoipv2? ( dev-libs/geoip ) - geoipv2? ( dev-libs/libmaxminddb:0= ) - ) - ssl? ( - dev-libs/openssl:0= - - )" -DEPEND="${RDEPEND}" - -src_prepare() { - default - - # Change path to GeoIP bases in config - sed -i -e s':/usr/local:/usr:' config/goaccess.conf || die "sed failed for goaccess.conf" - - eautoreconf -} - -src_configure() { - econf \ - "$(use_enable debug)" \ - "$(use_enable geoip geoip "$(usex geoipv2 mmdb legacy)")" \ - "$(use_enable unicode utf8)" \ - "$(use_with getline)" \ - "$(use_with ssl openssl)" -} diff --git a/net-analyzer/goaccess/goaccess-1.10.2.ebuild b/net-analyzer/goaccess/goaccess-1.10.2.ebuild deleted file mode 100644 index 4174f895805e..000000000000 --- a/net-analyzer/goaccess/goaccess-1.10.2.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 2021-2026 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -inherit autotools - -KEYWORDS="~amd64 ~x86 ~amd64-linux" -DESCRIPTION="A real-time web log analyzer and interactive viewer that runs in a terminal" -HOMEPAGE="https://goaccess.io" -SRC_URI="https://tar.goaccess.io/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -IUSE="debug geoip geoipv2 getline ssl unicode" -REQUIRED_USE="geoipv2? ( geoip )" - -BDEPEND="virtual/pkgconfig" -RDEPEND="sys-libs/ncurses:0=[unicode(+)?] - geoip? ( - !geoipv2? ( dev-libs/geoip ) - geoipv2? ( dev-libs/libmaxminddb:0= ) - ) - ssl? ( - dev-libs/openssl:0= - - )" -DEPEND="${RDEPEND}" - -src_prepare() { - default - - # Change path to GeoIP bases in config - sed -i -e s':/usr/local:/usr:' config/goaccess.conf || die "sed failed for goaccess.conf" - - eautoreconf -} - -src_configure() { - econf \ - "$(use_enable debug)" \ - "$(use_enable geoip geoip "$(usex geoipv2 mmdb legacy)")" \ - "$(use_enable unicode utf8)" \ - "$(use_with getline)" \ - "$(use_with ssl openssl)" -} diff --git a/net-analyzer/goaccess/goaccess-1.8.1.ebuild b/net-analyzer/goaccess/goaccess-1.8.1.ebuild new file mode 100644 index 000000000000..483e675fa316 --- /dev/null +++ b/net-analyzer/goaccess/goaccess-1.8.1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# shellcheck disable=SC2207 + +EAPI=8 + +inherit autotools optfeature systemd tmpfiles + +DESCRIPTION="A real-time web log analyzer and interactive viewer in a terminal" +HOMEPAGE="https://goaccess.io" +SRC_URI="https://tar.goaccess.io/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug geoip geoipv2 getline ssl unicode" +REQUIRED_USE="geoipv2? ( geoip )" + +RDEPEND="acct-group/goaccess + acct-user/goaccess + sys-libs/ncurses:=[unicode(+)?] + geoip? ( + !geoipv2? ( dev-libs/geoip ) + geoipv2? ( dev-libs/libmaxminddb:0= ) + ) + ssl? ( dev-libs/openssl:0= )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + + # Enable log-format, define log file and db path, + # change path to GeoIP bases in config + sed -i -e '/log-format COMBINED/s/#//' \ + -e '/log-file/s/#//' \ + -e '/db-path/s|tmp|var/lib/goaccess|' \ + -e '/geoip-database/s|local/||' config/goaccess.conf \ + || die "sed failed for goaccess.conf" + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + $(use_enable geoip geoip "$(usex geoipv2 mmdb legacy)") + $(use_enable unicode utf8) + $(use_with getline) + $(use_with ssl openssl) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + newinitd "${FILESDIR}"/goaccess.initd goaccess + newconfd "${FILESDIR}"/goaccess.confd goaccess + systemd_dounit "${FILESDIR}"/goaccess.service + newtmpfiles "${FILESDIR}"/goaccess.tmpfile goaccess.conf + + diropts -o goaccess -g goaccess -m 0700 + keepdir /var/lib/goaccess/db /var/log/goaccess +} + +pkg_postinst() { + optfeature "update GeoIP databases" net-misc/geoipupdate + tmpfiles_process goaccess.conf +} diff --git a/net-analyzer/goaccess/goaccess-1.9.3.ebuild b/net-analyzer/goaccess/goaccess-1.9.3.ebuild new file mode 100644 index 000000000000..cd8029868ed2 --- /dev/null +++ b/net-analyzer/goaccess/goaccess-1.9.3.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# shellcheck disable=SC2207 + +EAPI=8 + +inherit optfeature systemd tmpfiles + +DESCRIPTION="A real-time web log analyzer and interactive viewer in a terminal" +HOMEPAGE="https://goaccess.io" +SRC_URI="https://tar.goaccess.io/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug geoip geoipv2 getline ssl unicode" +REQUIRED_USE="geoipv2? ( geoip )" + +RDEPEND="acct-group/goaccess + acct-user/goaccess + sys-libs/ncurses:=[unicode(+)?] + geoip? ( + !geoipv2? ( dev-libs/geoip ) + geoipv2? ( dev-libs/libmaxminddb:0= ) + ) + ssl? ( dev-libs/openssl:0= )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + + # Enable log-format, define log file and db path, + # change path to GeoIP bases in config + sed -i -e '/log-format COMBINED/s/#//' \ + -e '/log-file/s/#//' \ + -e '/db-path/s|tmp|var/lib/goaccess|' \ + -e '/geoip-database/s|local/||' config/goaccess.conf \ + || die "sed failed for goaccess.conf" +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + $(use_enable geoip geoip "$(usex geoipv2 mmdb legacy)") + $(use_enable unicode utf8) + $(use_with getline) + $(use_with ssl openssl) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + newinitd "${FILESDIR}"/goaccess.initd goaccess + newconfd "${FILESDIR}"/goaccess.confd goaccess + systemd_dounit "${FILESDIR}"/goaccess.service + newtmpfiles "${FILESDIR}"/goaccess.tmpfile goaccess.conf + + diropts -o goaccess -g goaccess -m 0700 + keepdir /var/lib/goaccess/db /var/log/goaccess +} + +pkg_postinst() { + optfeature "update GeoIP databases" net-misc/geoipupdate + tmpfiles_process goaccess.conf +} diff --git a/net-analyzer/goaccess/goaccess-9999.ebuild b/net-analyzer/goaccess/goaccess-9999.ebuild new file mode 100644 index 000000000000..58691f5c27b8 --- /dev/null +++ b/net-analyzer/goaccess/goaccess-9999.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# shellcheck disable=SC2207 + +EAPI=8 + +EGIT_REPO_URI="https://github.com/allinurl/${PN}.git" + +inherit autotools git-r3 optfeature systemd tmpfiles + +DESCRIPTION="A real-time web log analyzer and interactive viewer in a terminal" +HOMEPAGE="https://goaccess.io" + +LICENSE="MIT" +SLOT="0" +IUSE="debug geoip geoipv2 getline ssl unicode" +REQUIRED_USE="geoipv2? ( geoip )" + +RDEPEND="acct-group/goaccess + acct-user/goaccess + sys-libs/ncurses:=[unicode(+)?] + geoip? ( + !geoipv2? ( dev-libs/geoip ) + geoipv2? ( dev-libs/libmaxminddb:0= ) + ) + ssl? ( dev-libs/openssl:0= )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + + # Enable log-format, define log file and db path, + # change path to GeoIP bases in config + sed -i -e '/log-format COMBINED/s/#//' \ + -e '/log-file/s/#//' \ + -e '/db-path/s|tmp|var/lib/goaccess|' \ + -e '/geoip-database/s|local/||' config/goaccess.conf \ + || die "sed failed for goaccess.conf" + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + $(use_enable geoip geoip "$(usex geoipv2 mmdb legacy)") + $(use_enable unicode utf8) + $(use_with getline) + $(use_with ssl openssl) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + newinitd "${FILESDIR}"/goaccess.initd goaccess + newconfd "${FILESDIR}"/goaccess.confd goaccess + systemd_dounit "${FILESDIR}"/goaccess.service + newtmpfiles "${FILESDIR}"/goaccess.tmpfile goaccess.conf + + diropts -o goaccess -g goaccess -m 0700 + keepdir /var/lib/goaccess/db /var/log/goaccess +} + +pkg_postinst() { + optfeature "update GeoIP databases" net-misc/geoipupdate + tmpfiles_process goaccess.conf +} diff --git a/net-analyzer/goaccess/metadata.xml b/net-analyzer/goaccess/metadata.xml index b0e865aa1add..1d54eeedf8ae 100644 --- a/net-analyzer/goaccess/metadata.xml +++ b/net-analyzer/goaccess/metadata.xml @@ -1,15 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <maintainer type="person"> + <maintainer type="person" proxied="yes"> <email>spiderx@spiderx.dp.ua</email> <name>Vladimir Pavljuchenkov</name> </maintainer> - <maintainer type="project"> + <maintainer type="project" proxied="proxy"> <email>proxy-maint@gentoo.org</email> <name>Proxy Maintainers</name> </maintainer> diff --git a/net-analyzer/icinga2/Manifest b/net-analyzer/icinga2/Manifest index f1dc1ba88a03..bbfea1d0fd24 100644 --- a/net-analyzer/icinga2/Manifest +++ b/net-analyzer/icinga2/Manifest @@ -1,2 +1,2 @@ +DIST icinga2-2.15.0.tar.gz 9446841 BLAKE2B fb3e55633229c739407976ef3462470b4d6e3f6927df1d70db1188aec32831c01810fadf67d759db646be5dc7336f0ecc273f59bf96002ecc1e2c93bc8be67ea SHA512 247372464f48e87175ca86862f69c82ed204f133b7f012ec78ff63eefc105e1614b5434b9dd3f654479132a0b387e12c7b92efbfb22383ba83304dcc25beb281 DIST icinga2-2.16.0.tar.gz 9585508 BLAKE2B 296d357830d76c06915b8439d2232611617b2c7bad2794a2ad3603e10a96afaef5681f86f2709c15877b8c17aaedcce0032762c5f0f1903042d11e1b981d9379 SHA512 1bf9060d3589fb70238290d624180f324398375d69caf38d21060857650033b1450ee7c82c6089fbc756a94461f3bfe465c3190558e327d4427a0fc1e1da3199 -DIST icinga2-2.16.1.tar.gz 9578801 BLAKE2B 9dc3f70fcda2d3a2ebf70f0716ae4258dce5b7c7003b7bb9dc50bcad355b7970c647053bcc76126a1a330e9266a06ef74a5235a906c14b6f91225997bbcc78b4 SHA512 ea96ff526f6e0421bf55e9e67ab53f3eac7851ab42981ce5151444df031b59791c08410859ce26fe1cf7ca40fb79a0ee1be825250b38db4f23cab2f2711b1c12 diff --git a/net-analyzer/icinga2/files/icinga2-boost-1.89.patch b/net-analyzer/icinga2/files/icinga2-boost-1.89.patch new file mode 100644 index 000000000000..98d51bdf0f22 --- /dev/null +++ b/net-analyzer/icinga2/files/icinga2-boost-1.89.patch @@ -0,0 +1,23 @@ +From 76fa0d9e8054f405dc3d1e39a4b48f21e86afdf0 Mon Sep 17 00:00:00 2001 +From: "Alexander A. Klimov" <alexander.klimov@icinga.com> +Date: Thu, 14 Aug 2025 11:05:37 +0200 +Subject: [PATCH] Boost: don't require "system" component + +It's vanished in v1.89. +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86abc77d661..1a087b8ed2f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -172,7 +172,7 @@ else() + set(LOGROTATE_CREATE "\n\tcreate 644 ${ICINGA2_USER} ${ICINGA2_GROUP}") + endif() + +-find_package(Boost ${BOOST_MIN_VERSION} COMPONENTS coroutine context date_time filesystem iostreams thread system program_options regex REQUIRED) ++find_package(Boost ${BOOST_MIN_VERSION} COMPONENTS coroutine context date_time filesystem iostreams thread program_options regex REQUIRED) + + # Boost.Coroutine2 (the successor of Boost.Coroutine) + # (1) doesn't even exist in old Boost versions and diff --git a/net-analyzer/icinga2/files/icinga2.initd b/net-analyzer/icinga2/files/icinga2.initd deleted file mode 100644 index 7faff11137d4..000000000000 --- a/net-analyzer/icinga2/files/icinga2.initd +++ /dev/null @@ -1,81 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -extra_started_commands="reload" - -DAEMON="/usr/sbin/icinga2" -ICINGA2_CONFIG_FILE="/etc/icinga2/icinga2.conf" -ICINGA2_RUN_DIR="/run/icinga2" -ICINGA2_STATE_DIR="/var/cache/icinga2" -ICINGA2_CMD_DIR="${ICINGA2_RUN_DIR}/cmd" -ICINGA2_PID_FILE="${ICINGA2_RUN_DIR}/icinga2.pid" -ICINGA2_DAEMON_ARGS="daemon -c $ICINGA2_CONFIG_FILE -e $ICINGA2_ERROR_LOG -d" - -depend() { - need net -} - -checkconfig() { - if [ ! -e "$ICINGA2_CONFIG_FILE" ]; then - ewarn "Config file '$ICINGA2_CONFIG_FILE' does not exist." - eend 1 - fi - - ICINGA2_USER=$($DAEMON variable get --current RunAsUser) - if [ $? != 0 ]; then - eerror "Could not fetch RunAsUser variable: '$ICINGA2_USER'." - return 1 - fi - ICINGA2_GROUP=$($DAEMON variable get --current RunAsGroup) - if [ $? != 0 ]; then - eerror "Could not fetch RunAsGroup variable: '$ICINGA2_GROUP'." - return 1 - fi - - checkpath -d -m 0750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_RUN_DIR - checkpath -d -m 0750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_STATE_DIR - checkpath -d -m 2750 -o $ICINGA2_USER:$ICINGA2_GROUP $ICINGA2_CMD_DIR - - if ! $DAEMON daemon -c $ICINGA2_CONFIG_FILE -C > $ICINGA2_STARTUP_LOG 2>&1; then - eerror "Icinga2 detected configuration errors. Check '$ICINGA2_STARTUP_LOG' for details." - return 1 - fi -} - -start() { - checkconfig || return 1 - - ebegin "Starting icinga2" - start-stop-daemon --start --exec "${DAEMON}" \ - --pidfile "${ICINGA2_PID_FILE}" \ - -- $ICINGA2_DAEMON_ARGS > $ICINGA2_STARTUP_LOG 2>&1 - local retval=$? - if [ $retval -ne 0 ]; then - ewarn "Error starting icinga2. '$ICINGA2_STARTUP_LOG' for details." - fi - eend $retval -} - -stop() { - ebegin "Stopping icinga2" - start-stop-daemon \ - --stop \ - --pidfile $ICINGA2_PID_FILE \ - --retry "SIGTERM/15 SIGKILL/30" \ - --progress - eend $? -} - -reload() { - checkconfig || return 1 - - ebegin "Reloading icinga2" - start-stop-daemon --signal HUP --pidfile "$ICINGA2_PID_FILE" - - local retval=$? - if [ $retval -ne 0 ]; then - ewarn "Error reloading icinga2." - fi - eend $retval -} diff --git a/net-analyzer/icinga2/icinga2-2.15.0-r2.ebuild b/net-analyzer/icinga2/icinga2-2.15.0-r2.ebuild new file mode 100644 index 000000000000..6ae680ff855a --- /dev/null +++ b/net-analyzer/icinga2/icinga2-2.15.0-r2.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake eapi9-ver + +# https://bugs.gentoo.org/960527#c9 +CMAKE_QA_COMPAT_SKIP=1 + +if [[ ${PV} != 9999 ]]; then + SRC_URI="https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm64 x86" +else + inherit git-r3 + EGIT_REPO_URI="https://github.com/Icinga/icinga2.git" +fi + +DESCRIPTION="Distributed, general purpose, network monitoring engine" +HOMEPAGE="https://icinga.com/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="console jumbo-build mail mariadb minimal +mysql +plugins postgres test systemd" +RESTRICT="!test? ( test )" + +# Add accounts to DEPEND because of fowners in src_install +DEPEND=" + dev-libs/openssl:= + dev-libs/boost:=[context] + console? ( dev-libs/libedit ) + mariadb? ( dev-db/mariadb-connector-c:= ) + mysql? ( dev-db/mysql-connector-c:= ) + postgres? ( dev-db/postgresql:= ) + dev-libs/yajl:= + acct-user/icinga + acct-group/icinga + acct-group/icingacmd +" +BDEPEND=" + app-alternatives/yacc + app-alternatives/lex +" +RDEPEND=" + ${DEPEND} + acct-group/nagios + plugins? ( || ( + net-analyzer/monitoring-plugins + net-analyzer/nagios-plugins + ) ) + mail? ( virtual/mailx ) +" + +REQUIRED_USE="!minimal? ( || ( mariadb mysql postgres ) )" + +PATCHES=( + "${FILESDIR}/icinga2-boost-1.89.patch" +) + +src_configure() { + local mycmakeargs=( + -DICINGA2_UNITY_BUILD=$(usex jumbo-build) + -DCMAKE_INSTALL_SYSCONFDIR=/etc + -DCMAKE_INSTALL_LOCALSTATEDIR=/var + -DICINGA2_SYSCONFIGFILE=/etc/conf.d/icinga2 + -DICINGA2_PLUGINDIR="/usr/$(get_libdir)/nagios/plugins" + -DICINGA2_USER=icinga + -DICINGA2_GROUP=icingacmd + -DICINGA2_COMMAND_GROUP=icingacmd + -DICINGA2_RUNDIR=/run + -DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=ON + -DUSE_SYSTEMD=$(usex systemd) + -DICINGA2_WITH_TESTS=$(usex test) + -DLOGROTATE_HAS_SU=ON + # only appends -flto + -DICINGA2_LTO_BUILD=OFF + ) + + # default to off if minimal, allow the flags to be set otherwise + if use minimal; then + mycmakeargs+=( + -DICINGA2_WITH_MYSQL=OFF + -DICINGA2_WITH_PGSQL=OFF + ) + else + mycmakeargs+=( + -DICINGA2_WITH_PGSQL=$(usex postgres) + -DICINGA2_WITH_MYSQL=$(usex mysql yes $(usex mariadb)) + ) + fi + + cmake_src_configure +} + +src_install() { + cmake_src_install + + newinitd "${FILESDIR}"/icinga2.initd-3 icinga2 + + if use mysql || use mariadb; then + docinto schema + newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/mysql.sql mysql.sql + docinto schema/upgrade + dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/upgrade/* + fi + if use postgres; then + docinto schema + newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/pgsql.sql pgsql.sql + docinto schema/upgrade + dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/upgrade/* + fi + + # See messiness in bug #638686 + keepdir /etc/icinga2 + keepdir /var/lib/icinga2/api/log + keepdir /var/lib/icinga2/api/repository + keepdir /var/lib/icinga2/api/zones + keepdir /var/lib/icinga2/api/zones-stage + keepdir /var/lib/icinga2/certificate-requests + keepdir /var/lib/icinga2/certs + keepdir /var/log/icinga2 + keepdir /var/log/icinga2/compat + keepdir /var/log/icinga2/compat/archives + keepdir /var/log/icinga2/crash + keepdir /var/spool/icinga2/perfdata + keepdir /var/spool/icinga2/tmp + + rm -r "${D}/run" || die "failed to remove /run" + rm -r "${D}/var/cache" || die "failed to remove /var/cache" + + fowners -R icinga:icinga /etc/icinga2 + fperms 0750 /etc/icinga2 + fowners icinga:icinga /var/lib/icinga2 + fowners -R icinga:icingacmd /var/lib/icinga2/api + fowners -R icinga:icingacmd /var/lib/icinga2/certificate-requests + fowners -R icinga:icingacmd /var/lib/icinga2/certs + fowners icinga:icinga /var/spool/icinga2 + fowners icinga:icinga /var/spool/icinga2/perfdata + fowners icinga:icingacmd /var/log/icinga2 + + fperms ug+rwX,o-rwx /etc/icinga2 + fperms ug+rwX,o-rwx /var/lib/icinga2 + fperms ug+rwX,o-rwx /var/spool/icinga2 + fperms ug+rwX,o-rwx /var/log/icinga2 + + insinto /usr/share/vim/vimfiles + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/ftdetect + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/syntax + + insinto /usr/share/nano + doins "${WORKDIR}"/${P}/tools/syntax/nano/icinga2.nanorc +} + +pkg_postinst() { + if [[ "${PV}" != 9999 ]] && ver_replacing -lt "${PV}"; then + elog "DB IDO schema upgrade may be required." + elog "https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/" + fi +} diff --git a/net-analyzer/icinga2/icinga2-2.16.0.ebuild b/net-analyzer/icinga2/icinga2-2.16.0.ebuild index 22807a1d54f3..bc8191bb60be 100644 --- a/net-analyzer/icinga2/icinga2-2.16.0.ebuild +++ b/net-analyzer/icinga2/icinga2-2.16.0.ebuild @@ -1,48 +1,57 @@ -# Copyright 2021-2026 Liguros Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 -inherit cmake systemd +inherit cmake eapi9-ver + +# https://bugs.gentoo.org/960527#c9 +CMAKE_QA_COMPAT_SKIP=1 + +if [[ ${PV} != 9999 ]]; then + SRC_URI="https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +else + inherit git-r3 + EGIT_REPO_URI="https://github.com/Icinga/icinga2.git" +fi -KEYWORDS="amd64 ~arm64 x86" DESCRIPTION="Distributed, general purpose, network monitoring engine" HOMEPAGE="https://icinga.com/" -SRC_URI=" - https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> ${P}.tar.gz -" LICENSE="GPL-2" SLOT="0" -IUSE="console jumbo-build lto mail mariadb minimal nano-syntax +plugins postgres systemd +vim-syntax" +IUSE="console jumbo-build mail mariadb minimal +mysql opentelemetry +plugins postgres systemd test" +RESTRICT="!test? ( test )" # Add accounts to DEPEND because of fowners in src_install DEPEND=" - dev-libs/openssl:0= - + dev-libs/openssl:= dev-libs/boost:=[context] console? ( dev-libs/libedit ) - mariadb? ( - dev-db/mariadb - dev-db/mariadb-connector-c:= - ) + mariadb? ( dev-db/mariadb-connector-c:= ) + mysql? ( dev-db/mysql-connector-c:= ) postgres? ( dev-db/postgresql:= ) dev-libs/yajl:= acct-user/icinga acct-group/icinga - acct-group/icingacmd" + acct-group/icingacmd +" BDEPEND=" - sys-devel/bison - >=sys-devel/flex-2.5.35" + app-alternatives/yacc + app-alternatives/lex +" RDEPEND=" ${DEPEND} + acct-group/nagios plugins? ( || ( net-analyzer/monitoring-plugins net-analyzer/nagios-plugins ) ) mail? ( virtual/mailx ) - acct-group/nagios" +" -REQUIRED_USE="!minimal? ( || ( mariadb postgres ) )" +REQUIRED_USE="!minimal? ( || ( mariadb mysql postgres ) )" src_configure() { local mycmakeargs=( @@ -55,11 +64,15 @@ src_configure() { -DICINGA2_GROUP=icingacmd -DICINGA2_COMMAND_GROUP=icingacmd -DICINGA2_RUNDIR=/run + -DICINGA2_WITH_OPENTELEMETRY=$(usex opentelemetry) -DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=ON -DUSE_SYSTEMD=$(usex systemd) + -DBUILD_TESTING=$(usex test) -DLOGROTATE_HAS_SU=ON - -DICINGA2_LTO_BUILD=$(usex lto) + # only appends -flto + -DICINGA2_LTO_BUILD=OFF ) + # default to off if minimal, allow the flags to be set otherwise if use minimal; then mycmakeargs+=( @@ -69,7 +82,7 @@ src_configure() { else mycmakeargs+=( -DICINGA2_WITH_PGSQL=$(usex postgres) - -DICINGA2_WITH_MYSQL=$(usex mariadb yes $(usex mariadb)) + -DICINGA2_WITH_MYSQL=$(usex mysql yes $(usex mariadb)) ) fi @@ -81,7 +94,7 @@ src_install() { newinitd "${FILESDIR}"/icinga2.initd-3 icinga2 - if use mariadb; then + if use mysql || use mariadb; then docinto schema newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/mysql.sql mysql.sql docinto schema/upgrade @@ -94,11 +107,20 @@ src_install() { dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/upgrade/* fi + # See messiness in bug #638686 keepdir /etc/icinga2 - keepdir /var/lib/icinga2/api/zones - keepdir /var/lib/icinga2/api/repository keepdir /var/lib/icinga2/api/log + keepdir /var/lib/icinga2/api/repository + keepdir /var/lib/icinga2/api/zones + keepdir /var/lib/icinga2/api/zones-stage + keepdir /var/lib/icinga2/certificate-requests + keepdir /var/lib/icinga2/certs + keepdir /var/log/icinga2 + keepdir /var/log/icinga2/compat + keepdir /var/log/icinga2/compat/archives + keepdir /var/log/icinga2/crash keepdir /var/spool/icinga2/perfdata + keepdir /var/spool/icinga2/tmp rm -r "${D}/run" || die "failed to remove /run" rm -r "${D}/var/cache" || die "failed to remove /var/cache" @@ -118,26 +140,17 @@ src_install() { fperms ug+rwX,o-rwx /var/spool/icinga2 fperms ug+rwX,o-rwx /var/log/icinga2 - if use vim-syntax; then - insinto /usr/share/vim/vimfiles - doins -r "${WORKDIR}"/${P}/tools/syntax/vim/ftdetect - doins -r "${WORKDIR}"/${P}/tools/syntax/vim/syntax - fi + insinto /usr/share/vim/vimfiles + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/ftdetect + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/syntax - if use nano-syntax; then - insinto /usr/share/nano - doins "${WORKDIR}"/${P}/tools/syntax/nano/icinga2.nanorc - fi + insinto /usr/share/nano + doins "${WORKDIR}"/${P}/tools/syntax/nano/icinga2.nanorc } pkg_postinst() { - if [[ "${PV}" != 9999 ]]; then - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${PV}" -gt "${v}"; then - elog "DB IDO schema upgrade may be required." - elog "https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/" - fi - done + if [[ "${PV}" != 9999 ]] && ver_replacing -lt "${PV}"; then + elog "DB IDO schema upgrade may be required." + elog "https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/" fi } diff --git a/net-analyzer/icinga2/icinga2-2.16.1.ebuild b/net-analyzer/icinga2/icinga2-9999.ebuild index 22807a1d54f3..99745d7b4483 100644 --- a/net-analyzer/icinga2/icinga2-2.16.1.ebuild +++ b/net-analyzer/icinga2/icinga2-9999.ebuild @@ -1,48 +1,53 @@ -# Copyright 2021-2026 Liguros Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 -inherit cmake systemd +inherit cmake eapi9-ver + +if [[ ${PV} != 9999 ]]; then + SRC_URI="https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +else + inherit git-r3 + EGIT_REPO_URI="https://github.com/Icinga/icinga2.git" +fi -KEYWORDS="amd64 ~arm64 x86" DESCRIPTION="Distributed, general purpose, network monitoring engine" HOMEPAGE="https://icinga.com/" -SRC_URI=" - https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> ${P}.tar.gz -" LICENSE="GPL-2" SLOT="0" -IUSE="console jumbo-build lto mail mariadb minimal nano-syntax +plugins postgres systemd +vim-syntax" +IUSE="console jumbo-build mail mariadb minimal +mysql opentelemetry +plugins postgres systemd" # Add accounts to DEPEND because of fowners in src_install DEPEND=" - dev-libs/openssl:0= - + dev-libs/openssl:= dev-libs/boost:=[context] console? ( dev-libs/libedit ) - mariadb? ( - dev-db/mariadb - dev-db/mariadb-connector-c:= - ) + mariadb? ( dev-db/mariadb-connector-c:= ) + mysql? ( dev-db/mysql-connector-c:= ) postgres? ( dev-db/postgresql:= ) dev-libs/yajl:= acct-user/icinga acct-group/icinga - acct-group/icingacmd" + acct-group/icingacmd +" BDEPEND=" - sys-devel/bison - >=sys-devel/flex-2.5.35" + app-alternatives/yacc + app-alternatives/lex +" RDEPEND=" ${DEPEND} + acct-group/nagios plugins? ( || ( net-analyzer/monitoring-plugins net-analyzer/nagios-plugins ) ) mail? ( virtual/mailx ) - acct-group/nagios" +" -REQUIRED_USE="!minimal? ( || ( mariadb postgres ) )" +REQUIRED_USE="!minimal? ( || ( mariadb mysql postgres ) )" src_configure() { local mycmakeargs=( @@ -55,11 +60,14 @@ src_configure() { -DICINGA2_GROUP=icingacmd -DICINGA2_COMMAND_GROUP=icingacmd -DICINGA2_RUNDIR=/run + -DICINGA2_WITH_OPENTELEMETRY=$(usex opentelemetry) -DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=ON -DUSE_SYSTEMD=$(usex systemd) -DLOGROTATE_HAS_SU=ON - -DICINGA2_LTO_BUILD=$(usex lto) + # only appends -flto + -DICINGA2_LTO_BUILD=OFF ) + # default to off if minimal, allow the flags to be set otherwise if use minimal; then mycmakeargs+=( @@ -69,7 +77,7 @@ src_configure() { else mycmakeargs+=( -DICINGA2_WITH_PGSQL=$(usex postgres) - -DICINGA2_WITH_MYSQL=$(usex mariadb yes $(usex mariadb)) + -DICINGA2_WITH_MYSQL=$(usex mysql yes $(usex mariadb)) ) fi @@ -81,7 +89,7 @@ src_install() { newinitd "${FILESDIR}"/icinga2.initd-3 icinga2 - if use mariadb; then + if use mysql || use mariadb; then docinto schema newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/mysql.sql mysql.sql docinto schema/upgrade @@ -94,11 +102,20 @@ src_install() { dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/upgrade/* fi + # See messiness in bug #638686 keepdir /etc/icinga2 - keepdir /var/lib/icinga2/api/zones - keepdir /var/lib/icinga2/api/repository keepdir /var/lib/icinga2/api/log + keepdir /var/lib/icinga2/api/repository + keepdir /var/lib/icinga2/api/zones + keepdir /var/lib/icinga2/api/zones-stage + keepdir /var/lib/icinga2/certificate-requests + keepdir /var/lib/icinga2/certs + keepdir /var/log/icinga2 + keepdir /var/log/icinga2/compat + keepdir /var/log/icinga2/compat/archives + keepdir /var/log/icinga2/crash keepdir /var/spool/icinga2/perfdata + keepdir /var/spool/icinga2/tmp rm -r "${D}/run" || die "failed to remove /run" rm -r "${D}/var/cache" || die "failed to remove /var/cache" @@ -118,26 +135,17 @@ src_install() { fperms ug+rwX,o-rwx /var/spool/icinga2 fperms ug+rwX,o-rwx /var/log/icinga2 - if use vim-syntax; then - insinto /usr/share/vim/vimfiles - doins -r "${WORKDIR}"/${P}/tools/syntax/vim/ftdetect - doins -r "${WORKDIR}"/${P}/tools/syntax/vim/syntax - fi + insinto /usr/share/vim/vimfiles + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/ftdetect + doins -r "${WORKDIR}"/${P}/tools/syntax/vim/syntax - if use nano-syntax; then - insinto /usr/share/nano - doins "${WORKDIR}"/${P}/tools/syntax/nano/icinga2.nanorc - fi + insinto /usr/share/nano + doins "${WORKDIR}"/${P}/tools/syntax/nano/icinga2.nanorc } pkg_postinst() { - if [[ "${PV}" != 9999 ]]; then - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${PV}" -gt "${v}"; then - elog "DB IDO schema upgrade may be required." - elog "https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/" - fi - done + if [[ "${PV}" != 9999 ]] && ver_replacing -lt "${PV}"; then + elog "DB IDO schema upgrade may be required." + elog "https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/" fi } diff --git a/net-analyzer/icinga2/metadata.xml b/net-analyzer/icinga2/metadata.xml index 7acc4a3764d7..02f522269c42 100644 --- a/net-analyzer/icinga2/metadata.xml +++ b/net-analyzer/icinga2/metadata.xml @@ -1,24 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> <maintainer type="person"> <email>prometheanfire@gentoo.org</email> <name>Matthew Thode</name> </maintainer> - <upstream> - <remote-id type="cpe">cpe:/a:icinga:icinga</remote-id> - </upstream> <use> <flag name="console">Adds support for line-editing in the console</flag> - <flag name="lto">Adds support for link time optimization</flag> <flag name="jumbo-build">Combine source files to speed up build process, requires more memory</flag> <flag name="mail">Allows for mailing of alerts</flag> <flag name="mariadb">Enable support for the mariadb database backend</flag> - <flag name="nano-syntax">Adds support for syntax used in the nano editor</flag> <flag name="plugins">Adds support for nagios plugins</flag> </use> <origin>baldeagleos-repo</origin> diff --git a/net-analyzer/ike-scan/Manifest b/net-analyzer/ike-scan/Manifest index adfb9c5d9279..992eb7171b88 100644 --- a/net-analyzer/ike-scan/Manifest +++ b/net-analyzer/ike-scan/Manifest @@ -1,2 +1 @@ -DIST ike-scan-1.9.4.tar.gz 1360202 BLAKE2B abe206b22a23a6d4eaa2218204657d6c47f22ac8009df1f1e7918fbb55575033f237462ed57ba89aee8bed28e47a4dacf69e443dac5cd3b506842e26e71f97e9 SHA512 d7dde6d3d76a2e3ddeb9ed1f0dee3e2c3a13d4afa57ebb8ff19f6af094f7334b464509cee6ffc385d2703bcf9bc1c503bc604506279518f692f82c8f12f146be DIST ike-scan-1.9.5.tar.gz 1542264 BLAKE2B 3095c2929c7f24da43852402a3e5cfe73dd65100773283ef08b791784be2e2f04bba24843469e407695a027e76e1e0aa18effabc210643414677a35df7f2614c SHA512 5eb98e41c639bc30996041f4e759a6ada7f4baa5b8102992ac2313ed8ff51032d877b116bc24972e0ecd652290849aa67a63523d92ee63af6577112350ee5590 diff --git a/net-analyzer/ike-scan/files/ike-scan-1.9.5-clang-16.patch b/net-analyzer/ike-scan/files/ike-scan-1.9.5-clang-16.patch index c4aec2836ba0..31ab6da26398 100644 --- a/net-analyzer/ike-scan/files/ike-scan-1.9.5-clang-16.patch +++ b/net-analyzer/ike-scan/files/ike-scan-1.9.5-clang-16.patch @@ -1,14 +1,22 @@ https://github.com/royhills/ike-scan/pull/39 -From 9949ce4bdf9f4bcb616b2a5d273708a7ea9ee93d Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Mon, 26 Sep 2022 05:22:18 +0100 -Subject: [PATCH 1/3] acinclude.m4: fix -Wimplicit-int errors (Clang 16+ - compat) +Before: +``` +checking whether clang accepts -fstack-protector... yes +checking whether clang accepts -D_FORTIFY_SOURCE... yes +checking whether clang accepts -Wformat-security... no +``` + +After: +``` +checking whether clang accepts -fstack-protector... yes +checking whether clang accepts -Wformat-security... yes +checking whether clang accepts -D_FORTIFY_SOURCE... yes +``` --- a/acinclude.m4 +++ b/acinclude.m4 -@@ -144,7 +144,7 @@ int does_int64_work() +@@ -144,7 +144,7 @@ return 0; return 1; } @@ -17,7 +25,15 @@ Subject: [PATCH 1/3] acinclude.m4: fix -Wimplicit-int errors (Clang 16+ return ! does_int64_work(); }], [Ac_cachevar=yes], -@@ -200,7 +200,7 @@ int does_int64_snprintf_work() +@@ -180,6 +180,7 @@ + AC_CACHE_VAL(pgac_cv_snprintf_long_long_int_format, + [for pgac_format in '%lld' '%qd' '%I64d'; do + AC_TRY_RUN([#include <stdio.h> ++#include <string.h> + typedef long long int int64; + #define INT64_FORMAT "$pgac_format" + +@@ -200,7 +201,7 @@ return 0; /* either multiply or snprintf is busted */ return 1; } @@ -26,18 +42,7 @@ Subject: [PATCH 1/3] acinclude.m4: fix -Wimplicit-int errors (Clang 16+ return ! does_int64_snprintf_work(); }], [pgac_cv_snprintf_long_long_int_format=$pgac_format; break], - -From 6a931ca559a937cb9f7917b9131ec1aca4919683 Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Mon, 26 Sep 2022 05:23:06 +0100 -Subject: [PATCH 2/3] acinclude.m4: fix typo in 'x' if check - -Case doesn't matter but case does need to match on left & right -hand side, so just choose uppercase everywhere to match what -the rest of the file does. ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -278,7 +278,7 @@ dnl in <features.h>. We don't use __GNUC_PREREQ directly because <features.h> +@@ -278,7 +279,7 @@ dnl is not present on all the operating systems that we support, e.g. OpenBSD. dnl AC_DEFUN([GCC_FORTIFY_SOURCE],[ @@ -46,7 +51,7 @@ the rest of the file does. AC_MSG_CHECKING([whether ${CC} accepts -D_FORTIFY_SOURCE]) AC_TRY_COMPILE(,[ #define GNUC_PREREQ(maj, min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -@@ -311,7 +311,7 @@ dnl If it is not supported, then the test program will compile without +@@ -311,7 +312,7 @@ dnl warnings. dnl AC_DEFUN([GCC_FORMAT_SECURITY],[ @@ -55,31 +60,9 @@ the rest of the file does. AC_MSG_CHECKING([whether ${CC} accepts -Wformat-security]) wfs_old_cflags="$CFLAGS" CFLAGS="$CFLAGS -Wall -Werror -Wformat -Wformat-security" - -From fbc40c7b117b523eceb9aa58d6086bde701f1299 Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Sat, 1 Oct 2022 01:24:04 +0100 -Subject: [PATCH 3/3] configure.ac: Fix recognising -Wformat-security with - Clang - -Before: -``` -checking whether clang accepts -fstack-protector... yes -checking whether clang accepts -D_FORTIFY_SOURCE... yes -checking whether clang accepts -Wformat-security... no -``` - -After: -``` -checking whether clang accepts -fstack-protector... yes -checking whether clang accepts -Wformat-security... yes -checking whether clang accepts -D_FORTIFY_SOURCE... yes -``` - -Signed-off-by: Sam James <sam@gentoo.org> --- a/configure.ac +++ b/configure.ac -@@ -34,8 +34,8 @@ if test -n "$GCC"; then +@@ -34,8 +34,8 @@ CFLAGS="$CFLAGS -Wall -Wshadow -Wwrite-strings" GCC_WEXTRA GCC_STACK_PROTECT_CC @@ -89,4 +72,3 @@ Signed-off-by: Sam James <sam@gentoo.org> dnl Uncomment the lines below for testing with stricter warnings. dnl CFLAGS="$CFLAGS -pedantic -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline " dnl Uncomment the line below to check malloc/free with electric fence - diff --git a/net-analyzer/ike-scan/files/ike-scan-1.9.5-musl-getopt.patch b/net-analyzer/ike-scan/files/ike-scan-1.9.5-musl-getopt.patch new file mode 100644 index 000000000000..84dbde003397 --- /dev/null +++ b/net-analyzer/ike-scan/files/ike-scan-1.9.5-musl-getopt.patch @@ -0,0 +1,14 @@ +Minor variations in getopt() output causing musl test failures. +https://bugs.gentoo.org/836575 + +--- a/check-error ++++ b/check-error +@@ -119,7 +119,7 @@ + echo "FAILED" + exit 1 + fi +-grep 'ike-scan: unrecognized option ' $TMPFILE >/dev/null ++grep 'ike-scan: unrecognized option' $TMPFILE >/dev/null + if test $? -ne 0; then + rm -f $TMPFILE + echo "FAILED" diff --git a/net-analyzer/ike-scan/ike-scan-1.9.4.ebuild b/net-analyzer/ike-scan/ike-scan-1.9.4.ebuild deleted file mode 100644 index b322642eb7d8..000000000000 --- a/net-analyzer/ike-scan/ike-scan-1.9.4.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit autotools - -DESCRIPTION="A utility for finding, fingerprinting and testing IKE VPN servers" -HOMEPAGE="https://github.com/royhills/ike-scan/" -SRC_URI="https://github.com/royhills/ike-scan/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc x86" -IUSE=" ssl" - -DEPEND=" - ssl? ( - dev-libs/openssl:0= - - ) -" -RDEPEND=" - ${DEPEND} -" - -src_prepare() { - # Fix buffer overflow, bug #277556 - sed \ - -e "/MAXLINE/s:255:511:g" \ - -i ike-scan.h || die - - default - - eautoreconf -} - -src_configure() { - econf $(use_with ssl openssl) -} - -src_install() { - default - dodoc udp-backoff-fingerprinting-paper.txt -} diff --git a/net-analyzer/ike-scan/ike-scan-1.9.5-r1.ebuild b/net-analyzer/ike-scan/ike-scan-1.9.5-r1.ebuild deleted file mode 100644 index b9b3961c71a9..000000000000 --- a/net-analyzer/ike-scan/ike-scan-1.9.5-r1.ebuild +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 2021-2024 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 -inherit autotools - -DESCRIPTION="A utility for finding, fingerprinting and testing IKE VPN servers" -HOMEPAGE="https://github.com/royhills/ike-scan/" -SRC_URI="https://github.com/royhills/ike-scan/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc x86" -IUSE=" ssl" - -DEPEND=" - ssl? ( - dev-libs/openssl:0= - - ) -" -RDEPEND=" - ${DEPEND} -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.9.5-clang-16.patch - "${FILESDIR}"/${PN}-1.9.5-openssl-libdir.patch -) - -src_prepare() { - # Fix buffer overflow, bug #277556 - sed \ - -e "/MAXLINE/s:255:511:g" \ - -i ike-scan.h || die - - default - - eautoreconf -} - -src_configure() { - econf $(use_with ssl openssl) -} - -src_install() { - default - dodoc udp-backoff-fingerprinting-paper.txt -} diff --git a/net-analyzer/ike-scan/ike-scan-1.9.5.ebuild b/net-analyzer/ike-scan/ike-scan-1.9.5.ebuild index f0ce16f7fc0d..53ff3d12d350 100644 --- a/net-analyzer/ike-scan/ike-scan-1.9.5.ebuild +++ b/net-analyzer/ike-scan/ike-scan-1.9.5.ebuild @@ -1,40 +1,45 @@ -# Copyright 2021 Liguros Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 + inherit autotools DESCRIPTION="A utility for finding, fingerprinting and testing IKE VPN servers" -HOMEPAGE="https://github.com/royhills/ike-scan/" +HOMEPAGE="https://github.com/royhills/ike-scan" SRC_URI="https://github.com/royhills/ike-scan/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~ppc x86" -IUSE=" ssl" +IUSE="ssl" -DEPEND=" - ssl? ( - dev-libs/openssl:0= +DEPEND="ssl? ( dev-libs/openssl:= )" +RDEPEND="${DEPEND}" - ) -" -RDEPEND=" - ${DEPEND} -" +PATCHES=( + "${FILESDIR}"/${PN}-1.9.5-clang-16.patch + "${FILESDIR}"/${PN}-1.9.5-openssl-libdir.patch + "${FILESDIR}"/${PN}-1.9.5-musl-getopt.patch +) src_prepare() { + default + # Fix buffer overflow, bug #277556 sed \ -e "/MAXLINE/s:255:511:g" \ -i ike-scan.h || die - default - eautoreconf } src_configure() { - econf $(use_with ssl openssl) + econf \ + $(use_with ssl openssl "${ESYSROOT}"/usr) + + # bug 945318, remove bundled "getopt.h" + rm getopt.h || die } src_install() { diff --git a/net-analyzer/ike-scan/metadata.xml b/net-analyzer/ike-scan/metadata.xml index ff5303d20a73..def7802554eb 100644 --- a/net-analyzer/ike-scan/metadata.xml +++ b/net-analyzer/ike-scan/metadata.xml @@ -2,10 +2,6 @@ <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <maintainer type="project"> <email>netmon@gentoo.org</email> <name>Gentoo network monitoring and analysis project</name> </maintainer> diff --git a/net-analyzer/munin/Manifest b/net-analyzer/munin/Manifest index 90abfec6da1c..0cfaff703fd3 100644 --- a/net-analyzer/munin/Manifest +++ b/net-analyzer/munin/Manifest @@ -1 +1,2 @@ +DIST munin-2.0.75.tar.gz 2258514 BLAKE2B 689b436913a931c9002757267db236ba4ab1da947552c43ad2b96c2e5b26427499e681d0606d0045cfbbd90b70a69572b8550660a598d672babeba8388feacf5 SHA512 cceb47c27bfb3080980fd6342e805b5b9fecbef7033d6f2a83fe6c78d20f943961c9f1775ef5e464e49c25c9d246606594f2844827b38d34c04016f15dd68613 DIST munin-2.0.76.tar.gz 2258538 BLAKE2B 74d8d055be52f605b2d0f2551328bd425e9550a7dd86740479f7a6efd9a9d8be7a78b4075fe68a9c658981b2089d6277eb51b758fb8ba341c149117457ab4696 SHA512 e43d8f123cb6bf9a1b99dde4fe93440e256b3950ec1f79923998f83b14530bba24dab87ece1d3e7e5bf3afd645eafa6c1055d1119748e76230cfb29136712086 diff --git a/net-analyzer/munin/metadata.xml b/net-analyzer/munin/metadata.xml index fb5d5accdad3..a9cb2e9c7d27 100644 --- a/net-analyzer/munin/metadata.xml +++ b/net-analyzer/munin/metadata.xml @@ -2,17 +2,9 @@ <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <maintainer type="project"> <email>sysadmin@gentoo.org</email> <name>Gentoo Sysadmin Project</name> </maintainer> - <maintainer type="person"> - <email>graaff@gentoo.org</email> - <name>Hans de Graaff</name> - </maintainer> <longdescription lang="en"> Munin the tool surveys all your computers and remembers what it saw. It presents all the information in in graphs through a web interface. Its @@ -23,12 +15,9 @@ "what's different today" when a performance problem crops up. It makes it easy to see how you're doing capacity wise on all limited resources. </longdescription> - <upstream> - <remote-id type="cpe">cpe:/a:munin-monitoring:munin</remote-id> - </upstream> <use> - <flag name="mariadb"> - Install the packages required for monitoring MariaDB. Disabling + <flag name="mysql"> + Install the packages required for monitoring MySQL. Disabling the flag does not remove any plugin files. </flag> <flag name="postgres"> @@ -96,5 +85,8 @@ process the documentation sources. </flag> </use> + <upstream> + <remote-id type="cpe">cpe:/a:munin-monitoring:munin</remote-id> + </upstream> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/net-analyzer/munin/munin-2.0.75.ebuild b/net-analyzer/munin/munin-2.0.75.ebuild new file mode 100644 index 000000000000..3506945a8431 --- /dev/null +++ b/net-analyzer/munin/munin-2.0.75.ebuild @@ -0,0 +1,417 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PATCHSET=1 + +inherit java-pkg-opt-2 systemd tmpfiles + +MY_P=${P/_/-} + +DESCRIPTION="Munin Server Monitoring Tool" +HOMEPAGE="https://munin-monitoring.org/" +SRC_URI=" + https://github.com/munin-monitoring/munin/archive/${PV}.tar.gz -> ${P}.tar.gz + " + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86" +IUSE="asterisk irc java ldap memcached minimal mysql postgres selinux ssl test cgi ipv6 syslog ipmi http dhcpd doc apache2" +REQUIRED_USE="cgi? ( !minimal ) apache2? ( cgi )" +RESTRICT="!test? ( test )" + +# Upstream's listing of required modules is NOT correct! +# Some of the postgres plugins use DBD::Pg, while others call psql directly. +# Some of the mysql plugins use DBD::mysql, while others call mysqladmin directly. +# We replace the original ipmi plugins with the freeipmi_ plugin which at least works. +DEPEND_COM=" + acct-user/munin + acct-user/munin-async + acct-group/munin + dev-lang/perl:=[berkdb] + dev-perl/DBI + dev-perl/File-Copy-Recursive + dev-perl/List-MoreUtils + dev-perl/Log-Log4perl + dev-perl/Net-CIDR + dev-perl/Net-DNS + dev-perl/Net-Netmask + dev-perl/Net-SNMP + dev-perl/Net-Server[ipv6(-)?] + dev-perl/TimeDate + virtual/perl-Digest-MD5 + virtual/perl-Getopt-Long + virtual/perl-MIME-Base64 + virtual/perl-Storable + virtual/perl-Text-Balanced + virtual/perl-Time-HiRes + apache2? ( www-servers/apache[apache2_modules_cgi,apache2_modules_cgid,apache2_modules_rewrite] ) + asterisk? ( dev-perl/Net-Telnet ) + cgi? ( + dev-perl/FCGI + dev-perl/CGI-Fast + ) + dhcpd? ( + >=net-misc/dhcp-3[server] + dev-perl/Net-IP + dev-perl/HTTP-Date + ) + doc? ( dev-python/sphinx ) + http? ( dev-perl/libwww-perl ) + irc? ( dev-perl/Net-IRC ) + ldap? ( dev-perl/perl-ldap ) + kernel_linux? ( sys-process/procps ) + memcached? ( dev-perl/Cache-Memcached ) + mysql? ( + virtual/mysql + dev-perl/Cache-Cache + dev-perl/DBD-mysql + ) + postgres? ( dev-perl/DBD-Pg dev-db/postgresql:* ) + ssl? ( dev-perl/Net-SSLeay ) + syslog? ( virtual/perl-Sys-Syslog ) + !minimal? ( + dev-perl/HTML-Template + dev-perl/IO-Socket-INET6 + dev-perl/URI + >=net-analyzer/rrdtool-1.3[graph,perl] + virtual/ssh + ) + " + +# Keep this seperate, as previous versions have had other deps here +DEPEND="${DEPEND_COM} + dev-perl/Module-Build + java? ( >=virtual/jdk-1.8 ) + test? ( + dev-perl/Test-Deep + dev-perl/Test-Exception + dev-perl/Test-LongString + dev-perl/Test-Differences + dev-perl/Test-MockModule + dev-perl/Test-MockObject + dev-perl/File-Slurp + dev-perl/IO-stringy + dev-perl/IO-Socket-INET6 + )" +RDEPEND="${DEPEND_COM} + app-alternatives/awk + ipmi? ( >=sys-libs/freeipmi-1.1.6-r1 ) + java? ( + >=virtual/jre-1.8:* + || ( net-analyzer/netcat net-analyzer/openbsd-netcat ) + ) + !minimal? ( + virtual/cron + media-fonts/dejavu + ) + selinux? ( sec-policy/selinux-munin )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + echo ${PV} > RELEASE || die + + eapply "${FILESDIR}"/patches/*.patch + + eapply_user + + java-pkg-opt-2_src_prepare +} + +src_configure() { + local cgidir='$(DESTDIR)/usr/libexec/munin/cgi' + use cgi || cgidir="${T}/useless/cgi-bin" + + local cgiuser=$(usex apache2 apache munin) + + cat >> "${S}"/Makefile.config <<- EOF || die + PREFIX=\$(DESTDIR)/usr + CONFDIR=\$(DESTDIR)/etc/munin + DOCDIR=${T}/useless/doc + MANDIR=\$(PREFIX)/share/man + LIBDIR=\$(PREFIX)/libexec/munin + HTMLDIR=\$(DESTDIR)/var/www/localhost/htdocs/munin + CGIDIR=${cgidir} + CGITMPDIR=\$(DESTDIR)/var/cache/munin-cgi + CGIUSER=${cgiuser} + DBDIR=\$(DESTDIR)/var/lib/munin + DBDIRNODE=\$(DESTDIR)/var/lib/munin-node + SPOOLDIR=\$(DESTDIR)/var/spool/munin-async + LOGDIR=\$(DESTDIR)/var/log/munin + PERLLIB=\$(DESTDIR)$(perl -V:vendorlib | cut -d"'" -f2) + JCVALID=$(usex java yes no) + STATEDIR=\$(DESTDIR)/run/munin + EOF +} + +# parallel make and install need to be fixed before, and I haven't +# gotten around to do so yet. +src_compile() { + emake -j1 + use doc && emake -C doc html +} + +src_test() { + if [[ ${EUID} == 0 ]]; then + eerror "You cannot run tests as root." + eerror "Please enable FEATURES=userpriv before proceeding." + return 1 + fi + + local testtargets="test-common test-node test-plugins" + use minimal || testtargets+=" test-master" + + LC_ALL=C emake -j1 ${testtargets} +} + +src_install() { + local cgiuser=$(usex apache2 apache munin) + + local dirs=" + /var/log/munin + /var/lib/munin/plugin-state + /var/lib/munin-node/plugin-state + /var/www/localhost/htdocs/munin + /etc/munin/plugin-conf.d + /etc/munin/plugins" + use minimal || dirs+=" /etc/munin/munin-conf.d/" + + keepdir ${dirs} + fowners munin:munin ${dirs} + + # parallel install doesn't work and it's also pointless to have this + # run in parallel for now (because it uses internal loops). + emake -j1 CHOWN=true DESTDIR="${D}" $(usex minimal "install-minimal install-man" install) + + # we remove /run and /var/cache from the install, as it's not the + # package's to deal with. + rm -rf "${D}"/run "${D}"/var/cache || die + + # remove the plugins for non-Gentoo package managers; use -f so that + # it doesn't fail when installing on non-Linux platforms. + rm -f "${D}"/usr/libexec/munin/plugins/{apt{,_all},yum} || die + + insinto /etc/munin/plugin-conf.d/ + newins "${FILESDIR}"/${PN}-1.3.2-plugins.conf munin-node + + newinitd "${FILESDIR}"/munin-node_init.d_2.0.73 munin-node + newconfd "${FILESDIR}"/munin-node_conf.d_1.4.6-r2 munin-node + + newinitd "${FILESDIR}"/munin-asyncd.init.2 munin-asyncd + + newtmpfiles - ${CATEGORY}:${PN}:${SLOT}.conf <<-EOF || die + d /run/munin 0700 munin munin - - + d /var/cache/munin-cgi 0755 ${cgiuser} munin - - + EOF + + systemd_dounit "${FILESDIR}"/munin-async.service + systemd_dounit "${FILESDIR}"/munin-graph.{service,socket} + systemd_dounit "${FILESDIR}"/munin-html.{service,socket} + systemd_dounit "${FILESDIR}"/munin-node.service + + cat >> "${T}"/munin.env <<- EOF + CONFIG_PROTECT=/var/spool/munin-async/.ssh + EOF + newenvd "${T}"/munin.env 50munin + + dodoc README ChangeLog INSTALL + if use doc; then + cd "${S}"/doc/_build/html || die + docinto html + dodoc -r * + cd "${S}" || die + fi + + dodir /etc/logrotate.d/ + sed -e "s:@CGIUSER@:$(usex apache2 apache munin):g" \ + "${FILESDIR}"/logrotate.d-munin.3 > "${D}"/etc/logrotate.d/munin + + dosym ipmi_ /usr/libexec/munin/plugins/ipmi_sensor_ + + if use syslog; then + sed -i -e '/log_file/s| .*| Sys::Syslog|' \ + "${D}"/etc/munin/munin-node.conf || die + fi + + # Use a simpler pid file to avoid trouble with /run in tmpfs. The + # munin-node service is ran as user root, and only later drops + # privileges. + sed -i -e 's:/run/munin/munin-node.pid:/run/munin-node.pid:' \ + "${D}"/etc/munin/munin-node.conf || die + + keepdir /var/spool/munin-async/.ssh + touch "${D}"/var/spool/munin-async/.ssh/authorized_keys + fowners munin-async:munin /var/spool/munin-async{,/.ssh/{,authorized_keys}} + fperms 0750 /var/spool/munin-async{,/.ssh} + fperms 0600 /var/spool/munin-async/.ssh/authorized_keys + + if use minimal; then + # This requires the presence of munin-update, which is part of + # the non-minimal install... + rm "${D}"/usr/libexec/munin/plugins/munin_stats + else + # remove font files so that we don't have to keep them around + rm "${D}"/usr/libexec/${PN}/*.ttf || die + + if use cgi; then + sed -i -e '/#graph_strategy cgi/s:^#::' "${D}"/etc/munin/munin.conf || die + + touch "${D}"/var/log/munin/munin-cgi-{graph,html}.log + fowners $(usex apache2 apache munin) \ + /var/log/munin/munin-cgi-{graph,html}.log + + if use apache2; then + insinto /etc/apache2/vhosts.d + newins "${FILESDIR}"/munin.apache.include-2.4-r1 munin-2.4.include + fi + else + sed \ + -e '/#graph_strategy cgi/s:#graph_strategy cgi:graph_strategy cron:' \ + -i "${D}"/etc/munin/munin.conf || die + fi + + keepdir /var/lib/munin/.ssh + cat >> "${D}"/var/lib/munin/.ssh/config <<- EOF + IdentityFile /var/lib/munin/.ssh/id_ecdsa + IdentityFile /var/lib/munin/.ssh/id_rsa + EOF + + fowners munin:munin /var/lib/munin/.ssh/{,config} + fperms go-rwx /var/lib/munin/.ssh/{,config} + + dodir /usr/share/${PN} + cat >> "${D}"/usr/share/${PN}/crontab <<- EOF + # Force the shell to bash + SHELL=/bin/bash + # Mail reports to root@, not munin@ + MAILTO=root + + # This runs the munin task every 5 minutes. + */5 * * * * /usr/bin/munin-cron + + # Alternatively, this route works differently + # Update once a minute (for busy sites) + #*/1 * * * * /usr/libexec/munin/munin-update + ## Check for limit excess every 2 minutes + #*/2 * * * * /usr/libexec/munin/munin-limits + ## Update graphs every 5 minutes + #*/5 * * * * nice /usr/libexec/munin/munin-graph + ## Update HTML pages every 15 minutes + #*/15 * * * * nice /usr/libexec/munin/munin-html + EOF + + cat >> "${D}"/usr/share/${PN}/fcrontab <<- EOF + # Mail reports to root@, not munin@, only execute one at a time + !mailto(root),serial(true) + + # This runs the munin task every 5 minutes. + @ 5 /usr/bin/munin-cron + + # Alternatively, this route works differently + # Update once a minute (for busy sites) + #@ 1 /usr/libexec/munin/munin-update + ## Check for limit excess every 2 minutes + #@ 2 /usr/libexec/munin/munin-limits + ## Update graphs every 5 minutes + #@ 5 nice /usr/libexec/munin/munin-graph + ## Update HTML pages every 15 minutes + #@ 15 nice /usr/libexec/munin/munin-html + EOF + + # remove .htaccess file + find "${D}" -name .htaccess -delete || die + fi +} + +pkg_config() { + if use minimal; then + einfo "Nothing to do." + return 0 + fi + + einfo "Press enter to install the default crontab for the munin master" + einfo "installation from /usr/share/${PN}/f?crontab" + einfo "If you have a large site, you may wish to customize it." + read + + ebegin "Setting up cron ..." + if has_version sys-process/fcron; then + fcrontab - -u munin < /usr/share/${PN}/fcrontab + else + # dcron is very fussy about syntax + # the following is the only form that works in BOTH dcron and vixie-cron + crontab - -u munin < /usr/share/${PN}/crontab + fi + eend $? + + einfo "Press enter to set up the SSH keys used for SSH transport" + read + + # generate one rsa (for legacy) and one ecdsa (for new systems) + ssh-keygen -t rsa \ + -f /var/lib/munin/.ssh/id_rsa -N '' \ + -C "created by portage for ${CATEGORY}/${PN}" || die + ssh-keygen -t ecdsa \ + -f /var/lib/munin/.ssh/id_ecdsa -N '' \ + -C "created by portage for ${CATEGORY}/${PN}" || die + chown -R munin:munin /var/lib/munin/.ssh || die + chmod 0600 /var/lib/munin/.ssh/id_{rsa,ecdsa} || die + + einfo "Your public keys are available in " + einfo " /var/lib/munin/.ssh/id_rsa.pub" + einfo " /var/lib/munin/.ssh/id_ecdsa.pub" + einfo "and follows for convenience" + echo + cat /var/lib/munin/.ssh/id_*.pub +} + +pkg_postinst() { + tmpfiles_process ${CATEGORY}:${PN}:${SLOT}.conf + + elog "Please follow the munin documentation to set up the plugins you" + elog "need, afterwards start munin-node." + elog "" + elog "To make use of munin-async, make sure to set up the corresponding" + elog "SSH key in /var/lib/munin-async/.ssh/authorized_keys" + elog "" + if ! use minimal; then + elog "Please run" + elog " emerge --config net-analyzer/munin" + elog "to automatically configure munin's cronjobs as well as generate" + elog "passwordless SSH keys to be used with munin-async." + fi + elog "" + elog "Further information about setting up Munin in Gentoo can be found" + elog "in the Gentoo Wiki: https://wiki.gentoo.org/wiki/Munin" + + if use cgi; then + chown $(usex apache2 apache munin) \ + "${ROOT}"/var/log/munin/munin-cgi-{graph,html}.log + + if use apache2; then + elog "To use Munin with CGI you should include" + elog "/etc/apache2/vhosts.d/munin-2.4.include from the virtual" + elog "host you want it to be served." + elog "If you want to enable CGI-based HTML as well, you have to add to" + elog "/etc/conf.d/apache2 the option -D MUNIN_HTML_CGI." + else + elog "Effective CGI support has just been added in 2.0.7-r6." + elog "Documentation on how to use it is still sparse." + fi + fi + + # we create this here as we don't want Portage to check /run + # symlinks but we still need this to be present before the reboot. + if ! use minimal && ! [[ -d "${ROOT}"/run/munin ]]; then + mkdir "${ROOT}"/run/munin + chown munin:munin "${ROOT}"/run/munin + chmod 0700 "${ROOT}"/run/munin + fi +} diff --git a/net-analyzer/munin/munin-2.0.76-r2.ebuild b/net-analyzer/munin/munin-2.0.76-r2.ebuild new file mode 100644 index 000000000000..3d4f08b69bb1 --- /dev/null +++ b/net-analyzer/munin/munin-2.0.76-r2.ebuild @@ -0,0 +1,418 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PATCHSET=1 + +inherit java-pkg-opt-2 systemd tmpfiles + +MY_P=${P/_/-} + +DESCRIPTION="Munin Server Monitoring Tool" +HOMEPAGE="https://munin-monitoring.org/" +SRC_URI=" + https://github.com/munin-monitoring/munin/archive/${PV}.tar.gz -> ${P}.tar.gz + " + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86" +IUSE="asterisk irc java ldap memcached minimal mysql postgres selinux ssl test cgi ipv6 syslog ipmi http dhcpd doc apache2" +REQUIRED_USE="cgi? ( !minimal ) apache2? ( cgi )" +RESTRICT="!test? ( test )" + +# Upstream's listing of required modules is NOT correct! +# Some of the postgres plugins use DBD::Pg, while others call psql directly. +# Some of the mysql plugins use DBD::mysql, while others call mysqladmin directly. +# We replace the original ipmi plugins with the freeipmi_ plugin which at least works. +DEPEND_COM=" + acct-user/munin + acct-user/munin-async + acct-group/munin + dev-lang/perl:=[berkdb] + dev-perl/DBI + dev-perl/File-Copy-Recursive + dev-perl/List-MoreUtils + dev-perl/Log-Log4perl + dev-perl/Net-CIDR + dev-perl/Net-DNS + dev-perl/Net-Netmask + dev-perl/Net-SNMP + dev-perl/Net-Server[ipv6(-)?] + dev-perl/TimeDate + virtual/perl-Digest-MD5 + virtual/perl-Getopt-Long + virtual/perl-MIME-Base64 + virtual/perl-Storable + virtual/perl-Text-Balanced + virtual/perl-Time-HiRes + apache2? ( www-servers/apache[apache2_modules_cgi,apache2_modules_cgid,apache2_modules_rewrite] ) + asterisk? ( dev-perl/Net-Telnet ) + cgi? ( + dev-perl/FCGI + dev-perl/CGI-Fast + ) + dhcpd? ( + >=net-misc/dhcp-3[server] + dev-perl/Net-IP + dev-perl/HTTP-Date + ) + doc? ( dev-python/sphinx ) + http? ( dev-perl/libwww-perl ) + irc? ( dev-perl/Net-IRC ) + ldap? ( dev-perl/perl-ldap ) + kernel_linux? ( sys-process/procps ) + memcached? ( dev-perl/Cache-Memcached ) + mysql? ( + virtual/mysql + dev-perl/Cache-Cache + dev-perl/DBD-mysql + ) + postgres? ( dev-perl/DBD-Pg dev-db/postgresql:* ) + ssl? ( dev-perl/Net-SSLeay ) + syslog? ( virtual/perl-Sys-Syslog ) + !minimal? ( + dev-perl/HTML-Template + dev-perl/IO-Socket-INET6 + dev-perl/URI + >=net-analyzer/rrdtool-1.3[graph,perl] + virtual/ssh + ) + " + +# Keep this seperate, as previous versions have had other deps here +DEPEND="${DEPEND_COM} + dev-perl/Module-Build + java? ( >=virtual/jdk-1.8 ) + test? ( + dev-perl/Test-Deep + dev-perl/Test-Exception + dev-perl/Test-LongString + dev-perl/Test-Differences + dev-perl/Test-MockModule + dev-perl/Test-MockObject + dev-perl/File-Slurp + dev-perl/IO-stringy + dev-perl/IO-Socket-INET6 + )" +RDEPEND="${DEPEND_COM} + app-alternatives/awk + ipmi? ( >=sys-libs/freeipmi-1.1.6-r1 ) + java? ( + >=virtual/jre-1.8:* + || ( net-analyzer/netcat net-analyzer/openbsd-netcat ) + ) + !minimal? ( + virtual/cron + media-fonts/dejavu + ) + selinux? ( sec-policy/selinux-munin )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + echo ${PV} > RELEASE || die + + eapply "${FILESDIR}"/patches/*.patch + + eapply_user + + java-pkg-opt-2_src_prepare +} + +src_configure() { + local cgidir='$(DESTDIR)/usr/libexec/munin/cgi' + use cgi || cgidir="${T}/useless/cgi-bin" + + local cgiuser=$(usex apache2 apache munin) + + cat >> "${S}"/Makefile.config <<- EOF || die + PREFIX=\$(DESTDIR)/usr + CONFDIR=\$(DESTDIR)/etc/munin + DOCDIR=${T}/useless/doc + MANDIR=\$(PREFIX)/share/man + LIBDIR=\$(PREFIX)/libexec/munin + HTMLDIR=\$(DESTDIR)/var/www/localhost/htdocs/munin + CGIDIR=${cgidir} + CGITMPDIR=\$(DESTDIR)/var/cache/munin-cgi + CGIUSER=${cgiuser} + DBDIR=\$(DESTDIR)/var/lib/munin + DBDIRNODE=\$(DESTDIR)/var/lib/munin-node + SPOOLDIR=\$(DESTDIR)/var/spool/munin-async + LOGDIR=\$(DESTDIR)/var/log/munin + PERLLIB=\$(DESTDIR)$(perl -V:vendorlib | cut -d"'" -f2) + JCVALID=$(usex java yes no) + JFLAGS=-Xlint + STATEDIR=\$(DESTDIR)/run/munin + EOF +} + +# parallel make and install need to be fixed before, and I haven't +# gotten around to do so yet. +src_compile() { + emake -j1 + use doc && emake -C doc html +} + +src_test() { + if [[ ${EUID} == 0 ]]; then + eerror "You cannot run tests as root." + eerror "Please enable FEATURES=userpriv before proceeding." + return 1 + fi + + local testtargets="test-common test-node test-plugins" + use minimal || testtargets+=" test-master" + + LC_ALL=C emake -j1 ${testtargets} +} + +src_install() { + local cgiuser=$(usex apache2 apache munin) + + local dirs=" + /var/log/munin + /var/lib/munin/plugin-state + /var/lib/munin-node/plugin-state + /var/www/localhost/htdocs/munin + /etc/munin/plugin-conf.d + /etc/munin/plugins" + use minimal || dirs+=" /etc/munin/munin-conf.d/" + + keepdir ${dirs} + fowners munin:munin ${dirs} + + # parallel install doesn't work and it's also pointless to have this + # run in parallel for now (because it uses internal loops). + emake -j1 CHOWN=true DESTDIR="${D}" $(usex minimal "install-minimal install-man" install) + + # we remove /run and /var/cache from the install, as it's not the + # package's to deal with. + rm -rf "${D}"/run "${D}"/var/cache || die + + # remove the plugins for non-Gentoo package managers; use -f so that + # it doesn't fail when installing on non-Linux platforms. + rm -f "${D}"/usr/libexec/munin/plugins/{apt{,_all},yum} || die + + insinto /etc/munin/plugin-conf.d/ + newins "${FILESDIR}"/${PN}-1.3.2-plugins.conf munin-node + + newinitd "${FILESDIR}"/munin-node_init.d_2.0.73 munin-node + newconfd "${FILESDIR}"/munin-node_conf.d_1.4.6-r2 munin-node + + newinitd "${FILESDIR}"/munin-asyncd.init.2 munin-asyncd + + newtmpfiles - ${CATEGORY}:${PN}:${SLOT}.conf <<-EOF || die + d /run/munin 0700 munin munin - - + d /var/cache/munin-cgi 0755 ${cgiuser} munin - - + EOF + + systemd_dounit "${FILESDIR}"/munin-async.service + systemd_dounit "${FILESDIR}"/munin-graph.{service,socket} + systemd_dounit "${FILESDIR}"/munin-html.{service,socket} + systemd_dounit "${FILESDIR}"/munin-node.service + + cat >> "${T}"/munin.env <<- EOF + CONFIG_PROTECT=/var/spool/munin-async/.ssh + EOF + newenvd "${T}"/munin.env 50munin + + dodoc README ChangeLog INSTALL + if use doc; then + cd "${S}"/doc/_build/html || die + docinto html + dodoc -r * + cd "${S}" || die + fi + + dodir /etc/logrotate.d/ + sed -e "s:@CGIUSER@:$(usex apache2 apache munin):g" \ + "${FILESDIR}"/logrotate.d-munin.4 > "${D}"/etc/logrotate.d/munin + + dosym ipmi_ /usr/libexec/munin/plugins/ipmi_sensor_ + + if use syslog; then + sed -i -e '/log_file/s| .*| Sys::Syslog|' \ + "${D}"/etc/munin/munin-node.conf || die + fi + + # Use a simpler pid file to avoid trouble with /run in tmpfs. The + # munin-node service is ran as user root, and only later drops + # privileges. + sed -i -e 's:/run/munin/munin-node.pid:/run/munin-node.pid:' \ + "${D}"/etc/munin/munin-node.conf || die + + keepdir /var/spool/munin-async/.ssh + touch "${D}"/var/spool/munin-async/.ssh/authorized_keys + fowners munin-async:munin /var/spool/munin-async{,/.ssh/{,authorized_keys}} + fperms 0750 /var/spool/munin-async{,/.ssh} + fperms 0600 /var/spool/munin-async/.ssh/authorized_keys + + if use minimal; then + # This requires the presence of munin-update, which is part of + # the non-minimal install... + rm "${D}"/usr/libexec/munin/plugins/munin_stats + else + # remove font files so that we don't have to keep them around + rm "${D}"/usr/libexec/${PN}/*.ttf || die + + if use cgi; then + sed -i -e '/#graph_strategy cgi/s:^#::' "${D}"/etc/munin/munin.conf || die + + touch "${D}"/var/log/munin/munin-cgi-{graph,html}.log + fowners $(usex apache2 apache munin) \ + /var/log/munin/munin-cgi-{graph,html}.log + + if use apache2; then + insinto /etc/apache2/vhosts.d + newins "${FILESDIR}"/munin.apache.include-2.4-r1 munin-2.4.include + fi + else + sed \ + -e '/#graph_strategy cgi/s:#graph_strategy cgi:graph_strategy cron:' \ + -i "${D}"/etc/munin/munin.conf || die + fi + + keepdir /var/lib/munin/.ssh + cat >> "${D}"/var/lib/munin/.ssh/config <<- EOF + IdentityFile /var/lib/munin/.ssh/id_ecdsa + IdentityFile /var/lib/munin/.ssh/id_rsa + EOF + + fowners munin:munin /var/lib/munin/.ssh/{,config} + fperms go-rwx /var/lib/munin/.ssh/{,config} + + dodir /usr/share/${PN} + cat >> "${D}"/usr/share/${PN}/crontab <<- EOF + # Force the shell to bash + SHELL=/bin/bash + # Mail reports to root@, not munin@ + MAILTO=root + + # This runs the munin task every 5 minutes. + */5 * * * * /usr/bin/munin-cron + + # Alternatively, this route works differently + # Update once a minute (for busy sites) + #*/1 * * * * /usr/libexec/munin/munin-update + ## Check for limit excess every 2 minutes + #*/2 * * * * /usr/libexec/munin/munin-limits + ## Update graphs every 5 minutes + #*/5 * * * * nice /usr/libexec/munin/munin-graph + ## Update HTML pages every 15 minutes + #*/15 * * * * nice /usr/libexec/munin/munin-html + EOF + + cat >> "${D}"/usr/share/${PN}/fcrontab <<- EOF + # Mail reports to root@, not munin@, only execute one at a time + !mailto(root),serial(true) + + # This runs the munin task every 5 minutes. + @ 5 /usr/bin/munin-cron + + # Alternatively, this route works differently + # Update once a minute (for busy sites) + #@ 1 /usr/libexec/munin/munin-update + ## Check for limit excess every 2 minutes + #@ 2 /usr/libexec/munin/munin-limits + ## Update graphs every 5 minutes + #@ 5 nice /usr/libexec/munin/munin-graph + ## Update HTML pages every 15 minutes + #@ 15 nice /usr/libexec/munin/munin-html + EOF + + # remove .htaccess file + find "${D}" -name .htaccess -delete || die + fi +} + +pkg_config() { + if use minimal; then + einfo "Nothing to do." + return 0 + fi + + einfo "Press enter to install the default crontab for the munin master" + einfo "installation from /usr/share/${PN}/f?crontab" + einfo "If you have a large site, you may wish to customize it." + read + + ebegin "Setting up cron ..." + if has_version sys-process/fcron; then + fcrontab - -u munin < /usr/share/${PN}/fcrontab + else + # dcron is very fussy about syntax + # the following is the only form that works in BOTH dcron and vixie-cron + crontab - -u munin < /usr/share/${PN}/crontab + fi + eend $? + + einfo "Press enter to set up the SSH keys used for SSH transport" + read + + # generate one rsa (for legacy) and one ecdsa (for new systems) + ssh-keygen -t rsa \ + -f /var/lib/munin/.ssh/id_rsa -N '' \ + -C "created by portage for ${CATEGORY}/${PN}" || die + ssh-keygen -t ecdsa \ + -f /var/lib/munin/.ssh/id_ecdsa -N '' \ + -C "created by portage for ${CATEGORY}/${PN}" || die + chown -R munin:munin /var/lib/munin/.ssh || die + chmod 0600 /var/lib/munin/.ssh/id_{rsa,ecdsa} || die + + einfo "Your public keys are available in " + einfo " /var/lib/munin/.ssh/id_rsa.pub" + einfo " /var/lib/munin/.ssh/id_ecdsa.pub" + einfo "and follows for convenience" + echo + cat /var/lib/munin/.ssh/id_*.pub +} + +pkg_postinst() { + tmpfiles_process ${CATEGORY}:${PN}:${SLOT}.conf + + elog "Please follow the munin documentation to set up the plugins you" + elog "need, afterwards start munin-node." + elog "" + elog "To make use of munin-async, make sure to set up the corresponding" + elog "SSH key in /var/lib/munin-async/.ssh/authorized_keys" + elog "" + if ! use minimal; then + elog "Please run" + elog " emerge --config net-analyzer/munin" + elog "to automatically configure munin's cronjobs as well as generate" + elog "passwordless SSH keys to be used with munin-async." + fi + elog "" + elog "Further information about setting up Munin in Gentoo can be found" + elog "in the Gentoo Wiki: https://wiki.gentoo.org/wiki/Munin" + + if use cgi; then + chown $(usex apache2 apache munin) \ + "${ROOT}"/var/log/munin/munin-cgi-{graph,html}.log + + if use apache2; then + elog "To use Munin with CGI you should include" + elog "/etc/apache2/vhosts.d/munin-2.4.include from the virtual" + elog "host you want it to be served." + elog "If you want to enable CGI-based HTML as well, you have to add to" + elog "/etc/conf.d/apache2 the option -D MUNIN_HTML_CGI." + else + elog "Effective CGI support has just been added in 2.0.7-r6." + elog "Documentation on how to use it is still sparse." + fi + fi + + # we create this here as we don't want Portage to check /run + # symlinks but we still need this to be present before the reboot. + if ! use minimal && ! [[ -d "${ROOT}"/run/munin ]]; then + mkdir "${ROOT}"/run/munin + chown munin:munin "${ROOT}"/run/munin + chmod 0700 "${ROOT}"/run/munin + fi +} diff --git a/net-analyzer/munin/munin-2.0.76-r3.ebuild b/net-analyzer/munin/munin-2.0.76-r3.ebuild index a4501c09132f..fcef4b96122f 100644 --- a/net-analyzer/munin/munin-2.0.76-r3.ebuild +++ b/net-analyzer/munin/munin-2.0.76-r3.ebuild @@ -1,5 +1,6 @@ -# Copyright 2025 Liguros Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 PATCHSET=1 @@ -10,12 +11,14 @@ MY_P=${P/_/-} DESCRIPTION="Munin Server Monitoring Tool" HOMEPAGE="https://munin-monitoring.org/" -SRC_URI="https://github.com/munin-monitoring/munin/archive/${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI=" + https://github.com/munin-monitoring/munin/archive/${PV}.tar.gz -> ${P}.tar.gz + " LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86" -IUSE="asterisk irc java ldap memcached minimal mariadb postgres selinux ssl test cgi ipv6 syslog ipmi http dhcpd doc apache2" +KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86" +IUSE="asterisk irc java ldap memcached minimal mysql postgres selinux ssl test cgi ipv6 syslog ipmi http dhcpd doc apache2" REQUIRED_USE="cgi? ( !minimal ) apache2? ( cgi )" # Upstream's listing of required modules is NOT correct! @@ -60,10 +63,10 @@ DEPEND_COM=" ldap? ( dev-perl/perl-ldap ) kernel_linux? ( sys-process/procps ) memcached? ( dev-perl/Cache-Memcached ) - mariadb? ( - dev-db/mariadb + mysql? ( + virtual/mysql dev-perl/Cache-Cache - dev-perl/DBD-MariaDB + dev-perl/DBD-mysql ) postgres? ( dev-perl/DBD-Pg dev-db/postgresql:* ) ssl? ( dev-perl/Net-SSLeay ) diff --git a/net-analyzer/nagios-plugins/Manifest b/net-analyzer/nagios-plugins/Manifest index 98cb3480cebf..5b26e509708a 100644 --- a/net-analyzer/nagios-plugins/Manifest +++ b/net-analyzer/nagios-plugins/Manifest @@ -1,2 +1 @@ -DIST nagios-plugins-2.4.12.tar.gz 2096975 BLAKE2B 6170bc458a5e5bdb21fcc6a7f08155d5c046c4f06737cee2e72be8434a4b07196dcae801149970900e1546e543752e0c62138799bfe38d04056efb3788d4f9a2 SHA512 c62f245c8312867538d8f7ded60a397dda0629fc544dfb1a14c0b805e71fe41a30a54b596e32834b56b4cb1777eb075412899f8f91e5a03dce4e568f45381c3d -DIST nagios-plugins-2.5.tar.gz 2097325 BLAKE2B d868e443b987b63412a622274f2d178e210f6f4b68c005846ee97c4806abd38143426e6c67e2998f0ab33ebf85ad74d4037b49d36eba9fd6d9907029458d0524 SHA512 7fff7fc555d2735de9d2c9a9e1ee60322a54083e77a7689c9d6ca67d3158ab1dfaf54344531f6744b81229b0c9bf2f46c870c5ae5e5e20d0b27b6c1fecef8b0b +DIST nagios-plugins-2.4.12.tar.gz 2752829 BLAKE2B b72b9350e9c72c9cbe0cbca3effce16ec753887945455a1ac47975105e68f516923020cc88ee42da0c8cd815fe841a82ff5053c3ba5688888bec7be12c08fb8c SHA512 fbff697d0cea1cbeb83737f240a42c00e18bf443b8af303b5d7f7f735eb6faa5305d8740fb27472876dc1398735204e0d7a0e5863c2064ec2a37541253f91502 diff --git a/net-analyzer/nagios-plugins/files/define-own-mysql-port-constant.patch b/net-analyzer/nagios-plugins/files/define-own-mysql-port-constant.patch deleted file mode 100644 index 67bc65cad880..000000000000 --- a/net-analyzer/nagios-plugins/files/define-own-mysql-port-constant.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 43ff2e8607c0b7095c2a4dcab6e466bc67e2e2ff Mon Sep 17 00:00:00 2001 -From: Michael Orlitzky <michael@orlitzky.com> -Date: Thu, 26 Oct 2017 15:01:17 -0400 -Subject: [PATCH 1/3] plugins/check_mysql*.c: define our own default MySQL - port. - -The MYSQL_PORT constant used to be defined in mysql.h, and was used as -the default port in the two plugins check_mysql and check_mysql_query. -Now that mysql.h no longer defines that constant, our plugins fail to -build against newer versions of MySQL and MariaDB. - -Since MYSQL_PORT used the "default port" on the local system, it -actually was not the best choice as the default for the check plugins: -when monitoring remote MySQL servers, the usual default of 3306 is -more likely to be correct than whatever the local server happens to be -listening on. - -As a result, we fix the issue by defining our own constant, called -CHECK_PORT_DEFAULT, as "3306" at the top of both check_mysql.c and -check_mysql_query.c. The existing uses of MYSQL_PORT have been changed -to use the new CHECK_PORT_DEFAULT. - -This change is backwards-incompatible: any users who compiled in a -MYSQL_PORT other than 3306 and who were running their checks on the -same server as the database will now need to specify that port -explicitly. - -Closes: https://github.com/nagios-plugins/nagios-plugins/issues/288 ---- - plugins/check_mysql.c | 7 +++++-- - plugins/check_mysql_query.c | 7 +++++-- - 2 files changed, 10 insertions(+), 4 deletions(-) - -diff --git a/plugins/check_mysql.c b/plugins/check_mysql.c -index 83f89c85..c0b61292 100644 ---- a/plugins/check_mysql.c -+++ b/plugins/check_mysql.c -@@ -36,6 +36,9 @@ const char *email = "devel@nagios-plugins.org"; - - #define SLAVERESULTSIZE 70 - -+/* The default port that MySQL servers listen on. */ -+#define CHECK_PORT_DEFAULT 3306 -+ - #include "common.h" - #include "utils.h" - #include "utils_base.h" -@@ -58,7 +61,7 @@ char *ciphers = NULL; - bool ssl = false; - char *opt_file = NULL; - char *opt_group = NULL; --unsigned int db_port = MYSQL_PORT; -+unsigned int db_port = CHECK_PORT_DEFAULT; - int check_slave = 0, warn_sec = 0, crit_sec = 0; - int ignore_auth = 0; - int verbose = 0; -@@ -505,7 +508,7 @@ void - print_help (void) - { - char *myport; -- xasprintf (&myport, "%d", MYSQL_PORT); -+ xasprintf (&myport, "%d", CHECK_PORT_DEFAULT); - - print_revision (progname, NP_VERSION); - -diff --git a/plugins/check_mysql_query.c b/plugins/check_mysql_query.c -index 436e0685..e9c3acfb 100644 ---- a/plugins/check_mysql_query.c -+++ b/plugins/check_mysql_query.c -@@ -33,6 +33,9 @@ const char *progname = "check_mysql_query"; - const char *copyright = "1999-2014"; - const char *email = "devel@nagios-plugins.org"; - -+/* The default port that MySQL servers listen on. */ -+#define CHECK_PORT_DEFAULT 3306 -+ - #include "common.h" - #include "utils.h" - #include "utils_base.h" -@@ -48,7 +51,7 @@ char *db_pass = NULL; - char *db = NULL; - char *opt_file = NULL; - char *opt_group = NULL; --unsigned int db_port = MYSQL_PORT; -+unsigned int db_port = CHECK_PORT_DEFAULT; - - int process_arguments (int, char **); - int validate_arguments (void); -@@ -300,7 +303,7 @@ void - print_help (void) - { - char *myport; -- xasprintf (&myport, "%d", MYSQL_PORT); -+ xasprintf (&myport, "%d", CHECK_PORT_DEFAULT); - - print_revision (progname, NP_VERSION); - --- -2.13.6 - diff --git a/net-analyzer/nagios-plugins/files/nagios-plugins-0002-Remove-assignment-of-not-parsed-to-jitter.patch b/net-analyzer/nagios-plugins/files/nagios-plugins-0002-Remove-assignment-of-not-parsed-to-jitter.patch deleted file mode 100644 index 53579ebf694b..000000000000 --- a/net-analyzer/nagios-plugins/files/nagios-plugins-0002-Remove-assignment-of-not-parsed-to-jitter.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up ./plugins-scripts/check_ntp.pl.not_parsed ./plugins-scripts/check_ntp.pl ---- ./plugins-scripts/check_ntp.pl.not_parsed 2017-01-16 12:24:03.000000000 -0500 -+++ ./plugins-scripts/check_ntp.pl 2017-07-12 15:29:20.311215673 -0400 -@@ -314,7 +314,6 @@ if ($have_ntpq) { - } - } else { - print "No match!\n" if $verbose; -- $jitter = '(not parsed)'; - } - - } diff --git a/net-analyzer/nagios-plugins/files/nagios-plugins-0007-Fix-the-use-lib-statement-and-the-external-ntp-comma.patch b/net-analyzer/nagios-plugins/files/nagios-plugins-0007-Fix-the-use-lib-statement-and-the-external-ntp-comma.patch deleted file mode 100644 index 1d96cf961300..000000000000 --- a/net-analyzer/nagios-plugins/files/nagios-plugins-0007-Fix-the-use-lib-statement-and-the-external-ntp-comma.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up ./plugins-scripts/utils.pm.in.ext_ntp_cmds ./plugins-scripts/utils.pm.in ---- ./plugins-scripts/utils.pm.in.ext_ntp_cmds 2017-01-16 12:24:03.000000000 -0500 -+++ ./plugins-scripts/utils.pm.in 2017-07-12 15:31:06.154120875 -0400 -@@ -23,6 +23,9 @@ $PATH_TO_LMSTAT = "@PATH_TO_LMSTAT@" ; - $PATH_TO_SMBCLIENT = "@PATH_TO_SMBCLIENT@" ; - $PATH_TO_MAILQ = "@PATH_TO_MAILQ@"; - $PATH_TO_QMAIL_QSTAT = "@PATH_TO_QMAIL_QSTAT@"; -+# Hardcoded values (autotools patch will be provided to the uptream project) -+$PATH_TO_NTPDATE = "/usr/sbin/ntpdate"; -+$PATH_TO_NTPQ = "/usr/sbin/ntpq"; - - ## common variables - $TIMEOUT = 15; diff --git a/net-analyzer/nagios-plugins/files/nagios-plugins-0012-fix-perl-ntp-ipv6.patch b/net-analyzer/nagios-plugins/files/nagios-plugins-0012-fix-perl-ntp-ipv6.patch deleted file mode 100644 index 871091a89669..000000000000 --- a/net-analyzer/nagios-plugins/files/nagios-plugins-0012-fix-perl-ntp-ipv6.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up ./plugins-scripts/check_ntp.pl.fix_ipv6 ./plugins-scripts/check_ntp.pl ---- ./plugins-scripts/check_ntp.pl.fix_ipv6 2019-08-29 21:07:13.497504795 +0000 -+++ ./plugins-scripts/check_ntp.pl 2019-08-29 21:11:48.626816686 +0000 -@@ -112,13 +112,23 @@ if (defined $opt_j || defined $opt_k ) { - } - - $opt_H = shift unless ($opt_H); --my $host = $1 if ($opt_H && $opt_H =~ m/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[a-zA-Z][-a-zA-Z0-9]+(\.[a-zA-Z][-a-zA-Z0-9]+)*)$/); -+ -+## From https://bugzilla.redhat.com/show_bug.cgi?id=1731468 -+my $host = $opt_H if ($opt_H && -+ ($opt_H =~ m/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/ || # IPv4 -+ $opt_H =~ m/^([0-9a-f]{1,4}:){7}([0-9a-f]{1,4})$/i || # IPv6 without :: -+ $opt_H =~ m/^:(:[0-9a-f]{1,4})+$/i || # IPv6 with leading :: -+ $opt_H =~ m/^([0-9a-f]{1,4}:)+:$/i || # IPv6 with trailing :: -+ $opt_H =~ m/^([0-9a-f]{1,4}:)+(:[0-9a-f]{1,4})+$/i || # IPv6 with middle :: -+ $opt_H =~ m/^[a-z0-9][-a-z0-9]*(\.[a-z0-9][-a-z0-9]*)*$/)); # hostnames -+ - unless ($host) { - print "No target host specified\n"; - print_usage(); - exit $ERRORS{'UNKNOWN'}; - } - -+ - my ($timeout, $owarn, $ocrit, $jwarn, $jcrit); - - $timeout = $TIMEOUT; diff --git a/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-postgresql-detection.patch b/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-postgresql-detection.patch new file mode 100644 index 000000000000..570b0992bf7e --- /dev/null +++ b/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-postgresql-detection.patch @@ -0,0 +1,143 @@ +From be90a1d9ae5b5e10015619271337e3a2c731b3bb Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 7 Sep 2024 19:51:27 -0400 +Subject: [PATCH] configure.ac: rewrite PostgreSQL detection using pg_config + +PostgreSQL installs a pg_config program that spits out its "include" +and "library" paths when called with --includedir and --libdir, +respectively. Using this we can simplify the detection of PostgreSQL, +since in theory the problem is reduced to that of finding pg_config. + +This commit replaces the existing PostgreSQL detection with a more +straightforward search for pg_config. The change is backwards- +compatible, in the sense that --with-pgsql=foo will still find the +postgres installation in "foo," except now it will do so through +foo/bin/pg_config rather than foo/include and foo/lib. + +This solves a rare problem: on systems where only one version of +postgres is allowed, or on systems where multiple versions exist but a +"default" version can be chosen, the most likely path for postgres is +--with-pgsql=/usr. With the current implementation, this leads to +"-I/usr/include" being added to CPPFLAGS, which is fine, and +"-L/usr/lib" being added to LDFLAGS, which is not. On some of those +same systems, /usr/lib is for 32-bit libraries while /usr/lib64 is the +"normal" (64-bit) library path. So as a result of detecting postgres +under /usr, the linker is pointed to the wrong set of libraries. This +is known to crash lld (the LLVM linker). +--- + configure.ac | 100 ++++++++++++++++++++++++++------------------------- + 1 file changed, 52 insertions(+), 48 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b67a7805..c69246c0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -209,56 +209,60 @@ if test "$enable_extra_opts" = "yes" ; then + fi + fi + +-dnl Check for PostgreSQL libraries +-_SAVEDLIBS="$LIBS" +-_SAVEDCPPFLAGS="$CPPFLAGS" ++dnl Check for PostgreSQL libraries. Postgres ships a pg_config program ++dnl that gives us the -I and -L flags we need, so the problem is reduced ++dnl to finding pg_config. When the user passes --with-pgsql=foo, we expect ++dnl that "foo" is something like /usr/lib64/postgresql-16, i.e. that we ++dnl can locate "bin/pg_config" there. This supports choosing one particular ++dnl version of postgres when multiple versions are installed. If the "foo" ++dnl argument is omitted, we instead use whatever pg_config (if any) is present ++dnl on the PATH. It is an error to request postgres support when no usable ++dnl pg_config is provided and one cannot be found. + AC_ARG_WITH(pgsql, + ACX_HELP_STRING([--with-pgsql=DIR], +- [sets path to pgsql installation]), +- PGSQL=$withval,) +-AC_CHECK_LIB(crypt,main) +-if test "$ac_cv_lib_crypt_main" = "yes" -a "x$PGSQL" != "xno"; then +- if test -n "$PGSQL"; then +- LDFLAGS="$LDFLAGS -L$PGSQL/lib" +- CPPFLAGS="$CPPFLAGS -I$PGSQL/include" +- fi +- AC_CHECK_LIB(pq,PQsetdbLogin,,,-lcrypt) +- if test "$ac_cv_lib_pq_PQsetdbLogin" = "yes"; then +- AC_CHECK_HEADERS(pgsql/libpq-fe.h) +- AC_CHECK_HEADERS(postgresql/libpq-fe.h) +- AC_CHECK_HEADERS(libpq-fe.h) +- if [[ -n "$PGSQL" -a "$ac_cv_header_libpq_fe_h" = "yes" ]]; then +- PGLIBS="-L$PGSQL/lib -lpq -lcrypt" +- PGINCLUDE="-I$PGSQL/include" +- elif test "$ac_cv_header_pgsql_libpq_fe_h" = "yes"; then +- PGLIBS="-lpq -lcrypt" +- PGINCLUDE="-I/usr/include/pgsql" +- elif test "$ac_cv_header_postgresql_libpq_fe_h" = "yes"; then +- PGLIBS="-L$PGSQL/lib -lpq -lcrypt" +- PGINCLUDE="-I/usr/include/postgresql" +- elif test "$ac_cv_header_libpq_fe_h" = "yes"; then +- PGLIBS="-L$PGSQL/lib -lpq -lcrypt" +- PGINCLUDE="-I$PGSQL/include" +- fi +- if test -z "$PGINCLUDE"; then +- AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)]) +- AC_MSG_WARN([install PostgreSQL headers to compile this plugin (see REQUIREMENTS).]) +- else +- AC_SUBST(PGLIBS) +- AC_SUBST(PGINCLUDE) +- EXTRAS="$EXTRAS check_pgsql\$(EXEEXT)" +- fi +- else +- AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)]) +- AC_MSG_WARN([LIBS="$LIBS" CPPFLAGS="$CPPFLAGS"]) +- AC_MSG_WARN([install PostgreSQL libs to compile this plugin (see REQUIREMENTS).]) +- fi +-else +- AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)]) +- AC_MSG_WARN([install lib crypt and PostgreSQL libs to compile this plugin (see REQUIREMENTS).]) +-fi +-LIBS="$_SAVEDLIBS" +-CPPFLAGS="$_SAVEDCPPFLAGS" ++ [path to pgsql installation, i.e. path to bin/pg_config]), ++ PGSQL=$withval,PGSQL=no) ++ ++dnl --with-pgsql sans argument gives "yes" ++dnl --without-pgsql gives "no" (this is also the default, see above) ++dnl --with-pgsql=foo gives "foo" ++AS_IF([test "x${PGSQL}" = xno],[ ++ AC_MSG_WARN([Skipping PostgreSQL plugin]) ++],[ ++ _PG_CONFIG="" ++ ++ AS_IF([test "x${PGSQL}" = xyes],[ ++ AC_PATH_PROG(_PG_CONFIG, pg_config) ++ AS_IF([test -z "${_PG_CONFIG}"],[ ++ AC_MSG_ERROR([postgres support requested but pg_config not found]) ++ ]) ++ ],[ ++ AC_MSG_CHECKING([for usable ${PGSQL}/bin/pg_config]) ++ AS_IF([test -f "${PGSQL}/bin/pg_config" -a -x "${PGSQL}/bin/pg_config"],[ ++ AC_MSG_RESULT([yes]) ++ _PG_CONFIG="${PGSQL}/bin/pg_config" ++ ],[ ++ AC_MSG_RESULT([no]) ++ AC_MSG_ERROR([${PGSQL}/bin/pg_config not found or not executable]) ++ ]) ++ ]) ++ ++ dnl Sanity check: look for a header using the -I flags ++ dnl that we get from pg_config. ++ _SAVED_CPPFLAGS="${CPPFLAGS}" ++ PGINCLUDE="-I$(${_PG_CONFIG} --includedir)" ++ CPPFLAGS="${CPPFLAGS} ${PGINCLUDE}" ++ AC_CHECK_HEADER(libpq-fe.h,[ ++ PGLIBS="-L$(${_PG_CONFIG} --libdir) -lpq" ++ AC_SUBST(PGLIBS) ++ AC_SUBST(PGINCLUDE) ++ EXTRAS="$EXTRAS check_pgsql\$(EXEEXT)" ++ ],[ ++ AC_MSG_ERROR([libpq-fe.h not found]) ++ ]) ++ CPPFLAGS="${_SAVED_CPPFLAGS}" ++]) ++ + + AC_ARG_WITH([dbi], [AS_HELP_STRING([--without-dbi], [Skips the dbi plugin])]) + dnl Check for DBI libraries diff --git a/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-snmpgetnext.patch b/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-snmpgetnext.patch new file mode 100644 index 000000000000..549ba3e30b71 --- /dev/null +++ b/net-analyzer/nagios-plugins/files/nagios-plugins-2.4.12-snmpgetnext.patch @@ -0,0 +1,128 @@ +From 37b27e058cc8a352a588c865e0319c23f6cb23d5 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 15 Feb 2025 17:45:53 -0500 +Subject: [PATCH 1/3] configure.ac: update net-snmp homepage + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 6b443263..0308f5cb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1491,7 +1491,7 @@ then + AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary]) + EXTRAS="$EXTRAS check_hpjd check_snmp\$(EXEEXT)" + else +- AC_MSG_WARN([Get snmpget from http://net-snmp.sourceforge.net to make check_hpjd and check_snmp plugins]) ++ AC_MSG_WARN([Get snmpget from https://net-snmp.sourceforge.io/ to make check_hpjd and check_snmp plugins]) + fi + + AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext) + +From 8246d9c987b45586b5ceca2c81a671c642ad7106 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 15 Feb 2025 17:47:34 -0500 +Subject: [PATCH 2/3] configure.ac: use AS_IF in net-snmp tests + +Not strictly required here, but the AS_IF macro is generally safer +because it handles (often unintentional) AC_REQUIRE calls. +--- + configure.ac | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0308f5cb..5aaf4eee 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1486,23 +1486,21 @@ AC_ARG_WITH(snmpget_command, + ACX_HELP_STRING([--with-snmpget-command=PATH], + [Path to snmpget command]), + PATH_TO_SNMPGET=$withval) +-if test -n "$PATH_TO_SNMPGET" +-then ++AS_IF([test -n "$PATH_TO_SNMPGET"], [ + AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary]) + EXTRAS="$EXTRAS check_hpjd check_snmp\$(EXEEXT)" +-else ++], [ + AC_MSG_WARN([Get snmpget from https://net-snmp.sourceforge.io/ to make check_hpjd and check_snmp plugins]) +-fi ++]) + + AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext) + AC_ARG_WITH(snmpgetnext_command, + ACX_HELP_STRING([--with-snmpgetnext-command=PATH], + [Path to snmpgetnext command]), + PATH_TO_SNMPGETNEXT=$withval) +-if test -n "$PATH_TO_SNMPGETNEXT" +-then ++AS_IF([test -n "$PATH_TO_SNMPGETNEXT"], [ + AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary]) +-fi ++]) + + if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null ) + then + +From 1ceac49405e77b28e75118c5b537db84d73866a5 Mon Sep 17 00:00:00 2001 +From: Michael Orlitzky <michael@orlitzky.com> +Date: Sat, 15 Feb 2025 18:10:06 -0500 +Subject: [PATCH 3/3] configure.ac: require snmpgetnext for check_snmp + +PATH_TO_SNMPGETNEXT is used unconditionally in plugins/check_snmp.c, +and the build will fail if it is left undefined (that is, if we are +building check_snmp but snmpgetnext was neither found on the user's +PATH or supplied manually). + +To avoid this build failure, we now test for snmpgetnext inside the +case for snmpget, and skip check_snmp unless BOTH are found. + +Closes GH-788 +--- + configure.ac | 25 +++++++++++++++++-------- + 1 file changed, 17 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5aaf4eee..ae2ea796 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1486,20 +1486,29 @@ AC_ARG_WITH(snmpget_command, + ACX_HELP_STRING([--with-snmpget-command=PATH], + [Path to snmpget command]), + PATH_TO_SNMPGET=$withval) +-AS_IF([test -n "$PATH_TO_SNMPGET"], [ +- AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary]) +- EXTRAS="$EXTRAS check_hpjd check_snmp\$(EXEEXT)" +-], [ +- AC_MSG_WARN([Get snmpget from https://net-snmp.sourceforge.io/ to make check_hpjd and check_snmp plugins]) +-]) + + AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext) + AC_ARG_WITH(snmpgetnext_command, + ACX_HELP_STRING([--with-snmpgetnext-command=PATH], + [Path to snmpgetnext command]), + PATH_TO_SNMPGETNEXT=$withval) +-AS_IF([test -n "$PATH_TO_SNMPGETNEXT"], [ +- AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary]) ++ ++AS_IF([test -n "$PATH_TO_SNMPGET"], [ ++ AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary]) ++ EXTRAS="$EXTRAS check_hpjd" ++ ++ dnl PATH_TO_SNMPGETNEXT is used unconditionally in check_snmp: ++ dnl ++ dnl https://github.com/nagios-plugins/nagios-plugins/issues/788 ++ dnl ++ AS_IF([test -n "$PATH_TO_SNMPGETNEXT"], [ ++ AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary]) ++ EXTRAS="$EXTRAS check_snmp\$(EXEEXT)" ++ ], [ ++ AC_MSG_WARN([Get snmpgetnext from https://net-snmp.sourceforge.io/ to build the check_snmp plugin]) ++ ]) ++], [ ++ AC_MSG_WARN([Get snmpget from https://net-snmp.sourceforge.io/ to build the check_hpjd and check_snmp plugins]) + ]) + + if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null ) diff --git a/net-analyzer/nagios-plugins/metadata.xml b/net-analyzer/nagios-plugins/metadata.xml index c34614d4e970..e33cee69f8de 100644 --- a/net-analyzer/nagios-plugins/metadata.xml +++ b/net-analyzer/nagios-plugins/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> <maintainer type="person"> <email>mjo@gentoo.org</email> <name>Michael Orlitzky</name> @@ -14,11 +10,33 @@ <name>Gentoo Sysadmin Project</name> </maintainer> <use> - <flag name="nagios-dns">Install <pkg>net-dns/bind-tools</pkg> required for monitoring DNS servers. Disabling the flag does not remove any plugin file.</flag> - <flag name="nagios-game">Install <pkg>games-util/qstat</pkg> required for monitoring FPS servers. Disabling the flag does not remove any plugin file.</flag> - <flag name="nagios-ping">Install <pkg>net-analyzer/fping</pkg> required for fancy ping monitoring. Disabling the flag does not remove any plugin file.</flag> - <flag name="ssh">Install <pkg>net-misc/openssh</pkg> required for monitoring SSH servers. Disabling the flag does not remove any plugin file.</flag> - <flag name="snmp">Install <pkg>dev-perl/Net-SNMP</pkg> required for monitoring SNMP values. Disabling the flag does not remove any plugin file.</flag> + <flag name="ipv6"> + Enable ipv6 checks. + </flag> + <flag name="nagios-dns"> + Install <pkg>net-dns/bind</pkg> required for monitoring + DNS servers. Disabling the flag does not remove any plugin file. + </flag> + <flag name="nagios-game"> + Install <pkg>games-util/qstat</pkg> required for monitoring FPS + servers. Disabling the flag does not remove any plugin file. + </flag> + <flag name="nagios-ping"> + Install <pkg>net-analyzer/fping</pkg> required for fancy ping + monitoring. Disabling the flag does not remove any plugin file. + </flag> + <flag name="rpc"> + Install <pkg>net-nds/rpcbind</pkg> required for monitoring RPC + services. Disabling the flag does not remove any plugin file. + </flag> + <flag name="ssh"> + Install <pkg>net-misc/openssh</pkg> required for monitoring SSH + servers. Disabling the flag does not remove any plugin file. + </flag> + <flag name="snmp" restrict=">=net-analyzer/nagios-plugins-1.4.16-r1"> + Install <pkg>dev-perl/Net-SNMP</pkg> required for monitoring + SNMP values. Disabling the flag does not remove any plugin file. + </flag> </use> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/net-analyzer/nagios-plugins/nagios-plugins-2.5.ebuild b/net-analyzer/nagios-plugins/nagios-plugins-2.4.12-r4.ebuild index 34dfffae7cf0..155e6dbfe95f 100644 --- a/net-analyzer/nagios-plugins/nagios-plugins-2.5.ebuild +++ b/net-analyzer/nagios-plugins/nagios-plugins-2.4.12-r4.ebuild @@ -1,17 +1,18 @@ -# Copyright 2021-2026 Liguros Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 inherit autotools DESCRIPTION="Official plugins for Nagios" -HOMEPAGE="http://nagios-plugins.org/" -SRC_URI="https://github.com/nagios-plugins/nagios-plugins/archive/refs/tags/release-${PV}.tar.gz -> ${P}.tar.gz" +HOMEPAGE="https://nagios-plugins.org/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/release-${PV}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86" -IUSE="ipv6 ldap mysql nagios-dns nagios-ping nagios-game postgres radius samba selinux snmp ssh +ssl" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ppc ppc64 ~riscv ~sparc x86" +IUSE="ipv6 ldap mysql nagios-dns nagios-ping nagios-game nls postgres samba selinux snmp ssh +ssl rpc" # Most of the plugins use automagic dependencies, i.e. the plugin will # get built if the binary it uses is installed. For example, check_snmp @@ -19,11 +20,12 @@ IUSE="ipv6 ldap mysql nagios-dns nagios-ping nagios-game postgres radius samba s # installed. End result: most of our runtime dependencies are required # at build time as well. AUTOMAGIC_DEPEND=" - nagios-dns? ( net-dns/bind-tools ) + nagios-dns? ( net-dns/bind ) nagios-game? ( games-util/qstat ) nagios-ping? ( net-analyzer/fping ) + rpc? ( net-nds/rpcbind ) samba? ( net-fs/samba ) - ssh? ( net-misc/openssh ) + ssh? ( virtual/openssh ) snmp? ( dev-perl/Net-SNMP net-analyzer/net-snmp[-minimal] )" @@ -32,14 +34,12 @@ BDEPEND="${AUTOMAGIC_DEPEND} dev-lang/perl" DEPEND=" - ldap? ( net-nds/openldap ) - mysql? ( dev-db/mysql-connector-c ) + ldap? ( net-nds/openldap:= ) + mysql? ( dev-db/mysql-connector-c:= ) postgres? ( dev-db/postgresql:* ) ssl? ( - dev-libs/openssl:0 - - ) - radius? ( net-dialup/freeradius-client )" + dev-libs/openssl:0= + )" # Basically everything in net-analyzer/monitoring-plugins collides with # nagios-plugins. Perl (from BDEPEND) is needed at runtime, too. @@ -51,25 +51,32 @@ RDEPEND="${BDEPEND} # At least one test is interactive. RESTRICT="test" -S=${WORKDIR}/${PN}-release-${PV} +PATCHES=( + "${FILESDIR}/${P}-postgresql-detection.patch" + "${FILESDIR}/${P}-snmpgetnext.patch" +) DOCS=( ACKNOWLEDGEMENTS AUTHORS CODING - CHANGELOG.md + ChangeLog FAQ NEWS README REQUIREMENTS SUPPORT + THANKS ) -PATCHES=( - "${FILESDIR}/define-own-mysql-port-constant.patch" - "${FILESDIR}/nagios-plugins-0002-Remove-assignment-of-not-parsed-to-jitter.patch" - "${FILESDIR}/nagios-plugins-0007-Fix-the-use-lib-statement-and-the-external-ntp-comma.patch" - "${FILESDIR}/nagios-plugins-0012-fix-perl-ntp-ipv6.patch" +# These all come from gnulib and the ./configure checks are working as +# intended when the functions aren't present. Bugs 907755 and 924341. +QA_CONFIG_IMPL_DECL_SKIP=( + statvfs64 + re_set_syntax + re_compile_pattern + re_search + re_match ) src_prepare() { @@ -79,7 +86,14 @@ src_prepare() { sed -i -e "1s:/usr/local/bin/perl:/usr/bin/perl:" \ "${S}"/plugins-scripts/*.pl \ || die 'failed to fix perl interpreter path' + eautoreconf + + # eautoreconf replaces $(MKDIR_P) with $(mkdir_p) in + # po/Makefile.in.in. As you might expect, this does not work. + sed -i po/Makefile.in.in \ + -e 's/@mkdir_p@/@MKDIR_P@/' \ + || die } src_configure() { @@ -94,22 +108,24 @@ src_configure() { fi # The autodetection for these two commands can hang if localhost is - # down or ICMP traffic is filtered. Bug #468296. - myconf+=( --with-ping-command="/bin/ping -n -U -w %d -c %d %s" ) + # down or ICMP traffic is filtered (bug #468296). But also the path + # likes to move around on us (bug #883765). + myconf+=( --with-ping-command="$(command -v ping) -n -U -w %d -c %d %s" ) if use ipv6; then - myconf+=( --with-ping6-command="/bin/ping6 -n -U -w %d -c %d %s" ) + myconf+=( --with-ping6-command="$(command -v ping6) -n -U -w %d -c %d %s" ) fi + # Radius support has been broken for a long time and causes the build + # to fail (bug 957000, but before that too). I would recommend using + # net-analyzer/monitoring-plugins if you need check_radius. econf \ - $(use_with mysql) \ $(use_with ipv6) \ $(use_with ldap) \ + $(use_with mysql) \ + $(use_enable nls) \ $(use_with postgres pgsql /usr) \ - $(use_with radius) \ - --disable-silent-rules \ - --enable-extra-opts \ - --disable-nls \ + --without-radius \ "${myconf[@]}" \ --libexecdir="/usr/$(get_libdir)/nagios/plugins" \ --sysconfdir="/etc/nagios" diff --git a/net-analyzer/nagios-plugins/nagios-plugins-2.4.12.ebuild b/net-analyzer/nagios-plugins/nagios-plugins-2.4.12.ebuild deleted file mode 100644 index 12772777db29..000000000000 --- a/net-analyzer/nagios-plugins/nagios-plugins-2.4.12.ebuild +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright 2021-2024 Liguros Authors -# Distributed under the terms of the GNU General Public License v2 -EAPI=8 - -inherit autotools - -DESCRIPTION="Official plugins for Nagios" -HOMEPAGE="http://nagios-plugins.org/" -SRC_URI="https://github.com/nagios-plugins/nagios-plugins/archive/refs/tags/release-${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86" -IUSE="ipv6 ldap mysql nagios-dns nagios-ping nagios-game postgres radius samba selinux snmp ssh +ssl" - -# Most of the plugins use automagic dependencies, i.e. the plugin will -# get built if the binary it uses is installed. For example, check_snmp -# will be built only if snmpget from net-analyzer/net-snmp[-minimal] is -# installed. End result: most of our runtime dependencies are required -# at build time as well. -AUTOMAGIC_DEPEND=" - nagios-dns? ( net-dns/bind-tools ) - nagios-game? ( games-util/qstat ) - nagios-ping? ( net-analyzer/fping ) - samba? ( net-fs/samba ) - ssh? ( net-misc/openssh ) - snmp? ( dev-perl/Net-SNMP - net-analyzer/net-snmp[-minimal] )" - -# Perl really needs to run during the build... -BDEPEND="${AUTOMAGIC_DEPEND} - dev-lang/perl" - -DEPEND=" - ldap? ( net-nds/openldap ) - mysql? ( dev-db/mysql-connector-c ) - postgres? ( dev-db/postgresql:* ) - ssl? ( - dev-libs/openssl:0 - - ) - radius? ( net-dialup/freeradius-client )" - -# Basically everything in net-analyzer/monitoring-plugins collides with -# nagios-plugins. Perl (from BDEPEND) is needed at runtime, too. -RDEPEND="${BDEPEND} - ${DEPEND} - !net-analyzer/monitoring-plugins - selinux? ( sec-policy/selinux-nagios )" - -# At least one test is interactive. -RESTRICT="test" - -S=${WORKDIR}/${PN}-release-${PV} - -DOCS=( - ACKNOWLEDGEMENTS - AUTHORS - CODING - CHANGELOG.md - FAQ - NEWS - README - REQUIREMENTS - SUPPORT -) - -PATCHES=( - "${FILESDIR}/define-own-mysql-port-constant.patch" - "${FILESDIR}/nagios-plugins-0002-Remove-assignment-of-not-parsed-to-jitter.patch" - "${FILESDIR}/nagios-plugins-0007-Fix-the-use-lib-statement-and-the-external-ntp-comma.patch" - "${FILESDIR}/nagios-plugins-0012-fix-perl-ntp-ipv6.patch" -) - -src_prepare() { - default - - # Fix the path to our perl interpreter - sed -i -e "1s:/usr/local/bin/perl:/usr/bin/perl:" \ - "${S}"/plugins-scripts/*.pl \ - || die 'failed to fix perl interpreter path' - eautoreconf -} - -src_configure() { - # Use an array to prevent econf from mangling the ping args. - local myconf=() - - if use ssl; then - myconf+=( $(use_with ssl openssl /usr) ) - else - myconf+=( --without-openssl ) - myconf+=( --without-gnutls ) - fi - - # The autodetection for these two commands can hang if localhost is - # down or ICMP traffic is filtered. Bug #468296. - myconf+=( --with-ping-command="/bin/ping -n -U -w %d -c %d %s" ) - - if use ipv6; then - myconf+=( --with-ping6-command="/bin/ping6 -n -U -w %d -c %d %s" ) - fi - - econf \ - $(use_with mysql) \ - $(use_with ipv6) \ - $(use_with ldap) \ - $(use_with postgres pgsql /usr) \ - $(use_with radius) \ - --disable-silent-rules \ - --enable-extra-opts \ - --disable-nls \ - "${myconf[@]}" \ - --libexecdir="/usr/$(get_libdir)/nagios/plugins" \ - --sysconfdir="/etc/nagios" -} - -pkg_postinst() { - elog "This ebuild has a number of USE flags that determine what you" - elog "are able to monitor. Depending on what you want to monitor, some" - elog "or all of these USE flags need to be set." - elog - elog "The plugins are installed in ${ROOT}/usr/$(get_libdir)/nagios/plugins" -} diff --git a/net-analyzer/net-snmp/Manifest b/net-analyzer/net-snmp/Manifest index 9744ac8061db..f495d2b23e18 100644 --- a/net-analyzer/net-snmp/Manifest +++ b/net-analyzer/net-snmp/Manifest @@ -1,3 +1,2 @@ DIST net-snmp-5.7.3-patches-3.tar.xz 3176 BLAKE2B 1a71d6743afb841f664c6058e32c7c411af62b0f36acd3bb9251804893ed12f462a0c5bab828e309eeec7824def2dca8fa866350b90a62ec4f0df1141b51ecae SHA512 d8a91b9668320a1e19d062eb86dd4d16beb7c2d15ac7ebbb9d2a4bd298af39bbb0a2613504dbb0057cccdec731f08f2308c5a15395e1fbc29bb0611ed8aca636 -DIST net-snmp-5.9.4.tar.gz 6681606 BLAKE2B 2f3dfdc4ce2f4d9a1a771a77e0b0c427a89e3de6dc217009df385baabc7d860ca7714fa76360a4d14521f1b88c9c13ad46b25d3975e33e8bc4bce3eb3b27b99d SHA512 a510fa91a21e9ddc86a12fd1d0bc6b356e63f3ea53f184d2e31439004d41d902390664134dc40b3b828eabb4282eaf3da628a07c4d480fa00eff7e700950c423 DIST net-snmp-5.9.5.2.tar.gz 6826866 BLAKE2B 417b337ac32d19db55494b97742fab6f28fc64d488896efd943d6f65ca563b0385d6160923d064e3bf04e3197790c7834d7b644973a426dfa3cb7e81f6465c4c SHA512 c320c90e01377651fdff3aa9c373b9013f142fab23810d821174e546716ef2fa6499a805728710c67ca7fe238679111df392754c24ea4e01768faa5535ac7db2 diff --git a/net-analyzer/net-snmp/files/mysql.patch b/net-analyzer/net-snmp/files/mysql.patch deleted file mode 100644 index ac8d97aa1e41..000000000000 --- a/net-analyzer/net-snmp/files/mysql.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d30d63523bfd9ccc85175e484fea821815273237 Mon Sep 17 00:00:00 2001 -From: Bart Van Assche <bvanassche@acm.org> -Date: Wed, 15 May 2024 10:08:04 -0600 -Subject: [PATCH] snmptrapd: Fix compilation against recent versions of the - MySQL library -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fix the following build error: - -snmptrapd_sql.c:541:50: error: assignment to ‘_Bool *’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types] -541 | _tbind[TBIND_v3_SECURITY_ENGINE].is_null = &_no_v3; - -Fixes: https://github.com/net-snmp/net-snmp/issues/815 ---- - apps/snmptrapd_sql.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/apps/snmptrapd_sql.c b/apps/snmptrapd_sql.c -index e8f1521953..0f5ec95fd5 100644 ---- a/apps/snmptrapd_sql.c -+++ b/apps/snmptrapd_sql.c -@@ -201,7 +201,7 @@ typedef struct sql_buf_t { - * static bind structures, plus 2 static buffers to bind to. - */ - static MYSQL_BIND _tbind[TBIND_MAX], _vbind[VBIND_MAX]; --static char _no_v3; -+static typeof(*((MYSQL_BIND*)NULL)->is_null) _no_v3; - - static void _sql_process_queue(u_int dontcare, void *meeither); - diff --git a/net-analyzer/net-snmp/files/net-snmp-5.7.3-include-limits.patch b/net-analyzer/net-snmp/files/net-snmp-5.7.3-include-limits.patch deleted file mode 100644 index 04eafbbe9c5d..000000000000 --- a/net-analyzer/net-snmp/files/net-snmp-5.7.3-include-limits.patch +++ /dev/null @@ -1,15 +0,0 @@ -POSIX requires <limits.h> for PATH_MAX and NAME_MAX - -Author: Anthony G. Basile <blueness@gentoo.org> - -diff -Naur net-snmp-5.7.3.orig/agent/mibgroup/util_funcs/get_pid_from_inode.c net-snmp-5.7.3/agent/mibgroup/util_funcs/get_pid_from_inode.c ---- net-snmp-5.7.3.orig/agent/mibgroup/util_funcs/get_pid_from_inode.c 2014-12-08 15:23:22.000000000 -0500 -+++ net-snmp-5.7.3/agent/mibgroup/util_funcs/get_pid_from_inode.c 2018-02-21 15:34:06.237028136 -0500 -@@ -6,6 +6,7 @@ - - #include <ctype.h> - #include <stdio.h> -+#include <limits.h> - #if HAVE_STDLIB_H - #include <stdlib.h> - #endif diff --git a/net-analyzer/net-snmp/files/net-snmp-5.8-do-not-conflate-LDFLAGS-and-LIBS.patch b/net-analyzer/net-snmp/files/net-snmp-5.8-do-not-conflate-LDFLAGS-and-LIBS.patch deleted file mode 100644 index 4e3001e1e473..000000000000 --- a/net-analyzer/net-snmp/files/net-snmp-5.8-do-not-conflate-LDFLAGS-and-LIBS.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/net-snmp-config.in -+++ b/net-snmp-config.in -@@ -190,13 +190,13 @@ - #################################################### client lib - --libs) - # use this one == --netsnmp-libs + --external-libs -- echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_SNMPLIBS $NSC_LIBS -+ echo $NSC_LIBDIR $NSC_SNMPLIBS $NSC_LIBS - ;; - --netsnmp-libs) - echo $NSC_LIBDIR $NSC_BASE_SNMP_LIBS - ;; - --external-libs) -- echo $NSC_LDFLAGS $NSC_LNETSNMPLIBS $NSC_LIBS @PERLLDOPTS_FOR_APPS@ -+ echo $NSC_LNETSNMPLIBS $NSC_LIBS @PERLLDOPTS_FOR_APPS@ - ;; - #################################################### agent lib - --base-agent-libs) -@@ -207,13 +207,13 @@ - ;; - --agent-libs) - # use this one == --netsnmp-agent-libs + --external-libs -- echo $NSC_LDFLAGS $NSC_LIBDIR $NSC_AGENTLIBS $NSC_LIBS -+ echo $NSC_LIBDIR $NSC_AGENTLIBS $NSC_LIBS - ;; - --netsnmp-agent-libs) - echo $NSC_LIBDIR $NSC_BASE_AGENT_LIBS - ;; - --external-agent-libs) -- echo $NSC_LDFLAGS $NSC_LMIBLIBS $NSC_LAGENTLIBS $NSC_LNETSNMPLIBS $NSC_LIBS -+ echo $NSC_LMIBLIBS $NSC_LAGENTLIBS $NSC_LNETSNMPLIBS $NSC_LIBS - ;; - #################################################### - --version|--ver*) diff --git a/net-analyzer/net-snmp/files/net-snmp-5.8.1-net-snmp-config-libdir.patch b/net-analyzer/net-snmp/files/net-snmp-5.8.1-net-snmp-config-libdir.patch deleted file mode 100644 index 73d420531bb3..000000000000 --- a/net-analyzer/net-snmp/files/net-snmp-5.8.1-net-snmp-config-libdir.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/net-snmp-config.in -+++ b/net-snmp-config.in -@@ -193,10 +193,10 @@ - #################################################### client lib - --libs) - # use this one == --netsnmp-libs + --external-libs -- echo $NSC_LIBDIR $NSC_SNMPLIBS $NSC_LIBS -+ echo $NSC_SNMPLIBS $NSC_LIBS - ;; - --netsnmp-libs) -- echo $NSC_LIBDIR $NSC_BASE_SNMP_LIBS -+ echo $NSC_BASE_SNMP_LIBS - ;; - --external-libs) - echo $NSC_LNETSNMPLIBS $NSC_LIBS @PERLLDOPTS_FOR_APPS@ -@@ -210,10 +210,10 @@ - ;; - --agent-libs) - # use this one == --netsnmp-agent-libs + --external-libs -- echo $NSC_LIBDIR $NSC_AGENTLIBS $NSC_LIBS -+ echo $NSC_AGENTLIBS $NSC_LIBS - ;; - --netsnmp-agent-libs) -- echo $NSC_LIBDIR $NSC_BASE_AGENT_LIBS -+ echo $NSC_BASE_AGENT_LIBS - ;; - --external-agent-libs) - echo $NSC_LMIBLIBS $NSC_LAGENTLIBS $NSC_LNETSNMPLIBS $NSC_LIBS -@@ -660,7 +660,7 @@ - echo "Ack. Can't create $tmpfile." - exit 1 - fi -- cmd="@CC@ $cflags @CFLAGS@ @DEVFLAGS@ -I. -I${NSC_INCLUDEDIR} -o $outname $tmpfile $cfiles $NSC_LDFLAGS $NSC_LIBDIR $NSC_BASE_AGENT_LIBS $NSC_AGENTLIBS $ldflags" -+ cmd="@CC@ $cflags @CFLAGS@ @DEVFLAGS@ -I. -I${NSC_INCLUDEDIR} -o $outname $tmpfile $cfiles $ldflags $NSC_LDFLAGS $NSC_BASE_AGENT_LIBS $NSC_AGENTLIBS" - echo "running: $cmd" - echo `$cmd` - result=$? diff --git a/net-analyzer/net-snmp/files/net-snmp-5.8.1-pkg-config.patch b/net-analyzer/net-snmp/files/net-snmp-5.8.1-pkg-config.patch deleted file mode 100644 index acda136a22cd..000000000000 --- a/net-analyzer/net-snmp/files/net-snmp-5.8.1-pkg-config.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/netsnmp-agent.pc.in -+++ b/netsnmp-agent.pc.in -@@ -8,5 +8,5 @@ - URL: http://www.net-snmp.org - Version: @PACKAGE_VERSION@ - Cflags: -I${includedir} --Libs: -L${libdir} -lnetsnmpmibs -lnetsnmpagent -lnetsnmp --Libs.private: @LDFLAGS@ @LMIBLIBS@ @LAGENTLIBS@ @PERLLDOPTS_FOR_APPS@ @LNETSNMPLIBS@ @LIBS@ -+Libs: -lnetsnmpmibs -lnetsnmpagent -lnetsnmp -+Libs.private: @LMIBLIBS@ @LAGENTLIBS@ @PERLLDOPTS_FOR_APPS@ @LNETSNMPLIBS@ @LIBS@ ---- a/netsnmp.pc.in -+++ b/netsnmp.pc.in -@@ -8,5 +8,5 @@ - URL: http://www.net-snmp.org - Version: @PACKAGE_VERSION@ - Cflags: -I${includedir} --Libs: -L${libdir} -lnetsnmp --Libs.private: @LDFLAGS@ @LNETSNMPLIBS@ @LIBS@ @PERLLDOPTS_FOR_APPS@ -+Libs: -lnetsnmp -+Libs.private: @LNETSNMPLIBS@ @LIBS@ @PERLLDOPTS_FOR_APPS@ diff --git a/net-analyzer/net-snmp/files/net-snmp-5.9-r3-f2fs.patch b/net-analyzer/net-snmp/files/net-snmp-5.9-r3-f2fs.patch deleted file mode 100644 index c06c94ff7ace..000000000000 --- a/net-analyzer/net-snmp/files/net-snmp-5.9-r3-f2fs.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://bugs.gentoo.org/729224 -https://github.com/net-snmp/net-snmp/commit/5a18e300bd085c6ba5967d7b00cc3f57fe83f665 - -From 5a18e300bd085c6ba5967d7b00cc3f57fe83f665 Mon Sep 17 00:00:00 2001 -From: Bart Van Assche <bvanassche@acm.org> -Date: Thu, 8 Oct 2020 20:12:44 -0700 -Subject: [PATCH] HOST-RESOURCES-MIB: Add support for f2fs - -See also https://github.com/net-snmp/net-snmp/issues/111 . ---- - agent/mibgroup/hardware/fsys/fsys_mntent.c | 1 + - agent/mibgroup/hardware/fsys/mnttypes.h | 3 +++ - 2 files changed, 4 insertions(+) - -diff --git a/agent/mibgroup/hardware/fsys/fsys_mntent.c b/agent/mibgroup/hardware/fsys/fsys_mntent.c -index abdc63ed6..75e2782f7 100644 ---- a/agent/mibgroup/hardware/fsys/fsys_mntent.c -+++ b/agent/mibgroup/hardware/fsys/fsys_mntent.c -@@ -146,6 +146,7 @@ _fsys_type( char *typename ) - !strcmp(typename, MNTTYPE_CVFS) || - !strcmp(typename, MNTTYPE_SIMFS) || - !strcmp(typename, MNTTYPE_BTRFS) || -+ !strcmp(typename, MNTTYPE_F2FS) || - !strcmp(typename, MNTTYPE_ZFS) || - !strcmp(typename, MNTTYPE_NVMFS) || - !strcmp(typename, MNTTYPE_ACFS) || -diff --git a/agent/mibgroup/hardware/fsys/mnttypes.h b/agent/mibgroup/hardware/fsys/mnttypes.h -index cda42420d..3540cf31b 100644 ---- a/agent/mibgroup/hardware/fsys/mnttypes.h -+++ b/agent/mibgroup/hardware/fsys/mnttypes.h -@@ -154,6 +154,9 @@ - #ifndef MNTTYPE_BTRFS - #define MNTTYPE_BTRFS "btrfs" - #endif -+#ifndef MNTTYPE_F2FS -+#define MNTTYPE_F2FS "f2fs" -+#endif - #ifndef MNTTYPE_ZFS - #define MNTTYPE_ZFS "zfs" - #endif diff --git a/net-analyzer/net-snmp/files/net-snmp-5.9.4-c99.patch b/net-analyzer/net-snmp/files/net-snmp-5.9.4-c99.patch deleted file mode 100644 index fd8f16c7b6e2..000000000000 --- a/net-analyzer/net-snmp/files/net-snmp-5.9.4-c99.patch +++ /dev/null @@ -1,30 +0,0 @@ -https://github.com/net-snmp/net-snmp/issues/815 -https://github.com/net-snmp/net-snmp/commit/d30d63523bfd9ccc85175e484fea821815273237 - -From d30d63523bfd9ccc85175e484fea821815273237 Mon Sep 17 00:00:00 2001 -From: Bart Van Assche <bvanassche@acm.org> -Date: Wed, 15 May 2024 10:08:04 -0600 -Subject: [PATCH] snmptrapd: Fix compilation against recent versions of the - MySQL library -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fix the following build error: - -snmptrapd_sql.c:541:50: error: assignment to ‘_Bool *’ from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types] -541 | _tbind[TBIND_v3_SECURITY_ENGINE].is_null = &_no_v3; - -Fixes: https://github.com/net-snmp/net-snmp/issues/815 ---- a/apps/snmptrapd_sql.c -+++ b/apps/snmptrapd_sql.c -@@ -201,7 +201,7 @@ typedef struct sql_buf_t { - * static bind structures, plus 2 static buffers to bind to. - */ - static MYSQL_BIND _tbind[TBIND_MAX], _vbind[VBIND_MAX]; --static char _no_v3; -+static typeof(*((MYSQL_BIND*)NULL)->is_null) _no_v3; - - static void _sql_process_queue(u_int dontcare, void *meeither); - - diff --git a/net-analyzer/net-snmp/files/net-snmp-5.9.5-c23.patch b/net-analyzer/net-snmp/files/net-snmp-5.9.5-c23.patch new file mode 100644 index 000000000000..ad296f721708 --- /dev/null +++ b/net-analyzer/net-snmp/files/net-snmp-5.9.5-c23.patch @@ -0,0 +1,44 @@ +https://bugs.gentoo.org/976674 +https://github.com/net-snmp/net-snmp/issues/1100 + +From: Bart Van Assche <bvanassche@acm.org> +Date: Wed, 3 Jun 2026 08:57:24 -0700 +Subject: [PATCH] MIB-II, sendmail: Stop using the auto keyword + +Stop using the auto keyword because C23 changed the meaning of this keyword. + +Fixes: https://github.com/net-snmp/net-snmp/issues/1100 +--- + agent/mibgroup/mibII/mta_sendmail.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/agent/mibgroup/mibII/mta_sendmail.c b/agent/mibgroup/mibII/mta_sendmail.c +index 3d63d15171..dd46768e1e 100644 +--- a/agent/mibgroup/mibII/mta_sendmail.c ++++ b/agent/mibgroup/mibII/mta_sendmail.c +@@ -1182,9 +1182,9 @@ var_mtaEntry(struct variable *vp, + + + static long long_ret; +- auto int i; +- auto int result; +- auto time_t current_time; ++ int i; ++ int result; ++ time_t current_time; + int global_count = 0; + int global_size = 0; + +@@ -1332,9 +1332,9 @@ var_mtaGroupEntry(struct variable *vp, + int exact, size_t * var_len, WriteMethod ** write_method) + { + static long long_ret; +- auto long row; +- auto int result; +- auto time_t current_time; ++ long row; ++ int result; ++ time_t current_time; + + + if (exact) { diff --git a/net-analyzer/net-snmp/files/net-snmp-99999999-tinfo.patch b/net-analyzer/net-snmp/files/net-snmp-99999999-tinfo.patch deleted file mode 100644 index 2eb4ccca6313..000000000000 --- a/net-analyzer/net-snmp/files/net-snmp-99999999-tinfo.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/configure.d/config_os_libs2 -+++ b/configure.d/config_os_libs2 -@@ -601,6 +601,7 @@ - [HAVE_LIBCURSES=FALSE],, - [LIBCURSES]) - AC_SUBST([HAVE_LIBCURSES]) -+NETSNMP_SEARCH_LIBS([cbreak], [tinfo],[LIBCURSES="$LIBCURSES -ltinfo"],,,) - AC_SUBST([LIBCURSES]) - - # libm for ceil diff --git a/net-analyzer/net-snmp/metadata.xml b/net-analyzer/net-snmp/metadata.xml index 09210ce3f7a9..3cb5892c0e41 100644 --- a/net-analyzer/net-snmp/metadata.xml +++ b/net-analyzer/net-snmp/metadata.xml @@ -2,26 +2,22 @@ <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <maintainer type="project"> <email>netmon@gentoo.org</email> <name>Gentoo network monitoring and analysis project</name> </maintainer> - <upstream> - <remote-id type="cpe">cpe:/a:net-snmp:net-snmp</remote-id> - </upstream> <use> <flag name="elf">Enable the use of elf utils to check uptime on some systems</flag> <flag name="kmem">Enable usage of /dev/kmem</flag> <flag name="mfd-rewrites">Use MFD rewrites of mib modules where available</flag> - <flag name="netlink">Use <pkg>dev-libs/libnl</pkg> to fetch TCP statistics instead of using /proc/net/tcp (Linux only).</flag> <flag name="pcap">Install snmppcap which reads from PCAP files and writes to the SNMP transport</flag> <flag name="pci">Use libpci (from <pkg>sys-apps/pciutils</pkg>) to look up network interface description. This feature is only available on Linux.</flag> + <flag name="pcre">Add support for Perl Compatible Regular Expressions in process table filtering.</flag> <flag name="rpm">Enable monitoring of <pkg>app-arch/rpm</pkg>. This flag requires the bzip2 and zlib flags to be enabled as well.</flag> <flag name="smux">Enable support for the legacy smux protocol (superseded by agentx)</flag> <flag name="ucd-compat">Build UCD compatibility library. Increases significantly the install size.</flag> </use> + <upstream> + <remote-id type="cpe">cpe:/a:net-snmp:net-snmp</remote-id> + </upstream> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/net-analyzer/net-snmp/net-snmp-5.9.5.2.ebuild b/net-analyzer/net-snmp/net-snmp-5.9.5.2.ebuild index ac6fde50a379..76e06629af15 100644 --- a/net-analyzer/net-snmp/net-snmp-5.9.5.2.ebuild +++ b/net-analyzer/net-snmp/net-snmp-5.9.5.2.ebuild @@ -1,5 +1,6 @@ -# Copyright 2021-2025 Liguros Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 GENTOO_DEPEND_ON_PERL=no @@ -10,39 +11,45 @@ inherit autotools python-single-r1 libtool perl-module systemd DESCRIPTION="Software for generating and retrieving SNMP data" HOMEPAGE="https://www.net-snmp.org/" -SRC_URI=" - https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.gz - https://dev.gentoo.org/~jsmolic/distfiles/${PN}-5.7.3-patches-3.tar.xz -" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/net-snmp/net-snmp" + inherit git-r3 +else + # https://github.com/net-snmp/net-snmp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.gz" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +fi + +SRC_URI+=" https://dev.gentoo.org/~jsmolic/distfiles/${PN}-5.7.3-patches-3.tar.xz" # GPL-2 for the init scripts LICENSE="HPND BSD GPL-2" SLOT="0/40" IUSE=" - X bzip2 doc elf kmem ipv6 lm-sensors mfd-rewrites minimal mariadb + X bzip2 doc elf kmem ipv6 lm-sensors mfd-rewrites minimal mysql pcap pci pcre perl python rpm selinux smux ssl tcpd ucd-compat valgrind zlib + ${GENTOO_PERL_USESTRING} " REQUIRED_USE=" python? ( ${PYTHON_REQUIRED_USE} ) rpm? ( bzip2 zlib ) " -RESTRICT="test" COMMON_DEPEND=" + dev-libs/libnl:3 virtual/libcrypt:= bzip2? ( app-arch/bzip2 ) elf? ( dev-libs/elfutils ) lm-sensors? ( sys-apps/lm-sensors ) - mariadb? ( - dev-db/mariadb-connector-c:0= - dev-python/mysqlclient - ) - dev-libs/libnl:3 + mysql? ( dev-db/mysql-connector-c:0= ) pcap? ( net-libs/libpcap ) pci? ( sys-apps/pciutils ) pcre? ( dev-libs/libpcre ) - perl? ( dev-lang/perl:= ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) python? ( $(python_gen_cond_dep ' dev-python/setuptools[${PYTHON_USEDEP}] @@ -55,10 +62,9 @@ COMMON_DEPEND=" ) ssl? ( >=dev-libs/openssl-0.9.6d:0= - ) tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) - zlib? ( >=sys-libs/zlib-1.1.4 ) + zlib? ( >=virtual/zlib-1.1.4:= ) " BDEPEND="doc? ( app-text/doxygen )" DEPEND=" @@ -70,13 +76,9 @@ RDEPEND=" perl? ( X? ( dev-perl/Tk ) !minimal? ( - virtual/perl-Carp - virtual/perl-Data-Dumper - virtual/perl-Getopt-Long dev-perl/JSON dev-perl/Mail-Sender dev-perl/TermReadKey - virtual/perl-Term-ReadLine ) ) selinux? ( sec-policy/selinux-snmp ) @@ -91,6 +93,14 @@ PATCHES=( "${FILESDIR}"/${PN}-5.9.3-0002-Tidy-up-net-snmp-config-output.patch "${FILESDIR}"/${PN}-5.9.3-0003-Prune-Libs.private-entries-in-netsnmp-.pc.in.patch "${FILESDIR}"/${PN}-5.9.3-0004-Search-for-ltinfo-in-configure-if-needed.patch + "${FILESDIR}"/${PN}-5.9.5-c23.patch +) + +QA_CONFIG_IMPL_DECL_SKIP=( + # only exists on Windows + ioctlsocket + # removed from Linux since 5.5 + sysctl ) pkg_setup() { @@ -99,6 +109,8 @@ pkg_setup() { src_unpack() { default + + [[ ${PV} == 9999 ]] && git-r3_src_unpack } src_prepare() { @@ -111,6 +123,9 @@ src_prepare() { mv "${WORKDIR}"/patches/0005-Respect-LDFLAGS-properly.patch{,.disabled} || die eapply "${WORKDIR}"/patches/*.patch + # Fails because of our eautoconf call + rm testing/fulltests/default/T000configure_simple || die + default eautoconf @@ -137,7 +152,7 @@ src_configure() { $(use_with bzip2) \ $(use_with elf) \ $(use_with kmem kmem-usage) \ - $(use_with mariadb mysql) \ + $(use_with mysql) \ --with-nl \ $(use_with pcap) \ $(use_with pci) \ @@ -169,7 +184,14 @@ src_compile() { use doc && emake docsdox } +src_test() { + emake -Onone test +} + src_install() { + # https://github.com/net-snmp/net-snmp/issues/1035 (bug #967912) + sed -i -e 's:-Werror=declaration-after-statement ::' net-snmp-config || die + # bug #317965 emake -j1 DESTDIR="${D}" install diff --git a/net-analyzer/net-snmp/net-snmp-5.9.4-r3.ebuild b/net-analyzer/net-snmp/net-snmp-9999.ebuild index bccf715a0b36..fcb581ff25a9 100644 --- a/net-analyzer/net-snmp/net-snmp-5.9.4-r3.ebuild +++ b/net-analyzer/net-snmp/net-snmp-9999.ebuild @@ -1,5 +1,6 @@ -# Copyright 2021-2025 Liguros Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 GENTOO_DEPEND_ON_PERL=no @@ -10,39 +11,45 @@ inherit autotools python-single-r1 libtool perl-module systemd DESCRIPTION="Software for generating and retrieving SNMP data" HOMEPAGE="https://www.net-snmp.org/" -SRC_URI=" - https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.gz - https://dev.gentoo.org/~jsmolic/distfiles/${PN}-5.7.3-patches-3.tar.xz -" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/net-snmp/net-snmp" + inherit git-r3 +else + # https://github.com/net-snmp/net-snmp/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.gz" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +SRC_URI+=" https://dev.gentoo.org/~jsmolic/distfiles/${PN}-5.7.3-patches-3.tar.xz" # GPL-2 for the init scripts LICENSE="HPND BSD GPL-2" SLOT="0/40" IUSE=" - X bzip2 doc elf kmem ipv6 lm-sensors mfd-rewrites minimal mariadb - netlink pcap pci pcre perl python rpm selinux smux ssl tcpd ucd-compat valgrind zlib + X bzip2 doc elf kmem ipv6 lm-sensors mfd-rewrites minimal mysql + pcap pci pcre perl python rpm selinux smux ssl tcpd ucd-compat valgrind zlib + ${GENTOO_PERL_USESTRING} " REQUIRED_USE=" python? ( ${PYTHON_REQUIRED_USE} ) rpm? ( bzip2 zlib ) " -RESTRICT="test" COMMON_DEPEND=" + dev-libs/libnl:3 virtual/libcrypt:= bzip2? ( app-arch/bzip2 ) elf? ( dev-libs/elfutils ) lm-sensors? ( sys-apps/lm-sensors ) - mariadb? ( - dev-db/mariadb-connector-c:0= - dev-python/mysqlclient - ) - netlink? ( dev-libs/libnl:3 ) + mysql? ( dev-db/mysql-connector-c:0= ) pcap? ( net-libs/libpcap ) pci? ( sys-apps/pciutils ) - pcre? ( dev-libs/libpcre ) - perl? ( dev-lang/perl:= ) + pcre? ( dev-libs/libpcre2 ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + ) python? ( $(python_gen_cond_dep ' dev-python/setuptools[${PYTHON_USEDEP}] @@ -55,10 +62,9 @@ COMMON_DEPEND=" ) ssl? ( >=dev-libs/openssl-0.9.6d:0= - ) tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) - zlib? ( >=sys-libs/zlib-1.1.4 ) + zlib? ( >=virtual/zlib-1.1.4:= ) " BDEPEND="doc? ( app-text/doxygen )" DEPEND=" @@ -70,13 +76,9 @@ RDEPEND=" perl? ( X? ( dev-perl/Tk ) !minimal? ( - virtual/perl-Carp - virtual/perl-Data-Dumper - virtual/perl-Getopt-Long dev-perl/JSON dev-perl/Mail-Sender dev-perl/TermReadKey - virtual/perl-Term-ReadLine ) ) selinux? ( sec-policy/selinux-snmp ) @@ -86,12 +88,13 @@ PATCHES=( "${FILESDIR}"/${PN}-5.8-pcap.patch "${FILESDIR}"/${PN}-5.8.1-mysqlclient.patch "${FILESDIR}"/${PN}-5.9-MakeMaker.patch - # https://github.com/net-snmp/net-snmp/pull/493 - "${FILESDIR}"/${PN}-5.9.3-0001-Fix-LDFLAGS-vs-LIBS-ordering.patch - "${FILESDIR}"/${PN}-5.9.3-0002-Tidy-up-net-snmp-config-output.patch - "${FILESDIR}"/${PN}-5.9.3-0003-Prune-Libs.private-entries-in-netsnmp-.pc.in.patch - "${FILESDIR}"/${PN}-5.9.3-0004-Search-for-ltinfo-in-configure-if-needed.patch - "${FILESDIR}"/${PN}-5.9.4-c99.patch +) + +QA_CONFIG_IMPL_DECL_SKIP=( + # only exists on Windows + ioctlsocket + # removed from Linux since 5.5 + sysctl ) pkg_setup() { @@ -100,6 +103,8 @@ pkg_setup() { src_unpack() { default + + [[ ${PV} == 9999 ]] && git-r3_src_unpack } src_prepare() { @@ -112,6 +117,9 @@ src_prepare() { mv "${WORKDIR}"/patches/0005-Respect-LDFLAGS-properly.patch{,.disabled} || die eapply "${WORKDIR}"/patches/*.patch + # Fails because of our eautoconf call + rm testing/fulltests/default/T000configure_simple || die + default eautoconf @@ -138,11 +146,12 @@ src_configure() { $(use_with bzip2) \ $(use_with elf) \ $(use_with kmem kmem-usage) \ - $(use_with mariadb mysql) \ - $(use_with netlink nl) \ + $(use_with mysql) \ + --with-nl \ $(use_with pcap) \ $(use_with pci) \ - $(use_with pcre) \ + $(use_with pcre pcre2-8) \ + --without-pcre \ $(use_with perl perl-modules INSTALLDIRS=vendor) \ $(use_with python python-modules) \ $(use_with rpm) \ @@ -170,7 +179,14 @@ src_compile() { use doc && emake docsdox } +src_test() { + emake -Onone test +} + src_install() { + # https://github.com/net-snmp/net-snmp/issues/1035 (bug #967912) + sed -i -e 's:-Werror=declaration-after-statement ::' net-snmp-config || die + # bug #317965 emake -j1 DESTDIR="${D}" install diff --git a/net-analyzer/nmap/Manifest b/net-analyzer/nmap/Manifest index eecb3356b376..b9ee82872388 100644 --- a/net-analyzer/nmap/Manifest +++ b/net-analyzer/nmap/Manifest @@ -1,5 +1,12 @@ DIST nmap-7.95-patches-2.tar.xz 5740 BLAKE2B 860e7702e2ae1211c4eeeb8f869730de2279a305389f54317f883d2094bfbb1efb9031a761af93bfa8ab56e06bea774dea5807d134dd64f94c2191340a21113b SHA512 e4fb7350ea7e7f2e62f089129c0962652e556fb3bdf272d78c834db299f7f92c3238344c8bd50fea7d1360460ca4768ddad7367ecfcaefdb51125c66cd6981dd +DIST nmap-7.95.tar.bz2 11717069 BLAKE2B 4ab4912468f6c1cf7517090bc94b1bb34e665fe1b3db973e1c7bb2d05cb885545cdf3ca5c7fb548ff0012b800f5dd60ed2f2010fc9fb62ba7d6a28537287193c SHA512 fd95a8bc627a2b8b507353f761dc9fdc8e880a0dd2d75a51b9cb3ec664318796af9bb16a6ff9a1358bd77ad669c2a54e333be630f201f69287692a7d2d41c17e +DIST nmap-7.95.tar.bz2.asc 181 BLAKE2B 31db32cb5ad42be25d4b87d8619e0865d7089618839311ada9a2c1e0c9bc89f82ca6253e8151930f152c3fac7ad820ca747ed8427d008f9b04ad2b9e0a0e2b71 SHA512 ce56893796def1b7e8ae96cce90dda073ad84d657cd15d980ee14562a07f7522d438a40ac58422b6f6de7201a9f2678413018633529cb8dcc4e580cfe678c092 +DIST nmap-7.97-patches-1.tar.xz 6236 BLAKE2B aface99574e5316191bb43a2434bc158fef5ed3b6999b671d44f6820547e1b9e1769ecee6303da2326e5980975d77acf812ee722e4bfa6c667e3eeea0d7d4d81 SHA512 e989f015deb22365b058fd111b22e63ecb0056718381cf03b298303e1f46fb0eda98eb0647898356224e6fc36544c84a2ad5c261346d3b23ba2fa6947461fd61 DIST nmap-7.97-patches-2.tar.xz 6396 BLAKE2B e8271dc1444d0e20882df0a8a66ade5b31946a8fa4a94a0adbc8d5b8cb7b776bdc3f82e98792c53055ac0a6322a4a0ae85f13cda0169fdcc03d0a550a032c7e4 SHA512 d0bc20c9a1e38c1fa65827d584ac44c2fe762661657ec946ffc65861bda2bdc28662fe27d3a5a2ab816e2f2c6d5e9acb56819d8e84a86b58789c46e33c4e8dc1 +DIST nmap-7.97.tar.bz2 12142624 BLAKE2B affeca9f28a4ccb67b3f7154a08e587c5f80e292fc8e442f469812518e435b54d1ab125dbfd52981dc4730c41475d384092352715a2131379a7d032bd476298e SHA512 050241744c311f5fc16297e1698aded2a9fdc78eb7a0954d1c70f7713ef6e1b07f3fcbf28a6a53f43785b1ae710aadf10237d1d0bd8855c6b3c423da4d35961c +DIST nmap-7.97.tar.bz2.asc 181 BLAKE2B ad465109377ee4d68e302b05b4464700751cf66ef5a8911ed142257cafb2a137ce0d9b82c7ef7edd14aef1a29accabacce05585005593a02301af3ca87c2370b SHA512 ac5ecae4c60a1ee27d7063740334e60791ead9cbc168bdd413017b50d13546ac4dff3852c95942806a67d8a6bec8bc269869b177fbe8825d5d104818fcb0c931 DIST nmap-7.98.tar.bz2 12273108 BLAKE2B bbc7f4931876b2a59dc8d94b5498e72ee76084db19089820030473628f215a0a89972638f4128e46a46ffa55bd92141bfceab311fa00f4798cf111aca5ec104a SHA512 14e13689d1276f70efc8c905e8eb0a15970f4312c2ef86d8d97e9df11319735e7f7cd73f728f69cf43d27a078ef5ac1e0f39cd119d8cb9262060c42606c6cab3 DIST nmap-7.98.tar.bz2.asc 181 BLAKE2B 6b971925581746226dc69b5b68619e0d44c6e0504ec9062c1824eb990c3307ba9e13356e1400c52bcbf25c290c15a80378cf9682c0246a72990a3bc07200dc1b SHA512 0716e747381e5a3f70ef013a04bdb12459afa57ef2a09d202e006166d23c0fe7b1391bf6b0d3a4a30839d0f5d031e269b0bcac678e42f280a77914a0ff6314af +DIST nmap-7.99-patches-1.tar.xz 6276 BLAKE2B 59574660f5418a1c9c654c78f993547b4a053cd193a2b3e29472c0a9ada8632a953e2288d488ac6897f9774cae8b88a5fd9dc1443c5900818146881bdf4856c6 SHA512 a4ccffb231bd40aa953e0220b545f4d94a595b4ebcbdf7832e1b20ee4482563d7d39aeb158ca1853264540e5e094c6523cf7ff60682d1ec106869361d4a696d6 DIST nmap-7.99.tar.bz2 13036588 BLAKE2B 76cc39c7ba28615a143eec7f6fdf009746ad1c3ca8f07a8d3fb8a707ee116bc1acbfd2e33515817dd3e64cf0b4d8c6d6674e796c06bf20a8ee73e9b38b89341a SHA512 9ff69659b76573eb10b6e472a0217032fd5fed20f0ac971b3736a4222fb6251c5fbf381ebea7ede313b8ff2feac90a848f645000c61200772d01b843594f4ba4 +DIST nmap-7.99.tar.bz2.asc 181 BLAKE2B 413c84dfdd378423d35176e3fdcca2d73b833ad19eaa12fcdd50be8d365981bf1484bb329640619252b11ce81750069f124a7877d7f18d1480492257e738d4c2 SHA512 4dbb3782483d1ea2f3b0b77075e4527f994cfdcb51bdb60c5fe03204023d60ee2ba07746836dd3cccf7b42005feac62fee9cd0cf205085a066f831c224668676 diff --git a/net-analyzer/nmap/files/nmap-5.10_beta1-string.patch b/net-analyzer/nmap/files/nmap-5.10_beta1-string.patch deleted file mode 100644 index df29db3782d5..000000000000 --- a/net-analyzer/nmap/files/nmap-5.10_beta1-string.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- nmap-5.10BETA1/Target.h.org 2009-12-08 08:21:59.000000000 +0100 -+++ nmap-5.10BETA1/Target.h 2009-12-08 08:22:02.000000000 +0100 -@@ -99,6 +99,8 @@ - - #ifndef NOLUA - #include "nse_main.h" -+#else -+#include <string> - #endif - - #include "portreasons.h" diff --git a/net-analyzer/nmap/files/nmap-5.21-python.patch b/net-analyzer/nmap/files/nmap-5.21-python.patch deleted file mode 100644 index aa0d4f9db953..000000000000 --- a/net-analyzer/nmap/files/nmap-5.21-python.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -Naurp nmap-5.21-orig/Makefile.in nmap-5.21/Makefile.in ---- nmap-5.21-orig/Makefile.in 2010-01-31 09:53:53.000000000 +0100 -+++ nmap-5.21/Makefile.in 2010-01-31 09:54:48.000000000 +0100 -@@ -253,7 +253,7 @@ build-zenmap: $(ZENMAPDIR)/setup.py $(ZE - - install-zenmap: $(ZENMAPDIR)/setup.py - $(INSTALL) -d $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 -- cd $(ZENMAPDIR) && $(PYTHON) setup.py --quiet install --prefix "$(prefix)" --force $(if $(DESTDIR),--root "$(DESTDIR)") -+ cd $(ZENMAPDIR) && $(PYTHON) setup.py --quiet install --prefix "$(prefix)" --force $(if $(DESTDIR),--root "$(DESTDIR)") --no-compile - $(INSTALL) -c -m 644 docs/zenmap.1 $(DESTDIR)$(mandir)/man1/ - # Create a symlink from nmapfe to zenmap if nmapfe doesn't exist or is - # already a link. -@@ -267,7 +267,7 @@ build-ndiff: - cd $(NDIFFDIR) && $(PYTHON) setup.py build $(if $(DESTDIR),--executable "$(DEFAULT_PYTHON_PATH)") - - install-ndiff: -- cd $(NDIFFDIR) && $(PYTHON) setup.py install --prefix "$(prefix)" $(if $(DESTDIR),--root "$(DESTDIR)") -+ cd $(NDIFFDIR) && $(PYTHON) setup.py install --prefix "$(prefix)" $(if $(DESTDIR),--root "$(DESTDIR)") --no-compile - - NSE_FILES = scripts/script.db scripts/*.nse - NSE_LIB_LUA_FILES = nselib/*.lua diff --git a/net-analyzer/nmap/files/nmap-6.25-liblua-ar.patch b/net-analyzer/nmap/files/nmap-6.25-liblua-ar.patch deleted file mode 100644 index 5aa9fa7f631c..000000000000 --- a/net-analyzer/nmap/files/nmap-6.25-liblua-ar.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/liblua/Makefile -+++ b/liblua/Makefile -@@ -11,7 +11,7 @@ - LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) - LIBS= -lm $(SYSLIBS) $(MYLIBS) - --AR= ar rcu -+AR= ar - RANLIB= ranlib - RM= rm -f - -@@ -56,7 +56,7 @@ - a: $(ALL_A) - - $(LUA_A): $(BASE_O) -- $(AR) $@ $(BASE_O) -+ $(AR) rcu $@ $(BASE_O) - $(RANLIB) $@ - - $(LUA_T): $(LUA_O) $(LUA_A) diff --git a/net-analyzer/nmap/files/nmap-6.46-uninstaller.patch b/net-analyzer/nmap/files/nmap-6.46-uninstaller.patch deleted file mode 100644 index 6b43f8f5a069..000000000000 --- a/net-analyzer/nmap/files/nmap-6.46-uninstaller.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/zenmap/setup.py -+++ b/zenmap/setup.py -@@ -245,7 +245,6 @@ - self.set_perms() - self.set_modules_path() - self.fix_paths() -- self.create_uninstaller() - self.write_installed_files() - - def get_installed_files(self): -@@ -263,8 +262,6 @@ - os.path.join(self.install_data, data_dir)): - for dir in dirs: - installed_files.append(os.path.join(dirpath, dir)) -- installed_files.append( -- os.path.join(self.install_scripts, "uninstall_" + APP_NAME)) - return installed_files - - def create_uninstaller(self): diff --git a/net-analyzer/nmap/files/nmap-7.25-CXXFLAGS.patch b/net-analyzer/nmap/files/nmap-7.25-CXXFLAGS.patch deleted file mode 100644 index 91caad1a6734..000000000000 --- a/net-analyzer/nmap/files/nmap-7.25-CXXFLAGS.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile.in -+++ b/Makefile.in -@@ -477,7 +477,7 @@ - ./docs/style/lua-format -i scripts/*.nse - - makefile.dep: -- $(CXX) -MM $(CPPFLAGS) $(SRCS) > $@ -+ $(CXX) -MM $(CPPFLAGS) $(CXXFLAGS) $(SRCS) > $@ - -include makefile.dep - - # These the old names of scripts that have been renamed or deleted. Any diff --git a/net-analyzer/nmap/files/nmap-7.25-libpcre.patch b/net-analyzer/nmap/files/nmap-7.25-libpcre.patch deleted file mode 100644 index 9296dab7da7b..000000000000 --- a/net-analyzer/nmap/files/nmap-7.25-libpcre.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -522,7 +522,6 @@ - - # If we still don't have it, we use our own - if test $have_pcre != yes ; then -- AC_CONFIG_SUBDIRS( libpcre ) - CPPFLAGS="-I\$(top_srcdir)/$LIBPCREDIR $CPPFLAGS" - LIBPCRE_LIBS="$LIBPCREDIR/libpcre.a" - PCRE_BUILD="build-pcre" diff --git a/net-analyzer/nmap/files/nmap-7.31-libnl.patch b/net-analyzer/nmap/files/nmap-7.31-libnl.patch deleted file mode 100644 index c16d8291ea3b..000000000000 --- a/net-analyzer/nmap/files/nmap-7.31-libnl.patch +++ /dev/null @@ -1,15 +0,0 @@ -nping does not call anything nl_* related so it should not link against libnl (bug #529244) -Patching configure.ac would be best but eautoreconf does not handle the subdirs very well. - ---- a/nping/configure.ac -+++ b/nping/configure.ac -@@ -114,9 +114,6 @@ - # OpenSSL and NSE C modules can require dlopen - AC_SEARCH_LIBS(dlopen, dl) - --# libpcap can require libnl --AC_SEARCH_LIBS(nl_handle_alloc, nl) -- - # We test whether they specified openssl desires explicitly - use_openssl="yes" - specialssldir="" diff --git a/net-analyzer/nmap/files/nmap-7.80-ac-config-subdirs.patch b/net-analyzer/nmap/files/nmap-7.80-ac-config-subdirs.patch deleted file mode 100644 index 583f7f1d1aa3..000000000000 --- a/net-analyzer/nmap/files/nmap-7.80-ac-config-subdirs.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -468,7 +468,6 @@ - fi - - if test $have_libpcap != yes; then -- AC_CONFIG_SUBDIRS(libpcap) - if test "${LIBPCAP_INC+set}" = "set"; then - CPPFLAGS="$CPPFLAGS -I$LIBPCAP_INC" - else -@@ -611,7 +610,6 @@ - fi - - if test $have_libz != yes; then -- AC_CONFIG_SUBDIRS(libz) - # TODO: This doesn't work because libssh2's configure script is looking for - # already-built libs. Giving up for now: build libz first or install - # headers/libs on your own if you want compression support for SSH. -@@ -697,7 +695,6 @@ - # If we still don't have it, we use our own - if test $have_libssh2 != yes; then - have_libssh2=yes -- AC_CONFIG_SUBDIRS(libssh2) - CPPFLAGS="-I\$(top_srcdir)/$LIBSSH2DIR/include $CPPFLAGS" - LIBSSH2_LIBS="$LIBSSH2DIR/lib/libssh2.a" - LIBSSH2_BUILD="build-libssh2" diff --git a/net-analyzer/nmap/files/nmap-7.91-ncat-proxy.patch b/net-analyzer/nmap/files/nmap-7.91-ncat-proxy.patch deleted file mode 100644 index 513c7fbd418f..000000000000 --- a/net-analyzer/nmap/files/nmap-7.91-ncat-proxy.patch +++ /dev/null @@ -1,37 +0,0 @@ -https://bugs.gentoo.org/770808 -https://github.com/nmap/nmap/commit/169d7e5a922ef8e63b51ee2bdf4fd4ad60ed2689 - -From 169d7e5a922ef8e63b51ee2bdf4fd4ad60ed2689 Mon Sep 17 00:00:00 2001 -From: dmiller <dmiller@e0a8ed71-7df4-0310-8962-fdc924857419> -Date: Thu, 19 Nov 2020 17:34:24 +0000 -Subject: [PATCH] Restore call to post_connect in non-ssl case. Fixes #2149 - ---- - ncat/ncat_connect.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git a/ncat/ncat_connect.c b/ncat/ncat_connect.c -index 606eac412f..f59dd4372f 100644 ---- a/ncat/ncat_connect.c -+++ b/ncat/ncat_connect.c -@@ -1064,12 +1064,17 @@ int ncat_connect(void) - bye("Failed to set hostname on iod."); - if (o.ssl) - { -+ /* connect_handler creates stdin_nsi and calls post_connect */ - nsock_reconnect_ssl(mypool, cs.sock_nsi, connect_handler, o.conntimeout, NULL, NULL); - } -+ else -+ { -+ /* Create IOD for nsp->stdin */ -+ if ((cs.stdin_nsi = nsock_iod_new2(mypool, 0, NULL)) == NULL) -+ bye("Failed to create stdin nsiod."); - -- /* Create IOD for nsp->stdin */ -- if ((cs.stdin_nsi = nsock_iod_new2(mypool, 0, NULL)) == NULL) -- bye("Failed to create stdin nsiod."); -+ post_connect(mypool, cs.sock_nsi); -+ } - } - - /* connect */ diff --git a/net-analyzer/nmap/files/nmap-7.91-ncat-unix-sockets.patch b/net-analyzer/nmap/files/nmap-7.91-ncat-unix-sockets.patch deleted file mode 100644 index f617fd4b134c..000000000000 --- a/net-analyzer/nmap/files/nmap-7.91-ncat-unix-sockets.patch +++ /dev/null @@ -1,30 +0,0 @@ -https://bugs.gentoo.org/765148 -https://github.com/nmap/nmap/commit/f6b40614e4a8131394792d590965f8af3c635323 - -From f6b40614e4a8131394792d590965f8af3c635323 Mon Sep 17 00:00:00 2001 -From: nnposter <nnposter@e0a8ed71-7df4-0310-8962-fdc924857419> -Date: Fri, 16 Oct 2020 02:54:52 +0000 -Subject: [PATCH] Fix a Unix domain socket crash. Fixes #2154 - -diff --git a/ncat/ncat_main.c b/ncat/ncat_main.c -index 8942d83cb9..2792a6ac24 100644 ---- a/ncat/ncat_main.c -+++ b/ncat/ncat_main.c -@@ -846,7 +846,7 @@ int main(int argc, char *argv[]) - targetaddrs->addr.un.sun_family = AF_UNIX; - strncpy(targetaddrs->addr.un.sun_path, argv[optind], sizeof(targetaddrs->addr.un.sun_path)); - targetaddrs->addrlen = SUN_LEN(&targetaddrs->addr.un); -- o.target = argv[optind]; -+ o.sslservername = o.target = argv[optind]; - optind++; - } else - #endif -@@ -865,7 +865,7 @@ int main(int argc, char *argv[]) - targetaddrs->addr.vm.svm_cid = long_cid; - - targetaddrs->addrlen = sizeof(targetaddrs->addr.vm); -- o.target = argv[optind]; -+ o.sslservername = o.target = argv[optind]; - optind++; - } - } else diff --git a/net-analyzer/nmap/files/nmap-7.91-no-FORTIFY_SOURCE.patch b/net-analyzer/nmap/files/nmap-7.91-no-FORTIFY_SOURCE.patch deleted file mode 100644 index b4c06be942ed..000000000000 --- a/net-analyzer/nmap/files/nmap-7.91-no-FORTIFY_SOURCE.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- a/nbase/Makefile.in -+++ b/nbase/Makefile.in -@@ -12,7 +12,7 @@ - CCOPT = - DEFS = @DEFS@ - # With GCC, add extra security checks to source code. --DEFS += -D_FORTIFY_SOURCE=2 -+DEFS += - CPPFLAGS = @CPPFLAGS@ - CFLAGS = @CFLAGS@ $(CCOPT) $(GLIB_CFLAGS) $(DEFS) $(INCLS) - STATIC = ---- a/ncat/Makefile.in -+++ b/ncat/Makefile.in -@@ -53,7 +53,7 @@ - LIBS = @LIBS@ - DEFS = @DEFS@ -DNCAT_DATADIR="\"$(pkgdatadir)\"" - # With GCC, add extra security checks to source code. --DEFS += -D_FORTIFY_SOURCE=2 -+DEFS += - INCLS = -I. -I.. -I../nsock/include/ -I$(NBASEDIR) - RM = rm -f - STRIP = @STRIP@ ---- a/nsock/src/Makefile.in -+++ b/nsock/src/Makefile.in -@@ -13,7 +13,7 @@ - CCOPT = - DEFS = @DEFS@ -DNSOCK_VERSION=\"$(NSOCK_VERSION)\" - # With GCC, add extra security checks to source code. --DEFS += -D_FORTIFY_SOURCE=2 -+DEFS += - INCLS = -I../include - CFLAGS = @CFLAGS@ $(CCOPT) - # CFLAGS = -g -Wall $(DEFS) $(INCLS) ---- a/libnetutil/Makefile.in -+++ b/libnetutil/Makefile.in -@@ -5,7 +5,7 @@ - CXXFLAGS = @CXXFLAGS@ - CPPFLAGS = @CPPFLAGS@ $(DEFS) - DEFS = @DEFS@ --DEFS += -D_FORTIFY_SOURCE=2 -+DEFS += - AR = ar - RANLIB = @RANLIB@ - ---- a/Makefile.in -+++ b/Makefile.in -@@ -41,7 +41,7 @@ - # http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html - # Level 1 only makes changes that don't affect "conforming" programs, - # while level 2 enforces additional restrictions. --DEFS += -D_FORTIFY_SOURCE=2 -+DEFS += - # For mtrace debugging -- see MTRACE define in main.cc for instructions - # Should only be enabled during debugging and not in any real release. - # DEFS += -DMTRACE=1 ---- a/nping/Makefile.in -+++ b/nping/Makefile.in -@@ -38,7 +38,7 @@ - # http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html - # Level 1 only makes changes that don't affect "conforming" programs, - # while level 2 enforces additional restrictions. --DEFS += -D_FORTIFY_SOURCE=2 -+DEFS += - # For mtrace debugging -- see MTRACE define in main.cc for instructions - # Should only be enabled during debugging and not in any real release. - # DEFS += -DMTRACE=1 diff --git a/net-analyzer/nmap/files/nmap-7.94-autoconf-2.72.patch b/net-analyzer/nmap/files/nmap-7.94-autoconf-2.72.patch deleted file mode 100644 index bf6affb516d0..000000000000 --- a/net-analyzer/nmap/files/nmap-7.94-autoconf-2.72.patch +++ /dev/null @@ -1,33 +0,0 @@ -https://github.com/nmap/nmap/pull/2763 -https://bugs.gentoo.org/920712 ---- a/libdnet-stripped/config/acinclude.m4 -+++ b/libdnet-stripped/config/acinclude.m4 -@@ -201,6 +201,8 @@ - dnl - AC_DEFUN(AC_DNET_IOCTL_ARP, - [AC_MSG_CHECKING(for arp(7) ioctls) -+ AC_PROG_EGREP -+ AC_PROG_CPP - AC_CACHE_VAL(ac_cv_dnet_ioctl_arp, - AC_EGREP_CPP(werd, [ - # include <sys/types.h> ---- a/libdnet-stripped/configure.in -+++ b/libdnet-stripped/configure.in -@@ -211,7 +211,7 @@ - AC_REPLACE_FUNCS(err strlcpy strsep) - - dnl Checks for other system-specific jonks. --if test "$CYGWIN" != yes ; then -+AS_IF([test "$CYGWIN" != yes], [ - AC_DNET_BSD_BPF - AC_DNET_LINUX_PROCFS - AC_DNET_LINUX_PF_PACKET -@@ -221,7 +221,7 @@ - AC_DNET_RAWIP_HOST_OFFLEN - AC_DNET_RAWIP_COOKED - AC_DNET_GETKERNINFO --fi -+]) - - dnl Check for arp interface. - if test "$ac_cv_header_Iphlpapi_h" = yes ; then diff --git a/net-analyzer/nmap/files/nmap-7.96.nse_ssl_cert.patch b/net-analyzer/nmap/files/nmap-7.96.nse_ssl_cert.patch deleted file mode 100644 index 1c97d00ba483..000000000000 --- a/net-analyzer/nmap/files/nmap-7.96.nse_ssl_cert.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff '--color=auto' -urN nmap-7.96.orig/nse_ssl_cert.cc nmap-7.96/nse_ssl_cert.cc ---- nmap-7.96.orig/nse_ssl_cert.cc 2025-05-11 18:10:29.497696430 +0200 -+++ nmap-7.96/nse_ssl_cert.cc 2025-05-11 18:12:06.438770299 +0200 -@@ -79,7 +79,7 @@ - #include <openssl/evp.h> - #include <openssl/err.h> - --#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined LIBRESSL_VERSION_NUMBER -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) - /* Technically some of these things were added in 0x10100006 - * but that was pre-release. */ - #define HAVE_OPAQUE_STRUCTS 1 -@@ -474,7 +474,7 @@ - } - lua_setfield(L, -2, "curve_params"); - return 1; --#elif !defined(OPENSSL_NO_EC) -+#elif !defined(OPENSSL_NO_EC) && !defined LIBRESSL_VERSION_NUMBER - EC_KEY *ec_key = EVP_PKEY_get1_EC_KEY(pubkey); - const EC_GROUP *group = EC_KEY_get0_group(ec_key); - int nid; diff --git a/net-analyzer/nmap/files/nse_openssl.patch b/net-analyzer/nmap/files/nse_openssl.patch deleted file mode 100644 index 300b5fbde74a..000000000000 --- a/net-analyzer/nmap/files/nse_openssl.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: nse_openssl.cc ---- nse_openssl.cc.orig -+++ nse_openssl.cc -@@ -21,7 +21,7 @@ - #include <openssl/ripemd.h> - #include <openssl/sha.h> - --#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined LIBRESSL_VERSION_NUMBER -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) - #define HAVE_OPAQUE_STRUCTS 1 - #define FUNC_EVP_MD_CTX_init EVP_MD_CTX_reset - #define FUNC_EVP_MD_CTX_cleanup EVP_MD_CTX_reset diff --git a/net-analyzer/nmap/files/nse_ssl_cert.patch b/net-analyzer/nmap/files/nse_ssl_cert.patch deleted file mode 100644 index a623e58d9fd0..000000000000 --- a/net-analyzer/nmap/files/nse_ssl_cert.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: nse_ssl_cert.cc ---- nse_ssl_cert.cc.orig -+++ nse_ssl_cert.cc -@@ -81,7 +81,7 @@ - #include <openssl/evp.h> - #include <openssl/err.h> - --#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined LIBRESSL_VERSION_NUMBER -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) - /* Technically some of these things were added in 0x10100006 - * but that was pre-release. */ - #define HAVE_OPAQUE_STRUCTS 1 diff --git a/net-analyzer/nmap/metadata.xml b/net-analyzer/nmap/metadata.xml index a7ad4f842310..397c71caa0b5 100644 --- a/net-analyzer/nmap/metadata.xml +++ b/net-analyzer/nmap/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> <maintainer type="person"> <email>sam@gentoo.org</email> <name>Sam James</name> @@ -13,21 +9,20 @@ <email>dilfridge@gentoo.org</email> <name>Andreas K. Hüttel</name> </maintainer> - <maintainer type="person"> - <email>zlogene@gentoo.org</email> - <name>Mikle Kolyada</name> - </maintainer> - <upstream> - <remote-id type="cpe">cpe:/a:nmap:nmap</remote-id> - </upstream> <use> <flag name="libssh2">Enable SSH support through <pkg>net-libs/libssh2</pkg> </flag> <flag name="ncat">Install the ncat utility</flag> - <flag name="nmap-update">Install nmap-update, which uses <pkg>dev-vcs/subversion</pkg> to update nmap scripts in your home directory</flag> + <flag name="ndiff">Install the ndiff utility</flag> <flag name="nping">Install the nping utility</flag> <flag name="nse">Include support for the Nmap Scripting Engine (NSE)</flag> - <flag name="system-lua">Use <pkg>dev-lang/lua</pkg> instead of the bundled liblua</flag> + <flag name="symlink">Install symlink to nc</flag> + <flag name="zenmap">Install the GTK+ based nmap GUI, zenmap</flag> </use> + <upstream> + <bugs-to>https://github.com/nmap/nmap/issues</bugs-to> + <changelog>https://svn.nmap.org/nmap/CHANGELOG</changelog> + <doc>https://nmap.org/docs.html</doc> + </upstream> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/net-analyzer/nmap/nmap-7.95.ebuild b/net-analyzer/nmap/nmap-7.95.ebuild new file mode 100644 index 000000000000..949d89961b4d --- /dev/null +++ b/net-analyzer/nmap/nmap-7.95.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +LUA_REQ_USE="deprecated" +DISTUTILS_OPTIONAL=1 +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh" +PLOCALE_BACKUP="en" +inherit autotools distutils-r1 lua-single plocale toolchain-funcs + +DESCRIPTION="Network exploration tool and security / port scanner" +HOMEPAGE="https://nmap.org/" +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nmap/nmap" + +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc + inherit verify-sig + + SRC_URI="https://nmap.org/dist/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +fi + +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-7.95-patches-2.tar.xz" + +# https://github.com/nmap/nmap/issues/2199 +LICENSE="NPSL-0.95" +SLOT="0" +IUSE="ipv6 libssh2 ncat ndiff nping nls +nse ssl symlink zenmap" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + nse? ( ${LUA_REQUIRED_USE} ) + symlink? ( ncat ) +" + +RDEPEND=" + dev-libs/liblinear:= + dev-libs/libpcre2 + net-libs/libpcap + ndiff? ( ${PYTHON_DEPS} ) + libssh2? ( + net-libs/libssh2[zlib] + virtual/zlib:= + ) + nls? ( virtual/libintl ) + nse? ( + ${LUA_DEPS} + virtual/zlib:= + ) + ssl? ( dev-libs/openssl:= ) + symlink? ( + ncat? ( + !net-analyzer/netcat + !net-analyzer/openbsd-netcat + ) + ) + zenmap? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + ) +" +DEPEND="${RDEPEND}" +# Python is always needed at build time for some scripts +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + nls? ( sys-devel/gettext ) + zenmap? ( ${DISTUTILS_DEPS} ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +fi + +PATCHES=( + "${WORKDIR}"/${PN}-7.95-patches-2 +) + +pkg_setup() { + use nse && lua-single_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + elif use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc} + fi + + default +} + +src_prepare() { + default + + # Drop bundled libraries + rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die + + cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die + + delete_disabled_locale() { + # Force here as PLOCALES contains supported locales for man + # pages and zenmap doesn't have all of those + rm -rf zenmap/share/zenmap/locale/${1} || die + rm -f zenmap/share/zenmap/locale/${1}.po || die + } + plocale_for_each_disabled_locale delete_disabled_locale + + sed -i \ + -e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \ + Makefile.in || die + + cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die + + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # We need the original for a Darwin-specific fix, bug #604432 + mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die + fi +} + +src_configure() { + export ac_cv_path_PYTHON="${PYTHON}" + export am_cv_pathless_PYTHON="${EPYTHON}" + + python_setup + + local myeconfargs=( + $(use_enable ipv6) + $(use_enable nls) + $(use_with libssh2) + $(use_with ncat) + $(use_with ndiff) + $(use_with nping) + $(use_with nse liblua) + $(use_with ssl openssl) + $(use_with zenmap) + $(usex libssh2 --with-zlib) + $(usex nse --with-zlib) + --cache-file="${S}"/config.cache + # The bundled libdnet is incompatible with the version available in the + # tree, so we cannot use the system library here. + --with-libdnet=included + --with-pcre="${ESYSROOT}"/usr + --without-dpdk + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + local directory + for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do + emake -C "${directory}" makefile.dep + done + + emake \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" + + if use zenmap ; then + cd zenmap || die + distutils-r1_src_compile + fi +} + +src_test() { + local -x PATH="${S}:${PATH}" + + default +} + +src_install() { + # See bug #831713 for return of -j1 + LC_ALL=C emake \ + -j1 \ + DESTDIR="${D}" \ + STRIP=: \ + nmapdatadir="${EPREFIX}"/usr/share/nmap \ + install + + dodoc CHANGELOG HACKING docs/README docs/*.txt + + use symlink && dosym /usr/bin/ncat /usr/bin/nc + + if use ndiff ; then + python_optimize + fi + + if use zenmap ; then + distutils-r1_src_install + fi +} diff --git a/net-analyzer/nmap/nmap-7.97.ebuild b/net-analyzer/nmap/nmap-7.97.ebuild new file mode 100644 index 000000000000..8e02f4319e46 --- /dev/null +++ b/net-analyzer/nmap/nmap-7.97.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +LUA_REQ_USE="deprecated" +DISTUTILS_OPTIONAL=1 +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh" +PLOCALE_BACKUP="en" +inherit autotools distutils-r1 lua-single plocale toolchain-funcs + +DESCRIPTION="Network exploration tool and security / port scanner" +HOMEPAGE="https://nmap.org/" +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nmap/nmap" + +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc + inherit verify-sig + + SRC_URI="https://nmap.org/dist/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi + +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-7.97-patches-1.tar.xz" + +# https://github.com/nmap/nmap/issues/2199 +LICENSE="NPSL-0.95" +SLOT="0" +IUSE="ipv6 libssh2 ncat ndiff nping nls +nse ssl symlink zenmap" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + nse? ( ${LUA_REQUIRED_USE} ) + symlink? ( ncat ) +" + +RDEPEND=" + dev-libs/liblinear:= + dev-libs/libpcre2 + net-libs/libpcap + ndiff? ( ${PYTHON_DEPS} ) + libssh2? ( + net-libs/libssh2[zlib] + virtual/zlib:= + ) + nls? ( virtual/libintl ) + nse? ( + ${LUA_DEPS} + virtual/zlib:= + ) + ssl? ( dev-libs/openssl:= ) + symlink? ( + ncat? ( + !net-analyzer/netcat + !net-analyzer/openbsd-netcat + ) + ) + zenmap? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + ) +" +DEPEND="${RDEPEND}" +# Python is always needed at build time for some scripts +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + nls? ( sys-devel/gettext ) + zenmap? ( ${DISTUTILS_DEPS} ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +fi + +PATCHES=( + "${WORKDIR}"/${PN}-7.97-patches-2 +) + +pkg_setup() { + use nse && lua-single_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + elif use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc} + fi + + default +} + +src_prepare() { + default + + # Drop bundled libraries + rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die + + cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die + + delete_disabled_locale() { + # Force here as PLOCALES contains supported locales for man + # pages and zenmap doesn't have all of those + rm -rf zenmap/share/zenmap/locale/${1} || die + rm -f zenmap/share/zenmap/locale/${1}.po || die + } + plocale_for_each_disabled_locale delete_disabled_locale + + sed -i \ + -e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \ + Makefile.in || die + + cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die + + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # We need the original for a Darwin-specific fix, bug #604432 + mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die + fi +} + +src_configure() { + export ac_cv_path_PYTHON="${PYTHON}" + export am_cv_pathless_PYTHON="${EPYTHON}" + + python_setup + + local myeconfargs=( + $(use_enable ipv6) + $(use_enable nls) + $(use_with libssh2) + $(use_with ncat) + $(use_with ndiff) + $(use_with nping) + $(use_with nse liblua) + $(use_with ssl openssl) + $(use_with zenmap) + $(usex libssh2 --with-zlib) + $(usex nse --with-zlib) + --cache-file="${S}"/config.cache + # The bundled libdnet is incompatible with the version available in the + # tree, so we cannot use the system library here. + --with-libdnet=included + --with-libpcre="${ESYSROOT}"/usr + --without-dpdk + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + local directory + for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do + emake -C "${directory}" makefile.dep + done + + emake \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" + + if use ndiff || use zenmap ; then + distutils-r1_src_compile + fi +} + +python_compile() { + if use ndiff ; then + cd "${S}"/ndiff || die + distutils-r1_python_compile + fi + + if use zenmap ; then + cd "${S}"/zenmap || die + distutils-r1_python_compile + fi +} + +src_test() { + local -x PATH="${S}:${PATH}" + + default +} + +src_install() { + # See bug #831713 for return of -j1 + LC_ALL=C emake \ + -j1 \ + DESTDIR="${D}" \ + STRIP=: \ + nmapdatadir="${EPREFIX}"/usr/share/nmap \ + install + + dodoc CHANGELOG HACKING docs/README docs/*.txt + + use symlink && dosym /usr/bin/ncat /usr/bin/nc + + if use ndiff || use zenmap ; then + distutils-r1_src_install + python_optimize + fi +} diff --git a/net-analyzer/nmap/nmap-7.98.ebuild b/net-analyzer/nmap/nmap-7.98.ebuild index 42f499e44f32..dd64a256ae81 100644 --- a/net-analyzer/nmap/nmap-7.98.ebuild +++ b/net-analyzer/nmap/nmap-7.98.ebuild @@ -1,5 +1,6 @@ -# Copyright 2021-2025 Liguros Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 LUA_COMPAT=( lua5-{1,3,4} luajit ) @@ -10,17 +11,26 @@ DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{13..14} ) PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh" PLOCALE_BACKUP="en" -inherit autotools distutils-r1 lua-single plocale toolchain-funcs verify-sig +inherit autotools distutils-r1 lua-single plocale toolchain-funcs DESCRIPTION="Network exploration tool and security / port scanner" HOMEPAGE="https://nmap.org/" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 -SRC_URI=" - https://nmap.org/dist/${P}.tar.bz2 - verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc ) - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/nmap-7.95-patches-2.tar.xz -" + EGIT_REPO_URI="https://github.com/nmap/nmap" + +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc + inherit verify-sig + + SRC_URI="https://nmap.org/dist/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi + +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-7.97-patches-2.tar.xz" # https://github.com/nmap/nmap/issues/2199 LICENSE="NPSL-0.95" @@ -34,22 +44,19 @@ REQUIRED_USE=" RDEPEND=" dev-libs/liblinear:= - dev-libs/libpcre + dev-libs/libpcre2 net-libs/libpcap ndiff? ( ${PYTHON_DEPS} ) libssh2? ( net-libs/libssh2[zlib] - sys-libs/zlib + virtual/zlib:= ) nls? ( virtual/libintl ) nse? ( ${LUA_DEPS} - sys-libs/zlib - ) - ssl? ( - dev-libs/openssl:= - + virtual/zlib:= ) + ssl? ( dev-libs/openssl:= ) symlink? ( ncat? ( !net-analyzer/netcat @@ -69,18 +76,25 @@ BDEPEND=" ${PYTHON_DEPS} virtual/pkgconfig nls? ( sys-devel/gettext ) + zenmap? ( ${DISTUTILS_DEPS} ) " -BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +fi -pkg_setup() { - python-single-r1_pkg_setup +PATCHES=( + "${WORKDIR}"/${PN}-7.97-patches-1 +) +pkg_setup() { use nse && lua-single_pkg_setup } src_unpack() { - if use verify-sig ; then + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + elif use verify-sig ; then # Needed for downloaded patch (which is unsigned, which is fine) verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc} fi @@ -89,10 +103,6 @@ src_unpack() { } src_prepare() { - rm -f "${WORKDIR}"/${PN}-7.95-patches-2/0001-Don-t-recompile-Python-bytecode-unnecessarily.patch - rm -f "${WORKDIR}"/${PN}-7.95-patches-2/0008-Fix-Autoconf-2.72-bootstrap.patch - rm -f "${WORKDIR}"/${PN}-7.95-patches-2/0009-Python-use-gpep517.patch - eapply "${WORKDIR}"/${PN}-7.95-patches-2 default # Drop bundled libraries @@ -114,6 +124,7 @@ src_prepare() { cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die + eautoreconf if [[ ${CHOST} == *-darwin* ]] ; then # We need the original for a Darwin-specific fix, bug #604432 @@ -125,6 +136,8 @@ src_configure() { export ac_cv_path_PYTHON="${PYTHON}" export am_cv_pathless_PYTHON="${EPYTHON}" + python_setup + local myeconfargs=( $(use_enable ipv6) $(use_enable nls) @@ -141,7 +154,7 @@ src_configure() { # The bundled libdnet is incompatible with the version available in the # tree, so we cannot use the system library here. --with-libdnet=included - --with-pcre="${ESYSROOT}"/usr + --with-libpcre="${ESYSROOT}"/usr --without-dpdk ) @@ -157,6 +170,28 @@ src_compile() { emake \ AR="$(tc-getAR)" \ RANLIB="$(tc-getRANLIB)" + + if use ndiff || use zenmap ; then + distutils-r1_src_compile + fi +} + +python_compile() { + if use ndiff ; then + cd "${S}"/ndiff || die + distutils-r1_python_compile + fi + + if use zenmap ; then + cd "${S}"/zenmap || die + distutils-r1_python_compile + fi +} + +src_test() { + local -x PATH="${S}:${PATH}" + + default } src_install() { @@ -170,9 +205,10 @@ src_install() { dodoc CHANGELOG HACKING docs/README docs/*.txt + use symlink && dosym /usr/bin/ncat /usr/bin/nc + if use ndiff || use zenmap ; then + distutils-r1_src_install python_optimize fi - - use symlink && dosym /usr/bin/ncat /usr/bin/nc } diff --git a/net-analyzer/nmap/nmap-7.99.ebuild b/net-analyzer/nmap/nmap-7.99.ebuild index 540d0ef7aabf..b0e6f5e8807a 100644 --- a/net-analyzer/nmap/nmap-7.99.ebuild +++ b/net-analyzer/nmap/nmap-7.99.ebuild @@ -1,5 +1,6 @@ -# Copyright 2021-2026 Liguros Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 LUA_COMPAT=( lua5-{1,3,4} luajit ) @@ -14,18 +15,27 @@ inherit autotools distutils-r1 lua-single plocale toolchain-funcs DESCRIPTION="Network exploration tool and security / port scanner" HOMEPAGE="https://nmap.org/" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 -PATCH_VERS="7.97" -SRC_URI=" - https://nmap.org/dist/${P}.tar.bz2 - https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/nmap-${PATCH_VERS}-patches-2.tar.xz -" + EGIT_REPO_URI="https://github.com/nmap/nmap" + +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc + inherit verify-sig + + SRC_URI="https://nmap.org/dist/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos" +fi + +SRC_URI+=" https://distfiles.gentoo.org/pub/dev/dilfridge@gentoo.org/${CATEGORY}/${PN}/${PN}-7.99-patches-1.tar.xz" # https://github.com/nmap/nmap/issues/2199 LICENSE="NPSL-0.95" SLOT="0" -IUSE="ipv6 libssh2 ncat ndiff nping nls +nse ssl symlink zenmap" +IUSE="libssh2 ncat ndiff nping nls +nse ssl symlink zenmap" REQUIRED_USE=" ${PYTHON_REQUIRED_USE} nse? ( ${LUA_REQUIRED_USE} ) @@ -34,22 +44,19 @@ REQUIRED_USE=" RDEPEND=" dev-libs/liblinear:= - dev-libs/libpcre + dev-libs/libpcre2 net-libs/libpcap ndiff? ( ${PYTHON_DEPS} ) libssh2? ( net-libs/libssh2[zlib] - sys-libs/zlib + virtual/zlib:= ) nls? ( virtual/libintl ) nse? ( ${LUA_DEPS} - sys-libs/zlib - ) - ssl? ( - dev-libs/openssl:= - + virtual/zlib:= ) + ssl? ( dev-libs/openssl:= ) symlink? ( ncat? ( !net-analyzer/netcat @@ -72,17 +79,30 @@ BDEPEND=" zenmap? ( ${DISTUTILS_DEPS} ) " -pkg_setup() { - python-single-r1_pkg_setup +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +fi +PATCHES=( + "${WORKDIR}"/${PN}-7.99-patches-1 +) + +pkg_setup() { use nse && lua-single_pkg_setup } +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + elif use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc} + fi + + default +} + src_prepare() { - rm -f "${WORKDIR}"/${PN}-${PATCH_VERS}-patches-1/0001-Don-t-recompile-Python-bytecode-unnecessarily.patch - rm -f "${WORKDIR}"/${PN}-${PATCH_VERS}-patches-1/0004-Drop-AC_CONFIG_SUBDIRS-usage.patch - rm -f "${WORKDIR}"/${PN}-${PATCH_VERS}-patches-1/0009-Python-use-gpep517.patch - eapply "${WORKDIR}"/${PN}-${PATCH_VERS}-patches-1 default # Drop bundled libraries @@ -116,8 +136,10 @@ src_configure() { export ac_cv_path_PYTHON="${PYTHON}" export am_cv_pathless_PYTHON="${EPYTHON}" + python_setup + local myeconfargs=( - $(use_enable ipv6) + --enable-ipv6 $(use_enable nls) $(use_with libssh2) $(use_with ncat) @@ -132,7 +154,6 @@ src_configure() { # The bundled libdnet is incompatible with the version available in the # tree, so we cannot use the system library here. --with-libdnet=included - --with-pcre="${ESYSROOT}"/usr --without-dpdk ) diff --git a/net-analyzer/nmap/nmap-9999.ebuild b/net-analyzer/nmap/nmap-9999.ebuild new file mode 100644 index 000000000000..783055a2e731 --- /dev/null +++ b/net-analyzer/nmap/nmap-9999.ebuild @@ -0,0 +1,213 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +LUA_REQ_USE="deprecated" +DISTUTILS_OPTIONAL=1 +DISTUTILS_SINGLE_IMPL=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PLOCALES="de es fr hi hr hu id it ja pl pt_BR pt_PR ro ru sk zh" +PLOCALE_BACKUP="en" +inherit autotools distutils-r1 lua-single plocale toolchain-funcs + +DESCRIPTION="Network exploration tool and security / port scanner" +HOMEPAGE="https://nmap.org/" +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nmap/nmap" + +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/nmap.asc + inherit verify-sig + + SRC_URI="https://nmap.org/dist/${P}.tar.bz2" + SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +fi + +SRC_URI+=" https://distfiles.gentoo.org/pub/dev/dilfridge@gentoo.org/${CATEGORY}/${PN}/${PN}-7.99-patches-1.tar.xz" + +# https://github.com/nmap/nmap/issues/2199 +LICENSE="NPSL-0.95" +SLOT="0" +IUSE="libssh2 ncat ndiff nping nls +nse ssl symlink zenmap" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + nse? ( ${LUA_REQUIRED_USE} ) + symlink? ( ncat ) +" + +RDEPEND=" + dev-libs/liblinear:= + dev-libs/libpcre2 + net-libs/libpcap + ndiff? ( ${PYTHON_DEPS} ) + libssh2? ( + net-libs/libssh2[zlib] + virtual/zlib:= + ) + nls? ( virtual/libintl ) + nse? ( + ${LUA_DEPS} + virtual/zlib:= + ) + ssl? ( dev-libs/openssl:= ) + symlink? ( + ncat? ( + !net-analyzer/netcat + !net-analyzer/openbsd-netcat + ) + ) + zenmap? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') + ) +" +DEPEND="${RDEPEND}" +# Python is always needed at build time for some scripts +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + nls? ( sys-devel/gettext ) + zenmap? ( ${DISTUTILS_DEPS} ) +" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-nmap )" +fi + +PATCHES=( + "${WORKDIR}"/${PN}-7.99-patches-1 +) + +pkg_setup() { + use nse && lua-single_pkg_setup +} + +src_unpack() { + if [[ ${PV} == *9999 ]] ; then + git-r3_src_unpack + elif use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.asc} + fi + + default +} + +src_prepare() { + default + + # Drop bundled libraries + rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die + + cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die + + delete_disabled_locale() { + # Force here as PLOCALES contains supported locales for man + # pages and zenmap doesn't have all of those + rm -rf zenmap/share/zenmap/locale/${1} || die + rm -f zenmap/share/zenmap/locale/${1}.po || die + } + plocale_for_each_disabled_locale delete_disabled_locale + + sed -i \ + -e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \ + Makefile.in || die + + cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die + + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # We need the original for a Darwin-specific fix, bug #604432 + mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die + fi +} + +src_configure() { + export ac_cv_path_PYTHON="${PYTHON}" + export am_cv_pathless_PYTHON="${EPYTHON}" + + python_setup + + local myeconfargs=( + --enable-ipv6 + $(use_enable nls) + $(use_with libssh2) + $(use_with ncat) + $(use_with ndiff) + $(use_with nping) + $(use_with nse liblua) + $(use_with ssl openssl) + $(use_with zenmap) + $(usex libssh2 --with-zlib) + $(usex nse --with-zlib) + --cache-file="${S}"/config.cache + # The bundled libdnet is incompatible with the version available in the + # tree, so we cannot use the system library here. + --with-libdnet=included + --without-dpdk + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + local directory + for directory in . libnetutil nsock/src $(usev ncat) $(usev nping) ; do + emake -C "${directory}" makefile.dep + done + + emake \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" + + if use ndiff || use zenmap ; then + distutils-r1_src_compile + fi +} + +python_compile() { + if use ndiff ; then + cd "${S}"/ndiff || die + distutils-r1_python_compile + fi + + if use zenmap ; then + cd "${S}"/zenmap || die + distutils-r1_python_compile + fi +} + +src_test() { + local -x PATH="${S}:${PATH}" + + default +} + +src_install() { + # See bug #831713 for return of -j1 + LC_ALL=C emake \ + -j1 \ + DESTDIR="${D}" \ + STRIP=: \ + nmapdatadir="${EPREFIX}"/usr/share/nmap \ + install + + dodoc CHANGELOG HACKING docs/README docs/*.txt + + use symlink && dosym /usr/bin/ncat /usr/bin/nc + + if use ndiff || use zenmap ; then + distutils-r1_src_install + python_optimize + fi +} diff --git a/net-analyzer/tcpdump/Manifest b/net-analyzer/tcpdump/Manifest index af9563ffcd95..df890bbb02b9 100644 --- a/net-analyzer/tcpdump/Manifest +++ b/net-analyzer/tcpdump/Manifest @@ -1,2 +1,4 @@ DIST tcpdump-4.99.5.tar.gz 2045086 BLAKE2B 754c25eafe84754465356042faa1369678655aa93d1b736c259ca9a6bd1e18c44784ae136dc6a3e64af9903c05c29e1379aafd7badc0e129c5a29ae908db13ff SHA512 69bc52ef7af7fd562370adf2e95cb592aad6193df9ab1708de52ac86a4c1cff72e8b256a739b435c324ee2df61051abde7d2659bc40f061d7c4fbcab1dcaa2e2 +DIST tcpdump-4.99.5.tar.gz.sig 442 BLAKE2B 8742616147e2965ea6879b471662669f1942cdb8892834ac3ebfd4a6f610bde1a091bb85dc8c0836b26d1db7036d072608d7242ee4ddfbf590a07beb584a67cc SHA512 e36d2023973335cb95e91cb13414f6c0e6386175ed88fdeb2c0afabf7c39ad43f138d13b18ff2e88b142aad5147d37ddc03c3111e9d4d22bf3697e0acc30905c DIST tcpdump-4.99.6.tar.gz 2053753 BLAKE2B cf820f98d271a6cd97d0c2c7b4f6a6a3091b264a2cdb0c80e4cc0d0301ca4a817498b5941e0806d838cc819d20539157fc50b4be5634153eb2eeb6e540bd0196 SHA512 1a3c1855de8769ded66c86f0a8a54f5fe0943aa6855ff43bc8262895e749f7afe6a729cec4280d705f3e82942d0cee4b914bc1aa50e6ea686ad8ff798ca8df96 +DIST tcpdump-4.99.6.tar.gz.sig 442 BLAKE2B d6c533c7a259cebb9cfa2384b969f5625d225d32526c97016ef7f604dee6dfc17bdc9795b76b680601586b8bf0e8cfd04db2a6b4cf191befcd178d9dda520cba SHA512 421dddc51f43e93e76c6fa27aa2482a8de99247b8c42984c58f8009c4330c57f111d6f93c028e5c6506029b60ee02cdc0cc258adc4aaf346b0e11472d770fd9b diff --git a/net-analyzer/tcpdump/metadata.xml b/net-analyzer/tcpdump/metadata.xml index 9bec1bf51327..9659a6eddb43 100644 --- a/net-analyzer/tcpdump/metadata.xml +++ b/net-analyzer/tcpdump/metadata.xml @@ -1,24 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>dev@liguros.net</email> - <name>Development</name> - </maintainer> - <maintainer type="person"> - <email>zlogene@gentoo.org</email> - <name>Mikle Kolyada</name> - </maintainer> <maintainer type="person"> <email>sam@gentoo.org</email> <name>Sam James</name> </maintainer> - <upstream> - <remote-id type="cpe">cpe:/a:tcpdump:tcpdump</remote-id> - </upstream> <use> <flag name="smi">Build with <pkg>net-libs/libsmi</pkg> to load MIBs on the fly to decode SNMP packets</flag> - <flag name="drop-root">Drop privileges to pcap:pcap when run as root</flag> </use> + <upstream> + <remote-id type="cpe">cpe:/a:tcpdump:tcpdump</remote-id> + </upstream> <origin>baldeagleos-repo</origin> </pkgmetadata> diff --git a/net-analyzer/tcpdump/tcpdump-4.99.5.ebuild b/net-analyzer/tcpdump/tcpdump-4.99.5.ebuild index 24eab8ec1794..e24a465253cb 100644 --- a/net-analyzer/tcpdump/tcpdump-4.99.5.ebuild +++ b/net-analyzer/tcpdump/tcpdump-4.99.5.ebuild @@ -1,16 +1,29 @@ -# Copyright 2021-2024 Liguros Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 inherit autotools DESCRIPTION="A tool for network monitoring and data acquisition" HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/tcpdump" -SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/the-tcpdump-group/tcpdump" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc + inherit verify-sig + + SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +fi LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE="+caps +smi +ssl +samba suid test" REQUIRED_USE="test? ( samba )" RESTRICT="!test? ( test )" @@ -25,7 +38,6 @@ RDEPEND=" smi? ( net-libs/libsmi ) ssl? ( >=dev-libs/openssl-0.9.6m:= - ) suid? ( acct-group/pcap @@ -40,6 +52,10 @@ DEPEND=" " BDEPEND="caps? ( virtual/pkgconfig )" +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20240901 )" +fi + PATCHES=( "${FILESDIR}"/${PN}-4.99.5-libdir.patch "${FILESDIR}"/${PN}-4.99.5-lfs.patch diff --git a/net-analyzer/tcpdump/tcpdump-4.99.6.ebuild b/net-analyzer/tcpdump/tcpdump-4.99.6.ebuild index cab41b312107..c9011826b31b 100644 --- a/net-analyzer/tcpdump/tcpdump-4.99.6.ebuild +++ b/net-analyzer/tcpdump/tcpdump-4.99.6.ebuild @@ -1,22 +1,37 @@ -# Copyright 2021-2026 Liguros Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 inherit autotools -DESCRIPTION="A tool for network monitoring and data acquisition" +DESCRIPTION="Tool for network monitoring and data acquisition" HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/tcpdump" -SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/the-tcpdump-group/tcpdump" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc + inherit verify-sig + + SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" + + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +fi LICENSE="BSD" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE="+caps +smi +ssl +samba suid test" REQUIRED_USE="test? ( samba )" RESTRICT="!test? ( test )" +# The minimum version of libpcap for tests to pass is often mentioned +# at https://www.tcpdump.org/index.html#latest-releases RDEPEND=" - >=net-libs/libpcap-1.10.1 + >=net-libs/libpcap-1.10.5 caps? ( acct-group/pcap acct-user/pcap @@ -25,7 +40,6 @@ RDEPEND=" smi? ( net-libs/libsmi ) ssl? ( >=dev-libs/openssl-0.9.6m:= - ) suid? ( acct-group/pcap @@ -40,6 +54,10 @@ DEPEND=" " BDEPEND="caps? ( virtual/pkgconfig )" +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260104 )" +fi + PATCHES=( "${FILESDIR}"/${PN}-4.99.5-libdir.patch "${FILESDIR}"/${PN}-4.99.5-lfs.patch @@ -51,12 +69,15 @@ src_prepare() { } src_configure() { - econf \ - $(use_enable samba smb) \ - $(use_with caps cap-ng) \ - $(use_with smi) \ - $(use_with ssl crypto "${ESYSROOT}/usr") \ + local myeconfargs=( + $(use_enable samba smb) + $(use_with caps cap-ng) + $(use_with smi) + $(use_with ssl crypto "${ESYSROOT}/usr") $(usex caps "--with-user=pcap" "") + ) + + econf "${myeconfargs[@]}" } src_test() { diff --git a/net-analyzer/tcpdump/tcpdump-9999.ebuild b/net-analyzer/tcpdump/tcpdump-9999.ebuild new file mode 100644 index 000000000000..3c062623d1e6 --- /dev/null +++ b/net-analyzer/tcpdump/tcpdump-9999.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Tool for network monitoring and data acquisition" +HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/tcpdump" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/the-tcpdump-group/tcpdump" +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc + inherit verify-sig + + SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz" + SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="+caps +smi +ssl +samba suid test" +REQUIRED_USE="test? ( samba )" +RESTRICT="!test? ( test )" + +# The minimum version of libpcap for tests to pass is often mentioned +# at https://www.tcpdump.org/index.html#latest-releases +RDEPEND=" + >=net-libs/libpcap-1.10.5 + caps? ( + acct-group/pcap + acct-user/pcap + sys-libs/libcap-ng + ) + smi? ( net-libs/libsmi ) + ssl? ( + >=dev-libs/openssl-0.9.6m:= + ) + suid? ( + acct-group/pcap + acct-user/pcap + ) +" +DEPEND=" + ${RDEPEND} + test? ( + dev-lang/perl + ) +" +BDEPEND="caps? ( virtual/pkgconfig )" + +if [[ ${PV} != *9999* ]] ; then + BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20260104 )" +fi + +PATCHES=( + "${FILESDIR}"/${PN}-4.99.5-libdir.patch + "${FILESDIR}"/${PN}-4.99.5-lfs.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable samba smb) + $(use_with caps cap-ng) + $(use_with smi) + $(use_with ssl crypto "${ESYSROOT}/usr") + $(usex caps "--with-user=pcap" "") + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + if [[ ${EUID} -ne 0 ]] || ! use caps ; then + emake check + else + ewarn "If you want to run the test suite, make sure you either" + ewarn "set FEATURES=userpriv or set USE=-caps" + fi +} + +src_install() { + dosbin tcpdump + doman tcpdump.1 + dodoc *.awk + dodoc CHANGES CREDITS README.md + + if use suid ; then + fowners root:pcap /usr/sbin/tcpdump + fperms 4110 /usr/sbin/tcpdump + fi +} + +pkg_postinst() { + use suid && elog "To let normal users run tcpdump, add them to the pcap group." +} |
