commit:     7cefea9449d4de65a2422689e2c3253b65a62578
Author:     Tomáš Mózes <hydrapolic <AT> gmail <DOT> com>
AuthorDate: Fri Feb  3 20:18:33 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb 15 05:52:05 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7cefea94

app-admin/syslog-ng: add 4.0.1

Signed-off-by: Tomáš Mózes <hydrapolic <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/29412
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-admin/syslog-ng/Manifest               |   1 +
 app-admin/syslog-ng/syslog-ng-4.0.1.ebuild | 178 +++++++++++++++++++++++++++++
 2 files changed, 179 insertions(+)

diff --git a/app-admin/syslog-ng/Manifest b/app-admin/syslog-ng/Manifest
index 90904d8d0eec..50c22bc534d6 100644
--- a/app-admin/syslog-ng/Manifest
+++ b/app-admin/syslog-ng/Manifest
@@ -1 +1,2 @@
 DIST syslog-ng-3.38.1.tar.gz 5405048 BLAKE2B 
7819cbe0caab7f580ca9f71181c84d64da838a238a6f8b8b79c8816e37e5691e72e1284de57d5066d3c681d8751950e5a32d65a1b1af4e064dd82f2c59899fe3
 SHA512 
3a3ef5c72d8c211ed2914791380061dcd48ea1ea95f636a1a8649dc5dee731a11e9ae000a37cbeeba624f4053b623b697e6c7f945a81153106c2365f4f09a847
+DIST syslog-ng-4.0.1.tar.gz 5452824 BLAKE2B 
a5c0328f3c88a38dbc07bb7af2a74c0037a6679525a29fca58620a8ef6b05ec13f3942d26767aded0049376ed30ce6a525686501914648a509997c5de2b48eb4
 SHA512 
5f83ee3cc4935218feb19f3f5065a68099e3ee291d806ad8810499ded9f9ef3b326b4b22841cd736354ed6a2ebc1ce8ae73f6abe981aa6f64c42da9ee3b1e22f

diff --git a/app-admin/syslog-ng/syslog-ng-4.0.1.ebuild 
b/app-admin/syslog-ng/syslog-ng-4.0.1.ebuild
new file mode 100644
index 000000000000..ca7e9ae7a1a9
--- /dev/null
+++ b/app-admin/syslog-ng/syslog-ng-4.0.1.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools python-single-r1 systemd
+
+MY_PV_MM=$(ver_cut 1-2)
+DESCRIPTION="syslog replacement with advanced filtering features"
+HOMEPAGE="https://www.syslog-ng.com/products/open-source-log-management/";
+SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz";
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis 
smtp snmp test spoof-source systemd tcpd"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+       test? ( python )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       >=dev-libs/glib-2.10.1:2
+       >=dev-libs/ivykis-0.42.4
+       >=dev-libs/libpcre-6.1:=
+       !dev-libs/eventlog
+       amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
+       caps? ( sys-libs/libcap )
+       dbi? ( >=dev-db/libdbi-0.9.0 )
+       geoip2? ( dev-libs/libmaxminddb:= )
+       http? ( net-misc/curl )
+       json? ( >=dev-libs/json-c-0.9:= )
+       kafka? ( >=dev-libs/librdkafka-1.0.0:= )
+       mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
+       python? ( ${PYTHON_DEPS} )
+       redis? ( >=dev-libs/hiredis-0.11.0:= )
+       smtp? ( net-libs/libesmtp:= )
+       snmp? ( net-analyzer/net-snmp:0= )
+       spoof-source? ( net-libs/libnet:1.1= )
+       systemd? ( sys-apps/systemd:= )
+       tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+       dev-libs/openssl:0="
+DEPEND="${RDEPEND}
+       test? ( dev-libs/criterion )"
+BDEPEND="
+       >=sys-devel/bison-3.7.6
+       sys-devel/flex
+       virtual/pkgconfig"
+
+DOCS=( AUTHORS NEWS.md CONTRIBUTING.md 
contrib/syslog-ng.conf.{HP-UX,RedHat,SunOS,doc}
+       contrib/syslog2ng "${T}/syslog-ng.conf.gentoo.hardened"
+       "${T}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened" )
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.28.1-net-snmp.patch
+)
+
+pkg_setup() {
+       use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       local f
+
+       # disable python-modules test as it requires additional python modules 
not
+       # packaged in Gentoo
+       sed -i '/MAKE/s/.*/exit 0/g' modules/python-modules/test_pymodules.sh 
|| die
+
+       use python && python_fix_shebang .
+
+       # remove bundled libs
+       rm -r lib/ivykis || die
+
+       # drop scl modules requiring json
+       if use !json; then
+               sed -i -r 
'/cim|elasticsearch|ewmm|graylog2|loggly|logmatic|netskope|nodejs|osquery|slack/d'
 scl/Makefile.am || die
+       fi
+
+       # drop scl modules requiring http
+       if use !http; then
+               sed -i -r '/slack|telegram/d' scl/Makefile.am || die
+       fi
+
+       # use gentoo default path
+       if use systemd; then
+               sed -e 
's@/etc/syslog-ng.conf@/etc/syslog-ng/syslog-ng.conf@g;s@/var/run@/run@g' \
+                       -i contrib/systemd/syslog-ng@default || die
+       fi
+
+       for f in syslog-ng.logrotate.hardened.in syslog-ng.logrotate.in; do
+               sed \
+                       -e "s#@GENTOO_RESTART@#$(usex systemd "systemctl kill 
-s HUP syslog-ng@default" \
+                               "/etc/init.d/syslog-ng reload")#g" \
+                       "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
+       done
+
+       for f in syslog-ng.conf.gentoo.hardened.in \
+                       syslog-ng.conf.gentoo.in; do
+               sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" 
> "${T}/${f/.in/}" || die
+       done
+
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local myconf=(
+               --disable-docs
+               --disable-java
+               --disable-java-modules
+               --disable-riemann
+               --enable-manpages
+               --localstatedir=/var/lib/syslog-ng
+               --sysconfdir=/etc/syslog-ng
+               --with-embedded-crypto
+               --with-ivykis=system
+               --with-module-dir=/usr/$(get_libdir)/syslog-ng
+               --with-pidfile-dir=/var/run
+               --with-python-packages=none
+               --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+               $(use_enable amqp)
+               $(usex amqp --with-librabbitmq-client=system 
--without-librabbitmq-client)
+               $(use_enable caps linux-caps)
+               $(use_enable dbi sql)
+               $(use_enable geoip2)
+               $(use_enable http)
+               $(use_enable ipv6)
+               $(use_enable json)
+               $(use_enable kafka)
+               $(use_enable mongodb)
+               $(usex mongodb --with-mongoc=system "--without-mongoc 
--disable-legacy-mongodb-options")
+               $(use_enable pacct)
+               $(use_enable python)
+               $(use_enable redis)
+               $(use_enable smtp)
+               $(use_enable snmp afsnmp)
+               $(use_enable spoof-source)
+               $(use_enable systemd)
+               $(use_enable tcpd tcp-wrapper)
+       )
+
+       econf "${myconf[@]}"
+}
+
+src_install() {
+       default
+
+       # Install default configuration
+       insinto /etc/default
+       doins contrib/systemd/syslog-ng@default
+
+       insinto /etc/syslog-ng
+       newins "${T}/syslog-ng.conf.gentoo" syslog-ng.conf
+
+       insinto /etc/logrotate.d
+       newins "${T}/syslog-ng.logrotate" syslog-ng
+
+       newinitd "${FILESDIR}/syslog-ng.rc" syslog-ng
+       newconfd "${FILESDIR}/syslog-ng.confd" syslog-ng
+       keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
+       find "${D}" -name '*.la' -delete || die
+
+       use python && python_optimize
+}
+
+pkg_postinst() {
+       # bug #355257
+       if ! has_version app-admin/logrotate ; then
+               elog "It is highly recommended that app-admin/logrotate be 
emerged to"
+               elog "manage the log files.  ${PN} installs a file in 
/etc/logrotate.d"
+               elog "for logrotate to use."
+       fi
+
+       if use systemd; then
+               ewarn "The service file for systemd has changed to support 
multiple instances."
+               ewarn "To start the default instance issue:"
+               ewarn "# systemctl start syslog-ng@default"
+       fi
+}

Reply via email to