summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Melki <christian.melki@t2data.com>2021-10-18 09:14:53 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2021-10-25 16:56:11 +0200
commit822b224b012890cd8b621bb9b32bef6b0bea18c0 (patch)
treec1ba959d4b83bb9d3b425d06bc57a9f73968395c
parentd8c7b6738c0de92b285111428a1905c34c6c62d7 (diff)
downloadptxdist-822b224b012890cd8b621bb9b32bef6b0bea18c0.tar.gz
ptxdist-822b224b012890cd8b621bb9b32bef6b0bea18c0.tar.xz
sysklogd: Add new package.
Changes in v2: * Add handling for similar functions in busybox. * Example config installed as fallback in install_alternative * Old syntax configuration replaced with modern one. * Whitespace and ifdef corrections. Signed-off-by: Christian Melki <christian.melki@t2data.com> Message-Id: <20211018071453.3769512-1-christian.melki@t2data.com> [mol: fix service file name in targetinstall] Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--rules/sysklogd-bbinit.in8
-rw-r--r--rules/sysklogd.in42
-rw-r--r--rules/sysklogd.make90
3 files changed, 140 insertions, 0 deletions
diff --git a/rules/sysklogd-bbinit.in b/rules/sysklogd-bbinit.in
new file mode 100644
index 000000000..ea8f80832
--- /dev/null
+++ b/rules/sysklogd-bbinit.in
@@ -0,0 +1,8 @@
+## SECTION=initmethod_bbinit
+
+config SYSKLOGD_BBINIT_LINK
+ string
+ depends on SYSKLOGD_STARTSCRIPT
+ prompt "syslogd"
+ default "S10syslogd"
+
diff --git a/rules/sysklogd.in b/rules/sysklogd.in
new file mode 100644
index 000000000..e841e1935
--- /dev/null
+++ b/rules/sysklogd.in
@@ -0,0 +1,42 @@
+## SECTION=networking
+
+menuconfig SYSKLOGD
+ tristate
+ prompt "sysklogd "
+ depends on !BUSYBOX_SYSLOGD || ALLYES
+ depends on !BUSYBOX_LOGGER || ALLYES
+ select SYSTEMD if SYSKLOGD_SYSTEMD
+ help
+ The venerable BSD syslogd and klogd rolled into one syslogd.
+ This is a maintained and updated variant of the same.
+
+comment "BusyBox' syslogd is selected!"
+ depends on BUSYBOX_SYSLOGD
+
+comment "BusyBox' logger is selected!"
+ depends on BUSYBOX_LOGGER
+
+if SYSKLOGD
+
+comment "runtime options ---"
+
+config SYSKLOGD_SYSTEMD
+ bool
+ default y
+ prompt "Enable systemd support"
+ depends on INITMETHOD_SYSTEMD
+ help
+ Installs the systemd service file and enables support for the
+ systemd-journal
+
+config SYSKLOGD_STARTSCRIPT
+ bool
+ default y
+ depends on INITMETHOD_BBINIT
+ help
+ Installs (if present) the
+ "./projectroot/etc/init.d/syslogd" startscript from your
+ workspace, otherwise a generic one from the ptxdist
+ installation ("<PTXDIST>/projectroot/etc/init.d/syslogd").
+
+endif
diff --git a/rules/sysklogd.make b/rules/sysklogd.make
new file mode 100644
index 000000000..b3ad40be3
--- /dev/null
+++ b/rules/sysklogd.make
@@ -0,0 +1,90 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2021 by Christian Melki <christian.melki@t2data.com>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_SYSKLOGD) += sysklogd
+
+#
+# Paths and names
+#
+SYSKLOGD_VERSION := 2.2.3
+SYSKLOGD_MD5 := 2c6749c49f52b8c5dad18e9a9315e7dd
+SYSKLOGD := sysklogd-$(SYSKLOGD_VERSION)
+SYSKLOGD_SUFFIX := tar.gz
+SYSKLOGD_URL := https://github.com/troglobit/sysklogd/releases/download/v$(SYSKLOGD_VERSION)/$(SYSKLOGD).$(SYSKLOGD_SUFFIX)
+SYSKLOGD_SOURCE := $(SRCDIR)/$(SYSKLOGD).$(SYSKLOGD_SUFFIX)
+SYSKLOGD_DIR := $(BUILDDIR)/$(SYSKLOGD)
+SYSKLOGD_LICENSE := BSD-3-Clause
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# autoconf
+#
+SYSKLOGD_CONF_TOOL = autoconf
+SYSKLOGD_CONF_OPT = \
+ $(CROSS_AUTOCONF_USR)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/sysklogd.install:
+ @$(call targetinfo)
+ @$(call world/install, SYSKLOGD)
+ @install -vD -m 644 $(SYSKLOGD_DIR)/syslog.conf \
+ $(SYSKLOGD_PKGDIR)/etc/syslog.conf
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/sysklogd.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, sysklogd)
+ @$(call install_fixup, sysklogd,PRIORITY,optional)
+ @$(call install_fixup, sysklogd,SECTION,base)
+ @$(call install_fixup, sysklogd,AUTHOR,"Christian Melki <christian.melki@t2data.com>")
+ @$(call install_fixup, sysklogd,DESCRIPTION,missing)
+
+ @$(call install_copy, sysklogd, 0, 0, 0755, -, /usr/bin/logger)
+ @$(call install_copy, sysklogd, 0, 0, 0755, -, /usr/sbin/syslogd)
+ @$(call install_lib, sysklogd, 0, 0, 0644, libsyslog)
+
+ @$(call install_alternative, sysklogd, 0, 0, 0644, /etc/syslog.conf)
+
+ifdef PTXCONF_SYSKLOGD_STARTSCRIPT
+ @$(call install_alternative, sysklogd, 0, 0, 0755, /etc/init.d/syslogd)
+
+ifneq ($(call remove_quotes,$(PTXCONF_SYSKLOGD_BBINIT_LINK)),)
+ @$(call install_link, sysklogd, \
+ ../init.d/syslogd, \
+ /etc/rc.d/$(PTXCONF_SYSKLOGD_BBINIT_LINK))
+endif
+endif
+
+ifdef PTXCONF_INITMETHOD_SYSTEMD
+ @$(call install_alternative, sysklogd, 0, 0, 0644, \
+ /usr/lib/systemd/system/syslogd.service)
+ @$(call install_link, sysklogd, ../syslogd.service, \
+ /usr/lib/systemd/system/multi-user.target.wants/syslogd.service)
+ @$(call install_link, sysklogd, syslogd.service, \
+ /usr/lib/systemd/system/syslog.service)
+endif
+
+ @$(call install_finish, sysklogd)
+
+ @$(call touch)
+
+# vim: syntax=make