diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk index 261f59dd35..1de481f16f 100644 --- a/package/rsyslog/rsyslog.mk +++ b/package/rsyslog/rsyslog.mk @@ -57,17 +57,32 @@ else RSYSLOG_CONF_OPTS += --disable-uuid endif +ifeq ($(BR2_INIT_SYSTEMD),y) +RSYSLOG_CONF_OPTS += \ + --enable-systemd \ + --with-systemdsystemunitdir=/usr/lib/systemd/system +RSYSLOG_DEPENDENCIES += systemd +else +RSYSLOG_CONF_OPTS += --disable-systemd +endif + define RSYSLOG_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/rsyslog/S01logging \ $(TARGET_DIR)/etc/init.d/S01logging endef +# The rsyslog.service is installed by rsyslog, but the link is not created +# so the service is not enabled. +# We need to create another link which is due to the fact that the +# rsyslog.service contains an Alias= +# If we were to use systemctl enable to enable the service, it would +# create both, so we mimic that. define RSYSLOG_INSTALL_INIT_SYSTEMD - ln -sf /lib/systemd/system/rsyslog.service \ - $(TARGET_DIR)/etc/systemd/system/syslog.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants - ln -sf ../syslog.service \ - $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/syslog.service + ln -sf ../../../../usr/lib/systemd/system/rsyslog.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rsyslog.service + ln -sf ../../../../usr/lib/systemd/system/rsyslog.service \ + $(TARGET_DIR)/etc/systemd/system/syslog.service endef define RSYSLOG_INSTALL_CONF