summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Mair-Keimberger <mmk@levelnine.at>2024-06-01 11:52:21 +0200
committerConrad Kostecki <conikost@gentoo.org>2024-06-22 20:42:04 +0200
commit10a6a788084d424664ff2068fbde2c8c48dff1e2 (patch)
tree39c9be4756c5d10b4df470bb11fdc77ae64564a2 /app-admin/sagan
parentprofiles: for time64, make gcc-13 as prissy as gcc-14 (diff)
downloadgentoo-10a6a788084d424664ff2068fbde2c8c48dff1e2.tar.gz
gentoo-10a6a788084d424664ff2068fbde2c8c48dff1e2.tar.bz2
gentoo-10a6a788084d424664ff2068fbde2c8c48dff1e2.zip
app-admin/sagan: add 2.0.2
Signed-off-by: Michael Mair-Keimberger <mmk@levelnine.at> Closes: https://github.com/gentoo/gentoo/pull/36947 Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'app-admin/sagan')
-rw-r--r--app-admin/sagan/Manifest1
-rw-r--r--app-admin/sagan/sagan-2.0.2.ebuild131
2 files changed, 132 insertions, 0 deletions
diff --git a/app-admin/sagan/Manifest b/app-admin/sagan/Manifest
index 75ebb958f0e6..dc7df56a43a2 100644
--- a/app-admin/sagan/Manifest
+++ b/app-admin/sagan/Manifest
@@ -1 +1,2 @@
DIST sagan-2.0.1.tar.gz 487936 BLAKE2B 84a137bb0001c6758979d17cf67442262f732f7d49ce397183c0c226d6135e2c3cd8362452ef6b893e75a9cf5e874256d88f740b94df0dfa39587fc771ad4f8d SHA512 0cc288b67f641346bb0dbfcac2682c8c2b09e3e508b94dd5b2d5a81c2a80c7989f1d54725041210511877bd6b2338e8b0fdcae01f7084d39d48abef073d1fe64
+DIST sagan-2.0.2.tar.gz 323114 BLAKE2B f94864fc6ac0c05b17a01a4912afd5e9ea6665e188f64a6af4a635c5f1d53c47f20f9cf642e9fd088e6c73a1b732ad6a92ed9c071a6e66aa15c601a5946f3ccd SHA512 4753e984156c930b390e06802e918c2660e802fb1f07d7e014898f375fe4f8fd787a5b96e239998fed720147bc9a22906b42c75a88cc2695c1d836187d957817
diff --git a/app-admin/sagan/sagan-2.0.2.ebuild b/app-admin/sagan/sagan-2.0.2.ebuild
new file mode 100644
index 000000000000..5affe4b6f28b
--- /dev/null
+++ b/app-admin/sagan/sagan-2.0.2.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic tmpfiles systemd
+
+DESCRIPTION="Sagan is a multi-threaded, real time system and event log monitoring system"
+HOMEPAGE="https://github.com/quadrantsec/sagan"
+SRC_URI="https://github.com/quadrantsec/${PN}/archive/refs/tags/v,2,0.2.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-v-2-0.2/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="geoip +libdnet mysql redis +pcap smtp"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ acct-group/sagan
+ acct-user/sagan
+ app-admin/sagan-rules
+ dev-libs/libestr
+ dev-libs/libfastjson:=
+ dev-libs/liblognorm
+ dev-libs/libpcre
+ dev-libs/libyaml
+ geoip? ( dev-libs/geoip )
+ redis? ( dev-libs/hiredis:= )
+ pcap? ( net-libs/libpcap )
+ smtp? ( net-libs/libesmtp:= )
+"
+
+# Package no longer logs directly to a database
+# and relies on Unified2 format to accomplish it
+RDEPEND="
+ ${DEPEND}
+ mysql? ( net-analyzer/barnyard2[mysql] )
+"
+
+REQUIRED_USE="mysql? ( libdnet )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ append-flags -fcommon
+
+ # TODO: poke at strstr logic and enable/disable CPU_FLAGS_X86_*
+ # accordingly?
+ # Note that not all of these are used:
+ # https://github.com/quadrantsec/sagan/blob/main/m4/ax_ext.m4
+ local myeconfargs=(
+ --enable-lognorm
+ $(use_enable smtp esmtp)
+ $(use_enable redis)
+ $(use_enable pcap libpcap)
+ $(use_enable geoip)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # No need to create this at build/install time
+ rm -r "${ED}"/var/run/ || die
+
+ # Fix paths in config file
+ sed -i \
+ -e "s:/usr/local/:${EPREFIX}/:" \
+ -e "s:/var/run/sagan:${EPREFIX}/run/sagan:" \
+ "${ED}"/etc/sagan.yaml || die
+
+ diropts -g sagan -o sagan -m 750
+ # bug #775902
+ keepdir /var/sagan/{,fifo}
+ keepdir /var/log/sagan/{,stats}
+
+ fowners sagan:sagan /var/log/sagan/{,stats}
+
+ touch "${ED}"/var/log/sagan/sagan.log || die
+ fowners sagan:sagan /var/log/sagan/sagan.log || die
+
+ newinitd "${FILESDIR}"/sagan.init-r1 sagan
+ newconfd "${FILESDIR}"/sagan.confd sagan
+
+ systemd_dounit "${FILESDIR}"/sagan.service
+ newtmpfiles "${FILESDIR}"/sagan.tmpfiles sagan.conf
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/sagan.logrotate sagan
+
+ docinto examples
+ dodoc -r extra/*
+}
+
+pkg_preinst() {
+ # bug #775902 revealed that we need 750 on /var/log/sagan or e.g.
+ # logrotate will fail. Let's inform the user to fix up permissions
+ # in such a case.
+ # (fperms won't modify the live filesystem.)
+ HAD_BROKEN_PERMS=0
+
+ if has_version "<app-admin/sagan-2.0.1-r4" ; then
+ HAD_BROKEN_PERMS=1
+ fi
+}
+
+pkg_postinst() {
+ tmpfiles_process sagan.conf
+
+ if [[ "${HAD_BROKEN_PERMS}" -eq 1 ]] ; then
+ ewarn "Please fix the permissions on ${EPREFIX}/var/log/sagan:"
+ ewarn "e.g. chmod 750 ${EPREFIX}/var/log/sagan"
+ ewarn "See bug #775902"
+ fi
+
+ if use smtp; then
+ ewarn "You have enabled smtp use flag. If you plan on using Sagan with"
+ ewarn "email, create valid writable home directory for user 'sagan'"
+ ewarn "For security reasons it was created with /dev/null home directory"
+ fi
+
+ einfo "For configuration assistance see"
+ einfo "http://wiki.quadrantsec.com/bin/view/Main/SaganHOWTO"
+}