From 5f8f4ee4fd87ae58d8a2d312d979348117379c19 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Fri, 9 Jun 2023 19:59:35 +0200 Subject: [PATCH] Use Busybox syslogd --- openmptcprouter-full/Makefile | 2 +- syslogd/Makefile | 59 ++++++++++++++++++++++++++++++++ syslogd/files/etc/init.d/syslogd | 24 +++++++++++++ 3 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 syslogd/Makefile create mode 100755 syslogd/files/etc/init.d/syslogd diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index dd49c905b..c9141b684 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -82,7 +82,7 @@ MY_DEPENDS := \ luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim kmod-rtl8xxxu kmod-ath9k-htc luci-app-ttyd luci-mod-dashboard (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware kmod-usb2 libustream-openssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf (TARGET_x86||TARGET_x86_64):kmod-igbvf \ hwinfo (TARGET_x86||TARGET_x86_64):dmidecode luci-app-packet-capture kmod-bonding luci-proto-bonding luci-app-sysupgrade \ luci-theme-openwrt-2020 luci-proto-wireguard luci-app-wireguard kmod-crypto-lib-blake2s (TARGET_x86||TARGET_x86_64):kmod-r8125 \ - (LINUX_5_15||LINUX_6_1):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils v2ray-core + (LINUX_5_15||LINUX_6_1):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils v2ray-core syslogd # !TARGET_mvebu:kmod-usb-net-smsc75xx # libnetfilter-conntrack ebtables ebtables-utils ip-full nstat \ diff --git a/syslogd/Makefile b/syslogd/Makefile new file mode 100644 index 000000000..527d62024 --- /dev/null +++ b/syslogd/Makefile @@ -0,0 +1,59 @@ +# +# Copyright (C) 2023 Ycarus (Yannick Chabanois) for OpenMPTCProuter +# +# This is free software, licensed under the GNU General Public License v3 or later. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=syslogd +PKG_VERSION:=1 +PKG_RELEASE:=1 + +PKG_MAINTAINER:=Ycarus (Yannick Chabanois) +PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) + +include $(INCLUDE_DIR)/package.mk + +define Package/syslogd + SECTION:=utilities + CATEGORY:=Utilities + TITLE:=Busybox syslogd OpenWRT init script + DEPENDS:=+busybox + KCONFIG:=\ + CONFIG_BUSYBOX_CUSTOM=y \ + CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOG=y \ + CONFIG_BUSYBOX_CONFIG_LOGREAD=y \ + CONFIG_BUSYBOX_CONFIG_SYSLOGD=y \ + CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOGD_CFG=y \ + CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS=y \ + CONFIG_BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 \ + CONFIG_BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG=y \ + CONFIG_BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64 + PKGARCH:=all +endef + +define Package/syslogd/description + Busybox syslogd package with init script for OpenWRT +endef + +define Package/syslogd/conffiles +/etc/syslog.conf +endef + +define Build/Prepare +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/syslogd/install + $(INSTALL_DIR) $(1) + $(CP) ./files/* $(1)/ +endef + +$(eval $(call BuildPackage,syslogd)) diff --git a/syslogd/files/etc/init.d/syslogd b/syslogd/files/etc/init.d/syslogd new file mode 100755 index 000000000..30afc3b66 --- /dev/null +++ b/syslogd/files/etc/init.d/syslogd @@ -0,0 +1,24 @@ +#!/bin/sh /etc/rc.common + +START=11 + +USE_PROCD=1 +NAME=syslogd +PROG=/sbin/syslogd + +start_service() { + local log_size=$(uci -q get system.@system[0].log_size) + local log_ip=$(uci -q get system.@system[0].log_ip) + local log_port=$(uci -q get system.@system[0].log_port || echo '514') + local log_file=$(uci -q get system.@system[0].log_file) + local conloglevel=$(uci -q get system.@system[0].conloglevel) + + procd_open_instance + procd_set_param command "$PROG" -n ${log_size:+-C"$log_size"} ${log_ip:+-R"$log_ip":"$log_port"} ${log_file:+-O "$log_file"} ${conloglevel:+-l "$conloglevel"} + procd_set_param respawn + procd_close_instance +} + +reload_service() { + procd_send_signal syslogd +}