You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-admin/sysklogd/files/sysklogd-2.0-optional_logge...

102 lines
3.3 KiB

From 227008ec0f59eecf3a962ebd9fbc27a0e475a4df Mon Sep 17 00:00:00 2001
From: Lars Wendler <polynomial-c@gentoo.org>
Date: Mon, 18 Nov 2019 12:08:26 +0100
Subject: [PATCH] build: make logger and its man page optional
There are other packages that provide a logger program like util-linux
We should respekt that
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
---
configure.ac | 10 ++++++++++
man/Makefile.am | 6 +++++-
src/Makefile.am | 8 +++++++-
3 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 37c0bd4..e7acad7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -65,6 +65,10 @@ AC_ARG_WITH(systemd,
[AS_HELP_STRING([--with-systemd=DIR], [Directory for systemd service files])],,
[with_systemd=auto])
+AC_ARG_WITH(logger,
+ AS_HELP_STRING([--without-logger], [Do not build/install logger binary and man page, default: enabled]),
+ [logger=$withval], [logger='yes'])
+
AS_IF([test "x$klogd" != "xno"],
with_klogd="yes"
AC_DEFINE(KLOGD, 1, [Build with klogd, default: built-in /dev/kmsg support in syslogd]),
@@ -97,6 +101,12 @@ AS_IF([test "x$with_systemd" != "xno"],
[AC_SUBST([systemddir], [$with_systemd])])
AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemd" != "xno"])
+AS_IF([test "x$logger" != "xno"], [
+ with_logger="yes"
+ AC_DEFINE(LOGGER, 1, [Build with logger])],
+ with_logger="no")
+AM_CONDITIONAL([ENABLE_LOGGER], [test "x$with_logger" != "xno"])
+
# Expand $sbindir early, into $SBINDIR, for systemd unit file
# NOTE: This does *not* take prefix/exec_prefix override at "make
# install" into account, unfortunately.
diff --git a/man/Makefile.am b/man/Makefile.am
index 8ee7064..8ccad31 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1,4 +1,4 @@
-dist_man1_MANS = logger.1
+dist_man1_MANS =
dist_man3_MANS = syslogp.3
dist_man5_MANS = syslog.conf.5
dist_man8_MANS = syslogd.8
@@ -6,3 +6,7 @@ dist_man8_MANS = syslogd.8
if ENABLE_KLOGD
dist_man8_MANS += klogd.8
endif
+
+if ENABLE_LOGGER
+dist_man1_MANS += logger.1
+endif
diff --git a/src/Makefile.am b/src/Makefile.am
index 85f747b..849e49b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,7 +16,7 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-bin_PROGRAMS = logger
+bin_PROGRAMS =
sbin_PROGRAMS = syslogd
lib_LTLIBRARIES = libsyslog.la
noinst_LTLIBRARIES = libcompat.la
@@ -25,6 +25,10 @@ if ENABLE_KLOGD
sbin_PROGRAMS += klogd
endif
+if ENABLE_LOGGER
+bin_PROGRAMS += logger
+endif
+
AM_CFLAGS = -W -Wall -Wextra
AM_CFLAGS += -Wno-unused-result -Wno-unused-parameter -fno-strict-aliasing
AM_CPPFLAGS = -DSYSCONFDIR=\"@sysconfdir@\" -DLOCALSTATEDIR=\"@localstatedir@\"
@@ -39,10 +43,12 @@ klogd_CPPFLAGS = $(AM_CPPFLAGS)
klogd_LDADD = $(LIBS) $(LIBOBJS)
klogd_LDADD += libsyslog.la
+if ENABLE_LOGGER
logger_SOURCES = logger.c syslog.h
logger_CPPFLAGS = $(AM_CPPFLAGS) -D_XOPEN_SOURCE=600
logger_LDADD = $(LIBS) $(LIBOBJS)
logger_LDADD += libsyslog.la
+endif
# Convenience library for libsyslog instead of linking with $(LTLIBOBJS),
# which would pull in pidfile() and other (strong) symbols as well.
--
2.24.0