浏览代码

rsyslog: Fix systemd service creation

The rsyslog.service is installed by rsyslog, but the link is not created
so the service is not enabled.
In order to install the service file, use the correct configure flag.

So the INSTALL_INIT_SYSTEMD will create the link, it will also 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.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Maxime Hadjinlian 10 年之前
父节点
当前提交
0b8e10c2ed
共有 1 个文件被更改,包括 19 次插入4 次删除
  1. 19 4
      package/rsyslog/rsyslog.mk

+ 19 - 4
package/rsyslog/rsyslog.mk

@@ -57,17 +57,32 @@ else
 RSYSLOG_CONF_OPTS += --disable-uuid
 RSYSLOG_CONF_OPTS += --disable-uuid
 endif
 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
 define RSYSLOG_INSTALL_INIT_SYSV
 	$(INSTALL) -m 0755 -D package/rsyslog/S01logging \
 	$(INSTALL) -m 0755 -D package/rsyslog/S01logging \
 		$(TARGET_DIR)/etc/init.d/S01logging
 		$(TARGET_DIR)/etc/init.d/S01logging
 endef
 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
 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
 	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
 endef
 
 
 define RSYSLOG_INSTALL_CONF
 define RSYSLOG_INSTALL_CONF