forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-admin/syslog-ng: use pkgconfig to find libesmtp
The newer version of libesmtp (snapshot) drops autotools and dropped its homebrew libesmtp-config utility too. We now have to use pkgconfig to find it. Bug: https://bugs.gentoo.org/782643 Signed-off-by: Sam James <[email protected]>
- Loading branch information
1 parent
7ea6b09
commit 28e5e04
Showing
2 changed files
with
199 additions
and
0 deletions.
There are no files selected for viewing
26 changes: 26 additions & 0 deletions
26
app-admin/syslog-ng/files/syslog-ng-3.30.1-esmtp-pkgconfig.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
https://bugs.gentoo.org/782643 | ||
--- a/configure.ac | ||
+++ b/configure.ac | ||
@@ -1270,20 +1270,9 @@ if test "x$enable_smtp" != "xno" && test "x$with_libesmtp" != "xno"; then | ||
CPPFLAGS="$CPPFLAGS_SAVE" | ||
LDFLAGS="$LDFLAGS_SAVE" | ||
else | ||
- AC_MSG_CHECKING(for libESMTP) | ||
- if libesmtp-config --version >/dev/null 2>&1; then | ||
- AC_MSG_RESULT(yes) | ||
- LIBESMTP_CFLAGS="`libesmtp-config --cflags`" | ||
- LIBESMTP_LIBS="`libesmtp-config --libs`" | ||
- else | ||
- AC_MSG_RESULT(no) | ||
- libesmtp=no | ||
- fi | ||
- fi | ||
- if test "x$enable_smtp" = "xyes" && test "x$libesmtp" = "xno"; then | ||
- AC_MSG_ERROR(libESMTP not found) | ||
+ PKG_CHECK_MODULES(libesmtp, libesmtp-1.0) | ||
fi | ||
- enable_smtp=$libesmtp | ||
+ enable_smtp="yes" | ||
fi | ||
|
||
dnl *************************************************************************** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
# Copyright 1999-2021 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
PYTHON_COMPAT=( python3_{7..9} ) | ||
inherit autotools python-single-r1 systemd | ||
|
||
MY_PV_MM=$(ver_cut 1-2) | ||
DESCRIPTION="syslog replacement with advanced filtering features" | ||
HOMEPAGE="https://syslog-ng.com/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 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" | ||
IUSE="amqp caps dbi geoip2 http ipv6 json kafka libressl mongodb pacct python redis smtp snmp test spoof-source systemd tcpd" | ||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" | ||
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-1.0.6_p20200824:= ) | ||
snmp? ( net-analyzer/net-snmp:0= ) | ||
spoof-source? ( net-libs/libnet:1.1= ) | ||
systemd? ( sys-apps/systemd:= ) | ||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) | ||
!libressl? ( dev-libs/openssl:0= ) | ||
libressl? ( dev-libs/libressl:0= )" | ||
DEPEND="${RDEPEND} | ||
test? ( dev-libs/criterion )" | ||
BDEPEND=" | ||
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 | ||
"${FILESDIR}"/${PN}-3.30.1-esmtp-pkgconfig.patch | ||
) | ||
|
||
pkg_setup() { | ||
use python && python-single-r1_pkg_setup | ||
} | ||
|
||
src_prepare() { | ||
local f | ||
|
||
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-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 | ||
} |