Skip to contentSkip to conversation

systemd support for various packages

PATCH New Alex Suykov 5 participants 80 messages May 23, 2015 – Jul 14, 2015 Arm/Allwinner sunXi SoC support

lore
Share & tools
lore
#0 lore raw

cover systemd support for various packages

This set adds systemd support to packages that install sysv initscripts but not systemd services. The idea is that the choice between BR2_INIT_SYSV and BR2_INIT_SYSTEMD should affect the process list in the resulting system as little as possible.

All services start foreground processes (Type=simple), and follow current initscripts otherwise whenever possible.

This set is not complete, several difficult packages including nfs were skipped.

All patches are independent, and can be reviewed/commited one at a time in any order. And this is for the next branch of course.

#1 lore raw

PATCH 1/38 at: systemd support

---
 package/at/at.mk       |  8 ++++++++
 package/at/atd.service | 11 +++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 package/at/atd.service
package/at/at.mk +8 -0
index 1504e32..be4c0b2 100644
@@ -25,4 +25,12 @@ define AT_INSTALL_INIT_SYSV
 	$(INSTALL) -m 0755 -D package/at/S99at $(TARGET_DIR)/etc/init.d/S99at
 endef
 
+define AT_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/at/atd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/atd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/atd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/atd.service
+endef
+
 $(eval $(autotools-package))
package/at/atd.service new file +11 -0
new file mode 100644
index 0000000..543cbc3
@@ -0,0 +1,11 @@
+[Unit]
+Description=Run jobs queued for later execution
+After=syslog.target
+
+[Service]
+UMask=077
+ExecStart=/usr/sbin/atd -f
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#6 lore raw

PATCH 2/38 chrony: systemd support

In reply to Alex Suykov

systemd has its own NTP daemon, which must be disabled before starting chrony. Possible (but unlikely) conflict with openntpd is not marked in either package.

---
 package/chrony/chrony.mk      |  8 ++++++++
 package/chrony/chrony.service | 11 +++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 package/chrony/chrony.service
package/chrony/chrony.mk +8 -0
index 8e41ddc..f8012ac 100644
@@ -45,4 +45,12 @@ define CHRONY_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 755 package/chrony/S49chrony $(TARGET_DIR)/etc/init.d/S49chrony
 endef
 
+define CHRONY_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/chrony/chrony.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/chrony.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/chrony.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/chrony.service
+endef
+
 $(eval $(generic-package))
package/chrony/chrony.service new file +11 -0
new file mode 100644
index 0000000..6000fce
@@ -0,0 +1,11 @@
+[Unit]
+Description=Chrony Network Time Daemon
+After=syslog.target network.target
+Conflicts=systemd-timesyncd.service
+
+[Service]
+ExecStart=/usr/bin/chronyd -n
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#8 lore raw

PATCH 3/38 dcron: systemd support

In reply to Alex Suykov
---
 package/dcron/dcron.mk      |  8 ++++++++
 package/dcron/dcron.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/dcron/dcron.service
package/dcron/dcron.mk +8 -0
index fcb585d..840471f 100644
@@ -33,4 +33,12 @@ define DCRON_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 0755 package/dcron/S90dcron $(TARGET_DIR)/etc/init.d/S90dcron
 endef
 
+define DCRON_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/dcron/dcron.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/dcron.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/dcron.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dcron.service
+endef
+
 $(eval $(generic-package))
package/dcron/dcron.service new file +10 -0
new file mode 100644
index 0000000..b9fa489
@@ -0,0 +1,10 @@
+[Unit]
+Description=Task scheduler daemon
+After=syslog.target
+
+[Service]
+ExecStart=/usr/sbin/crond -f -S
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#10 lore raw

PATCH 4/38 dmraid: systemd support

In reply to Alex Suykov

It is not really a service, just a start-stop script.

---
 package/dmraid/dmraid.mk      |  8 ++++++++
 package/dmraid/dmraid.service | 12 ++++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 package/dmraid/dmraid.service
package/dmraid/dmraid.mk +8 -0
index fbb2387..913d89e 100644
@@ -21,4 +21,12 @@ define DMRAID_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S20dmraid
 endef
 
+define DMRAID_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/dmraid/dmraid.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/dmraid.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/dmraid.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dmraid.service
+endef
+
 $(eval $(autotools-package))
package/dmraid/dmraid.service new file +12 -0
new file mode 100644
index 0000000..6318471
@@ -0,0 +1,12 @@
+[Unit]
+Description=dmraid device management
+
+[Service]
+Type=oneshot
+ExecStartPre=modprobe dm-mod
+ExecStart=/usr/sbin/dmraid --activate yes --ignorelocking
+ExecStop=/usr/sbin/dmraid --activate no --ignorelocking
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#11 lore raw

PATCH 5/38 dnsmasq: systemd support

In reply to Alex Suykov
---
 package/dnsmasq/dnsmasq.mk      |  8 ++++++++
 package/dnsmasq/dnsmasq.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/dnsmasq/dnsmasq.service
package/dnsmasq/dnsmasq.mk +8 -0
index 4b0999b..87daabe 100644
@@ -111,4 +111,12 @@ define DNSMASQ_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S80dnsmasq
 endef
 
+define DNSMASQ_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/dnsmasq/dnsmasq.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/dnsmasq.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/dnsmasq.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dnsmasq.service
+endef
+
 $(eval $(generic-package))
package/dnsmasq/dnsmasq.service new file +10 -0
new file mode 100644
index 0000000..7038b22
@@ -0,0 +1,10 @@
+[Unit]
+Description=DNS cacher and DHCP server
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/dnsmasq -k
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#13 lore raw

PATCH 6/38 ejabberd: systemd support

In reply to Alex Suykov
---
 package/ejabberd/ejabberd.mk      |  8 ++++++++
 package/ejabberd/ejabberd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/ejabberd/ejabberd.service
package/ejabberd/ejabberd.mk +8 -0
index 07ce78e..d8a931f 100644
@@ -48,4 +48,12 @@ define EJABBERD_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S50ejabberd
 endef
 
+define EJABBERD_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/ejabberd/ejabberd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/ejabberd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/ejabberd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ejabberd.service
+endef
+
 $(eval $(rebar-package))
package/ejabberd/ejabberd.service new file +10 -0
new file mode 100644
index 0000000..830fdd6
@@ -0,0 +1,10 @@
+[Unit]
+Description=Erlang Jabber daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/ejabberd
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#16 lore raw

PATCH 7/38 exim: systemd support

In reply to Alex Suykov
---
 package/exim/exim.mk      |  8 ++++++++
 package/exim/exim.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/exim/exim.service
package/exim/exim.mk +8 -0
index b852793..c950f4b 100644
@@ -125,4 +125,12 @@ define EXIM_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S86exim
 endef
 
+define EXIM_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/exim/exim.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/exim.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/exim.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/exim.service
+endef
+
 $(eval $(generic-package))
package/exim/exim.service new file +10 -0
new file mode 100644
index 0000000..26daabc
@@ -0,0 +1,10 @@
+[Unit]
+Description=Exim MTA
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/bin/exim -bdf
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#18 lore raw

PATCH 8/38 gpsd: systemd support

In reply to Alex Suykov

Just like with the sysv script, non-empty DEVICES value must be substituted in the installed file.

---
 package/gpsd/gpsd.mk      | 10 ++++++++++
 package/gpsd/gpsd.service | 10 ++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 package/gpsd/gpsd.service
package/gpsd/gpsd.mk +10 -0
index 1bf4415..953da66 100644
@@ -208,6 +208,16 @@ define GPSD_INSTALL_INIT_SYSV
 	$(SED) 's,^DEVICES=.*,DEVICES=$(BR2_PACKAGE_GPSD_DEVICES),' $(TARGET_DIR)/etc/init.d/S50gpsd
 endef
 
+define GPSD_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/gpsd/gpsd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/gpsd.service
+	$(SED) 's at DEVICES@$(BR2_PACKAGE_GPSD_DEVICES)@' \
+		$(TARGET_DIR)/usr/lib/systemd/system/gpsd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/gpsd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/gpsd.service
+endef
+
 define GPSD_INSTALL_STAGING_CMDS
 	(cd $(@D); \
 		$(GPSD_SCONS_ENV) \
package/gpsd/gpsd.service new file +10 -0
new file mode 100644
index 0000000..4608b99
@@ -0,0 +1,10 @@
+[Unit]
+Description=GPS daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/gpsd -N DEVICES
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#20 lore raw

PATCH 9/38 inadyn: systemd support

In reply to Alex Suykov
---
 package/inadyn/inadyn.mk      |  8 ++++++++
 package/inadyn/inadyn.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/inadyn/inadyn.service
package/inadyn/inadyn.mk +8 -0
index b002f94..5c3b0e3 100644
@@ -30,4 +30,12 @@ define INADYN_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S70inadyn
 endef
 
+define INADYN_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/inadyn/inadyn.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/inadyn.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/inadyn.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/inadyn.service
+endef
+
 $(eval $(autotools-package))
package/inadyn/inadyn.service new file +10 -0
new file mode 100644
index 0000000..abc0a1e
@@ -0,0 +1,10 @@
+[Unit]
+Description=DDNS client
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/bin/inadyn
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#22 lore raw

PATCH 10/38 inadyn: start in background mode

In reply to Alex Suykov

Unless -b is specified, inadyn stays in foreground.
It does also write a pid file that can be used by start-stop-daemon.

---
 package/inadyn/S70inadyn | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
package/inadyn/S70inadyn +2 -2
index b20048c..d63dedb 100644
@@ -15,12 +15,12 @@ VR_INADYN=/var/run/inadyn
 case "$1" in
 	start)
 		echo "Starting inadyn: "
-		start-stop-daemon -S -x /usr/bin/inadyn
+		start-stop-daemon -S -p /var/run/inadyn/inadyn.pid -x /usr/bin/inadyn -b
 		[ $? = 0 ] && echo "OK" || echo "FAIL"
 		;;
 	stop)
 		echo  "Stopping inadyn: "
-		start-stop-daemon -q -K -x /usr/bin/inadyn
+		start-stop-daemon -q -K -p /var/run/inadyn/inadyn.pid -x /usr/bin/inadyn
 		[ $? = 0 ] && echo "OK" || echo "FAIL"
 		rm -f /var/run/inadyn/inadyn.pid
 		;;
Signature · 1 line
2.0.3
#24 lore raw

PATCH 11/38 input-event-daemon: systemd support

In reply to Alex Suykov
---
 package/input-event-daemon/input-event-daemon.mk      | 8 ++++++++
 package/input-event-daemon/input-event-daemon.service | 9 +++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 package/input-event-daemon/input-event-daemon.service
package/input-event-daemon/input-event-daemon.mk +8 -0
index 67b8cc4..0d23037 100644
@@ -27,4 +27,12 @@ define INPUT_EVENT_DAEMON_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S99input-event-daemon
 endef
 
+define INPUT_EVENT_DAEMON_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/input-event-daemon/input-event-daemon.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/input-event-daemon.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/input-event-daemon.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/input-event-daemon.service
+endef
+
 $(eval $(generic-package))
package/input-event-daemon/input-event-daemon.service new file +9 -0
new file mode 100644
index 0000000..d91e655
@@ -0,0 +1,9 @@
+[Unit]
+Description=Input Event Daemon
+
+[Service]
+ExecStart=/usr/bin/input-event-daemon --no-daemon
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#26 lore raw

PATCH 12/38 iucode-tool: systemd support

In reply to Alex Suykov
---
 package/iucode-tool/iucode-tool.mk | 8 ++++++++
 package/iucode-tool/iucode.service | 9 +++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 package/iucode-tool/iucode.service
package/iucode-tool/iucode-tool.mk +8 -0
index 44d49d9..ba6641a 100644
@@ -19,4 +19,12 @@ define IUCODE_TOOL_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S00iucode-tool
 endef
 
+define IUCODE_TOOL_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/iucode-tool/iucode.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/iucode.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/iucode.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/iucode.service
+endef
+
 $(eval $(autotools-package))
package/iucode-tool/iucode.service new file +9 -0
new file mode 100644
index 0000000..e5caef8
@@ -0,0 +1,9 @@
+[Unit]
+Description=Upload microcode into the processor
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/iucode_tool -k /usr/share/misc/intel-microcode.dat
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#28 lore raw

PATCH 13/38 lirc-tools: systemd support

In reply to Alex Suykov
---
 package/lirc-tools/lirc-tools.mk |  8 ++++++++
 package/lirc-tools/lircd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/lirc-tools/lircd.service
package/lirc-tools/lirc-tools.mk +8 -0
index 6837042..a9edf2b 100644
@@ -21,4 +21,12 @@ define LIRC_TOOLS_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S25lircd
 endef
 
+define LIRC_TOOLS_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/lirc-tools/lircd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/lircd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/lircd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lircd.service
+endef
+
 $(eval $(autotools-package))
package/lirc-tools/lircd.service new file +10 -0
new file mode 100644
index 0000000..f16ebc8
@@ -0,0 +1,10 @@
+[Unit]
+Description=Linux infrared remote control daemon
+After=syslog.target
+
+[Service]
+ExecStart=/usr/sbin/lircd -n -O /etc/lirc/lirc_options.conf
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#30 lore raw

PATCH 14/38 mongoose: systemd support

In reply to Alex Suykov
---
 package/mongoose/mongoose.mk      |  8 ++++++++
 package/mongoose/mongoose.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/mongoose/mongoose.service
package/mongoose/mongoose.mk +8 -0
index 6797e58..38f76af 100644
@@ -36,6 +36,14 @@ define MONGOOSE_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S85mongoose
 endef
 
+define MONGOOSE_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/mongoose/mongoose.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/mongoose.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/mongoose.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mongoose.service
+endef
+
 define MONGOOSE_INSTALL_STAGING_CMDS
 	$(INSTALL) -D -m 644 $(@D)/libmongoose.a \
 		$(STAGING_DIR)/usr/lib/libmongoose.a
package/mongoose/mongoose.service new file +10 -0
new file mode 100644
index 0000000..12a731c
@@ -0,0 +1,10 @@
+[Unit]
+Description=Mongoose HTTP server
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/mongoose -document_root /var/www -listening_port 80
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#32 lore raw

PATCH 15/38 neard: systemd support

In reply to Alex Suykov
---
 package/neard/neard.mk      |  8 ++++++++
 package/neard/neard.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/neard/neard.service
package/neard/neard.mk +8 -0
index fc92421..dd18b0a 100644
@@ -23,4 +23,12 @@ define NEARD_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S53neard
 endef
 
+define NEARD_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/neard/neard.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/neard.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/neard.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/neard.service
+endef
+
 $(eval $(autotools-package))
package/neard/neard.service new file +10 -0
new file mode 100644
index 0000000..978163d
@@ -0,0 +1,10 @@
+[Unit]
+Description=Near-field communication daemon
+After=syslog.target
+
+[Service]
+ExecStart=/usr/libexec/nfc/neard -d '*'
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#34 lore raw

PATCH 16/38 netatalk: systemd support

In reply to Alex Suykov
---
 package/netatalk/netatalk.mk      |  8 ++++++++
 package/netatalk/netatalk.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/netatalk/netatalk.service
package/netatalk/netatalk.mk +8 -0
index a882b3c..c1fe440 100644
@@ -57,4 +57,12 @@ define NETATALK_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S50netatalk
 endef
 
+define NETATALK_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/netatalk/netatalk.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/netatalk.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/netatalk.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/netatalk.service
+endef
+
 $(eval $(autotools-package))
package/netatalk/netatalk.service new file +10 -0
new file mode 100644
index 0000000..e31bfd1
@@ -0,0 +1,10 @@
+[Unit]
+Description=Netatalk
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/netatalk -d
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#36 lore raw

PATCH 17/38 netplug: systemd support

In reply to Alex Suykov
---
 package/netplug/netplug.mk      |  8 ++++++++
 package/netplug/netplug.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/netplug/netplug.service
package/netplug/netplug.mk +8 -0
index 0bd7c78..011c084 100644
@@ -23,4 +23,12 @@ define NETPLUG_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S29netplug
 endef
 
+define NETPLUG_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/netplug/netplug.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/netplug.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/netplug.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/netplug.service
+endef
+
 $(eval $(generic-package))
package/netplug/netplug.service new file +10 -0
new file mode 100644
index 0000000..017a21f
@@ -0,0 +1,10 @@
+[Unit]
+Description=Network cable hotplug management daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/sbin/netplugd -F
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#38 lore raw

PATCH 18/38 netsnmp: systemd support

In reply to Alex Suykov

The service file follows sysv startup script with 127.0.0.1 and the rest of the options hardcoded.

---
 package/netsnmp/netsnmp.mk    |  7 +++++++
 package/netsnmp/snmpd.service | 10 ++++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 package/netsnmp/snmpd.service
package/netsnmp/netsnmp.mk +7 -0
index 6eff5e3..b364c5c 100644
@@ -94,6 +94,13 @@ define NETSNMP_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 0755 package/netsnmp/S59snmpd \
 		$(TARGET_DIR)/etc/init.d/S59snmpd
 endef
+define NETSNMP_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/netsnmp/snmpd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/snmpd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/snmpd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/snmpd.service
+endef
 endif
 
 define NETSNMP_STAGING_NETSNMP_CONFIG_FIXUP
package/netsnmp/snmpd.service new file +10 -0
new file mode 100644
index 0000000..6926b9b
@@ -0,0 +1,10 @@
+[Unit]
+Description=SNMP daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/snmpd -f -M /usr/share/snmp/mibs -Lsd 127.0.0.1
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#40 lore raw

PATCH 19/38 olsr: systemd support

In reply to Alex Suykov
---
 package/olsr/olsr.mk      |  8 ++++++++
 package/olsr/olsr.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/olsr/olsr.service
package/olsr/olsr.mk +8 -0
index 7e28b1e..f07770a 100644
@@ -40,4 +40,12 @@ define OLSR_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S50olsr
 endef
 
+define OLSR_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/olsr/olsr.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/olsr.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/olsr.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/olsr.service
+endef
+
 $(eval $(generic-package))
package/olsr/olsr.service new file +10 -0
new file mode 100644
index 0000000..9ec8930
@@ -0,0 +1,10 @@
+[Unit]
+Description=Ad-hoc wireless mesh routing daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/olsrd -nofork
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#42 lore raw

PATCH 20/38 proftpd: systemd support

In reply to Alex Suykov
---
 package/proftpd/proftpd.mk      |  8 ++++++++
 package/proftpd/proftpd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/proftpd/proftpd.service
package/proftpd/proftpd.mk +8 -0
index 023b4dd..81a8a69 100644
@@ -55,4 +55,12 @@ define PROFTPD_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 0755 package/proftpd/S50proftpd $(TARGET_DIR)/etc/init.d/S50proftpd
 endef
 
+define PROFTPD_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/proftpd/proftpd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/proftpd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/proftpd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/proftpd.service
+endef
+
 $(eval $(autotools-package))
package/proftpd/proftpd.service new file +10 -0
new file mode 100644
index 0000000..f1777a5
@@ -0,0 +1,10 @@
+[Unit]
+Description=FTR server
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/proftpd -n -q
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#44 lore raw

PATCH 21/38 ptpd: systemd support

In reply to Alex Suykov
---
 package/ptpd/ptpd.mk      |  8 ++++++++
 package/ptpd/ptpd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/ptpd/ptpd.service
package/ptpd/ptpd.mk +8 -0
index ac9ab98..3f420c4 100644
@@ -22,4 +22,12 @@ define PTPD_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S65ptpd
 endef
 
+define PTPD_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/ptpd/ptpd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/ptpd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/ptpd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ptpd.service
+endef
+
 $(eval $(generic-package))
package/ptpd/ptpd.service new file +10 -0
new file mode 100644
index 0000000..580ca51
@@ -0,0 +1,10 @@
+[Unit]
+Description=Precision Time Protocol daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/ptpd -c -S
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#46 lore raw

PATCH 22/38 ptpd2: systemd support

In reply to Alex Suykov

Following package and sysv initscript naming scheme, the service is "ptpd2" instead of just "ptpd" version 2.

---
 package/ptpd2/ptpd2.mk      |  8 ++++++++
 package/ptpd2/ptpd2.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/ptpd2/ptpd2.service
package/ptpd2/ptpd2.mk +8 -0
index e1d4f27..54e881f 100644
@@ -29,4 +29,12 @@ define PTPD2_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S65ptpd2
 endef
 
+define PTPD2_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/ptpd2/ptpd2.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/ptpd2.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/ptpd2.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ptpd2.service
+endef
+
 $(eval $(autotools-package))
package/ptpd2/ptpd2.service new file +10 -0
new file mode 100644
index 0000000..8610d98
@@ -0,0 +1,10 @@
+[Unit]
+Description=Precision Time Protocol daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/ptpd2 -C -s
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#47 lore raw

PATCH 23/38 pulseaudio: systemd support

In reply to Alex Suykov
---
 package/pulseaudio/pulseaudio.mk      |  8 ++++++++
 package/pulseaudio/pulseaudio.service | 11 +++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 package/pulseaudio/pulseaudio.service
package/pulseaudio/pulseaudio.mk +8 -0
index e68ca68..20e347c 100644
@@ -123,6 +123,14 @@ define PULSEAUDIO_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S50pulseaudio
 endef
 
+define PULSEAUDIO_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/pulseaudio/pulseaudio.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/pulseaudio.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/pulseaudio.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/pulseaudio.service
+endef
+
 endif
 
 $(eval $(autotools-package))
package/pulseaudio/pulseaudio.service new file +11 -0
new file mode 100644
index 0000000..e1ad805
@@ -0,0 +1,11 @@
+[Unit]
+Description=Sound Service
+After=syslog.target
+
+[Service]
+UMask=077
+ExecStart=/usr/bin/pulseaudio --system --daemonize=no
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#49 lore raw

PATCH 24/38 smstools3: systemd support

In reply to Alex Suykov
---
 package/smstools3/smsd.service | 14 ++++++++++++++
 package/smstools3/smstools3.mk |  8 ++++++++
 2 files changed, 22 insertions(+)
 create mode 100644 package/smstools3/smsd.service
package/smstools3/smsd.service new file +14 -0
new file mode 100644
index 0000000..fd6e088
@@ -0,0 +1,14 @@
+[Unit]
+Description=SMS Server Tools 3
+After=syslog.target
+
+[Service]
+ExecStartPre=mkdir -p /var/spool/sms/outgoing
+ExecStartPre=mkdir -p /var/spool/sms/incoming
+ExecStartPre=mkdir -p /var/spool/sms/checked
+ExecStart=/usr/bin/smsd -c /etc/smsd.conf -s
+Restart=always
+PermissionsStartOnly=true
+
+[Install]
+WantedBy=multi-user.target
package/smstools3/smstools3.mk +8 -0
index a1684de..60ca5b6 100644
@@ -22,6 +22,14 @@ define SMSTOOLS3_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S50smsd
 endef
 
+define SMSTOOLS3_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/smstools3/smsd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/smsd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/smsd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smsd.service
+endef
+
 define SMSTOOLS3_INSTALL_TARGET_CMDS
 	$(INSTALL) -m 0755 -D $(@D)/src/smsd \
 		$(TARGET_DIR)/usr/bin/smsd
Signature · 1 line
2.0.3
#51 lore raw

PATCH 25/38 rpi-userland: systemd support

In reply to Alex Suykov
---
 package/rpi-userland/rpi-userland.mk | 7 +++++++
 package/rpi-userland/vcfiled.service | 8 ++++++++
 2 files changed, 15 insertions(+)
 create mode 100644 package/rpi-userland/vcfiled.service
package/rpi-userland/rpi-userland.mk +7 -0
index 20a6af0..e1ce2b6 100644
@@ -19,6 +19,13 @@ define RPI_USERLAND_INSTALL_INIT_SYSV
 	$(INSTALL) -m 0755 -D package/rpi-userland/S94vcfiled \
 		$(TARGET_DIR)/etc/init.d/S94vcfiled
 endef
+define RPI_USERLAND_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/rpi-userland/vcfiled.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/vcfiled.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/vcfiled.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/vcfiled.service
+endef
 endif
 
 define RPI_USERLAND_POST_TARGET_CLEANUP
package/rpi-userland/vcfiled.service new file +8 -0
new file mode 100644
index 0000000..2b8f1dc
@@ -0,0 +1,8 @@
+[Unit]
+Description=VideoCore file server daemon
+
+[Service]
+ExecStart=/usr/sbin/vcfiled --foreground
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#53 lore raw

PATCH 26/38 sunxi-mali: systemd support

In reply to Alex Suykov

The startup script too complex to embed it completely into the .service file, so it is left as a standalone script.

Since there is really nothing sysv-specific there, the actual initscript is used without any changes.

---
 package/sunxi-mali/mali.service  | 11 +++++++++++
 package/sunxi-mali/sunxi-mali.mk | 10 ++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 package/sunxi-mali/mali.service
package/sunxi-mali/mali.service new file +11 -0
new file mode 100644
index 0000000..807989c
@@ -0,0 +1,11 @@
+[Unit]
+Description=Mali graphics driver
+
+[Service]
+Type=oneshot
+ExecStart=/usr/lib/systemd/scripts/mali start
+ExecStop=/usr/lib/systemd/scripts/mali stop
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
package/sunxi-mali/sunxi-mali.mk +10 -0
index c6900c8..a529e2d 100644
@@ -80,4 +80,14 @@ define SUNXI_MALI_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S80mali
 endef
 
+define SUNXI_MALI_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 755 package/sunxi-mali/S80mali \
+		$(TARGET_DIR)/usr/lib/systemd/scripts/mali
+	$(INSTALL) -D -m 644 package/sunxi-mali/mali.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/mali.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/mali.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mali.service
+endef
+
 $(eval $(generic-package))
Signature · 1 line
2.0.3
#55 lore raw

PATCH 27/38 ti-gfx: systemd support

In reply to Alex Suykov

The startup script too complex to embed it completely into the .service file, so it is left as a standalone script.

---
 package/ti-gfx/ti-gfx.mk      | 10 ++++++++++
 package/ti-gfx/ti-gfx.service | 11 +++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 package/ti-gfx/ti-gfx.service
package/ti-gfx/ti-gfx.mk +10 -0
index 061e9fe..daee973 100644
@@ -190,6 +190,16 @@ define TI_GFX_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S80ti-gfx
 endef
 
+define TI_GFX_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 755 package/ti-gfx/S80ti-gfx \
+		$(TARGET_DIR)/usr/lib/systemd/scripts/ti-gfx
+	$(INSTALL) -D -m 644 package/ti-gfx/ti-gfx.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/ti-gfx.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/ti-gfx.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ti-gfx.service
+endef
+
 define TI_GFX_INSTALL_TARGET_CMDS
 	$(TI_GFX_INSTALL_KM_CMDS)
 	$(TI_GFX_INSTALL_BINS_CMDS)
package/ti-gfx/ti-gfx.service new file +11 -0
new file mode 100644
index 0000000..432fadb
@@ -0,0 +1,11 @@
+[Unit]
+Description=PVR graphics driver
+
+[Service]
+Type=oneshot
+ExecStart=/usr/lib/systemd/scripts/ti-gfx start
+ExecStop=/usr/lib/systemd/scripts/ti-gfx stop
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#57 lore raw

PATCH 28/38 squid: systemd support

In reply to Alex Suykov

squid comes with a .service file, but does not install it.

---
 package/squid/squid.mk | 8 ++++++++
 1 file changed, 8 insertions(+)
package/squid/squid.mk +8 -0
index 745c9ad..5a9fbb7 100644
@@ -81,4 +81,12 @@ define SQUID_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S97squid
 endef
 
+define SQUID_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 0644 $(@D)/tools/squid.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/squid.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/squid.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/squid.service
+endef
+
 $(eval $(autotools-package))
Signature · 1 line
2.0.3
#61 lore raw

PATCH 30/38 tinyhttpd: systemd support

In reply to Alex Suykov
---
 package/tinyhttpd/tinyhttpd.mk      |  8 ++++++++
 package/tinyhttpd/tinyhttpd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/tinyhttpd/tinyhttpd.service
package/tinyhttpd/tinyhttpd.mk +8 -0
index 0934b71..998ed26 100644
@@ -24,4 +24,12 @@ define TINYHTTPD_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S85tinyhttpd
 endef
 
+define TINYHTTPD_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/tinyhttpd/tinyhttpd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/tinyhttpd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/tinyhttpd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/tinyhttpd.service
+endef
+
 $(eval $(generic-package))
package/tinyhttpd/tinyhttpd.service new file +10 -0
new file mode 100644
index 0000000..0ae5bac
@@ -0,0 +1,10 @@
+[Unit]
+Description=Tiny HTTP daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/tinyhttpd
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#59 lore raw

PATCH 29/38 tftpd: systemd support

In reply to Alex Suykov

The code below assumes sysv initscript is correct. Which I have doubts about.

---
 package/tftpd/tftpd.mk      |  8 ++++++++
 package/tftpd/tftpd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/tftpd/tftpd.service
package/tftpd/tftpd.mk +8 -0
index 78df835..0d6a2ed 100644
@@ -23,4 +23,12 @@ define TFTPD_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 0755 package/tftpd/S80tftpd-hpa $(TARGET_DIR)/etc/init.d/S80tftpd-hpa
 endef
 
+define TFTPD_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/tftpd/tftpd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/tftpd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/tftpd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/tftpd.service
+endef
+
 $(eval $(autotools-package))
package/tftpd/tftpd.service new file +10 -0
new file mode 100644
index 0000000..b7a29a3
@@ -0,0 +1,10 @@
+[Unit]
+Description=TFTP daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/tftpd -L -c -s /var/lib/tftpboot
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#63 lore raw

PATCH 31/38 transmission: systemd support

In reply to Alex Suykov
---
 package/transmission/transmission.mk      |  8 ++++++++
 package/transmission/transmission.service | 11 +++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 package/transmission/transmission.service
package/transmission/transmission.mk +8 -0
index bbc32bf..7587a6a 100644
@@ -41,6 +41,14 @@ define TRANSMISSION_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S92transmission
 endef
 
+define TRANSMISSION_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/transmission/transmission.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/transmission.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/transmission.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/transmission.service
+endef
+
 else
 TRANSMISSION_CONF_OPTS += --disable-daemon
 endif
package/transmission/transmission.service new file +11 -0
new file mode 100644
index 0000000..0cc22be
@@ -0,0 +1,11 @@
+[Unit]
+Description=Transmission BitTorrent Daemon
+After=network.target
+
+[Service]
+User=transmission
+ExecStart=/usr/bin/transmission-daemon -f --log-error
+ExecReload=/bin/kill -s HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#64 lore raw

PATCH 32/38 upmpdcli: systemd support

In reply to Alex Suykov

Usable .service file is provided in the package.

---
 package/upmpdcli/upmpdcli.mk | 8 ++++++++
 1 file changed, 8 insertions(+)
package/upmpdcli/upmpdcli.mk +8 -0
index 0be4d91..c2ee293 100644
@@ -19,6 +19,14 @@ define UPMPDCLI_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 0755 package/upmpdcli/S99upmpdcli $(TARGET_DIR)/etc/init.d/S99upmpdcli
 endef
 
+define UPMPDCLI_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 $(@D)/systemd/upmpdcli.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/upmpdcli.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/upmpdcli.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/upmpdcli.service
+endef
+
 define UPMPDCLI_INSTALL_CONF_FILE
 	$(INSTALL) -D -m 0755 $(@D)/src/upmpdcli.conf $(TARGET_DIR)/etc/upmpdcli.conf
 endef
Signature · 1 line
2.0.3
#66 lore raw

PATCH 33/38 vsftpd: systemd support

In reply to Alex Suykov

Foreground/background mode can be set either way in the config file, so command line override is used to force foreground.

---
 package/vsftpd/vsftpd.mk      |  8 ++++++++
 package/vsftpd/vsftpd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/vsftpd/vsftpd.service
package/vsftpd/vsftpd.mk +8 -0
index 3091f06..6f6964a 100644
@@ -55,4 +55,12 @@ define VSFTPD_INSTALL_TARGET_CMDS
 	$(INSTALL) -d -m 700 $(TARGET_DIR)/usr/share/empty
 endef
 
+define VSFTPD_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/vsftpd/vsftpd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/vsftpd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/vsftpd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/vsftpd.service
+endef
+
 $(eval $(generic-package))
package/vsftpd/vsftpd.service new file +10 -0
new file mode 100644
index 0000000..a1c370a
@@ -0,0 +1,10 @@
+[Unit]
+Description=FTP daemon
+After=syslog.target network.target auditd.target
+
+[Service]
+ExecStart=/usr/bin/vsftpd /etc/vsftpd.conf -obackground=NO
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#68 lore raw

PATCH 34/38 triggerhappy: systemd support

In reply to Alex Suykov
---
 package/triggerhappy/triggerhappy.mk      | 8 ++++++++
 package/triggerhappy/triggerhappy.service | 9 +++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 package/triggerhappy/triggerhappy.service
package/triggerhappy/triggerhappy.mk +8 -0
index d3dfc6a..a643342 100644
@@ -34,4 +34,12 @@ define TRIGGERHAPPY_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S10triggerhappy
 endef
 
+define TRIGGERHAPPY_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/triggerhappy/triggerhappy.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/triggerhappy.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/triggerhappy.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/triggerhappy.service
+endef
+
 $(eval $(generic-package))
package/triggerhappy/triggerhappy.service new file +9 -0
new file mode 100644
index 0000000..8449c1c
@@ -0,0 +1,9 @@
+[Unit]
+Description=Triggerhappy daemon
+
+[Service]
+ExecStart=/usr/sbin/thd --triggers /etc/triggerhappy/triggers.d --socket /var/run/thd.socket --user nobody /dev/input/event*
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#70 lore raw

PATCH 35/38 supervisor: systemd support

In reply to Alex Suykov

Running supervisord under systemd sounds wrong, but it is possible and probably makes sense in some cases.

---
 package/supervisor/supervisor.mk       |  8 ++++++++
 package/supervisor/supervisord.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/supervisor/supervisord.service
package/supervisor/supervisor.mk +8 -0
index 6bd64a9..43940e3 100644
@@ -22,4 +22,12 @@ define SUPERVISOR_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S99supervisord
 endef
 
+define SUPERVISOR_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/supervisor/supervisord.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/supervisord.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/supervisord.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/supervisord.service
+endef
+
 $(eval $(python-package))
package/supervisor/supervisord.service new file +10 -0
new file mode 100644
index 0000000..92c38c7
@@ -0,0 +1,10 @@
+[Unit]
+Description=Process Control System
+After=syslog.target
+
+[Service]
+ExecStart=/usr/bin/supervisord -n
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#72 lore raw

PATCH 36/38 samba: systemd support

In reply to Alex Suykov
---
 package/samba/nmbd.service | 12 ++++++++++++
 package/samba/samba.mk     | 12 ++++++++++++
 package/samba/smbd.service | 12 ++++++++++++
 3 files changed, 36 insertions(+)
 create mode 100644 package/samba/nmbd.service
 create mode 100644 package/samba/smbd.service
package/samba/nmbd.service new file +12 -0
new file mode 100644
index 0000000..52b3920
@@ -0,0 +1,12 @@
+[Unit]
+Description=Samba NMB daemon
+After=network.target
+
+[Service]
+ExecStartPre=mkdir -p /var/log/samba
+ExecStart=/usr/sbin/nmbd -F
+Restart=always
+PermissionsStartOnly=true
+
+[Install]
+WantedBy=multi-user.target
package/samba/samba.mk +12 -0
index 68da9d9..9ba0cf4 100644
@@ -186,4 +186,16 @@ define SAMBA_INSTALL_INIT_SYSV
 	$(INSTALL) -m 0755 -D package/samba/S91smb $(TARGET_DIR)/etc/init.d/S91smb
 endef
 
+define SAMBA_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/samba/nmbd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/nmbd.service
+	$(INSTALL) -D -m 644 package/samba/smbd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/smbd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/nmbd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nmbd.service
+	ln -sf /usr/lib/systemd/system/smbd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smbd.service
+endef
+
 $(eval $(autotools-package))
package/samba/smbd.service new file +12 -0
new file mode 100644
index 0000000..4c97ce3
@@ -0,0 +1,12 @@
+[Unit]
+Description=Samba SMB daemon
+After=network.target
+
+[Service]
+ExecStartPre=mkdir -p /var/log/samba
+ExecStart=/usr/sbin/smbd -F
+Restart=always
+PermissionsStartOnly=true
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#73 lore raw

PATCH 37/38 samba4: install systemd files

In reply to Alex Suykov

The package comes with usable .service files for smbd, nmbd and winbind, but does not install them.

---
 package/samba4/samba4.mk | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
package/samba4/samba4.mk +16 -0
index e5971fb..77ae62a 100644
@@ -155,4 +155,20 @@ define SAMBA4_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S91smb
 endef
 
+define SAMBA4_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 $(@D)/packaging/systemd/nmb.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/nmb.service
+	$(INSTALL) -D -m 644 $(@D)/packaging/systemd/smb.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/smb.service
+	$(INSTALL) -D -m 644 $(@D)/packaging/systemd/winbind.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/winbind.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/nmb.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nmb.service
+	ln -sf /usr/lib/systemd/system/smb.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smb.service
+	ln -sf /usr/lib/systemd/system/winbind.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/winbind.service
+endef
+
 $(eval $(generic-package))
Signature · 1 line
2.0.3
#75 lore raw

PATCH 38/38 mysql: systemd support

In reply to Alex Suykov

Service startup follows sysv initscript and includes db init.

---
 package/mysql/mysql.mk       |  8 ++++++++
 package/mysql/mysqld.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/mysql/mysqld.service
package/mysql/mysql.mk +8 -0
index 8718193..55f62c2 100644
@@ -103,6 +103,14 @@ define MYSQL_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S97mysqld
 endef
 
+define MYSQL_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/mysql/mysqld.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/mysqld.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/mysqld.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mysqld.service
+endef
+
 else
 MYSQL_CONF_OPTS += \
 	--without-server
package/mysql/mysqld.service new file +10 -0
new file mode 100644
index 0000000..2ded9c2
@@ -0,0 +1,10 @@
+[Unit]
+Description=MySQL database server
+
+[Service]
+ExecStartPre=/bin/sh -c 'test -d /var/mysql/mysql || mysql_install_db --user=mysql --ldata=/var/mysql'
+ExecStart=/usr/bin/mysqld_safe
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.0.3
#77 lore raw

cover systemd support for various packages

In reply to Alex Suykov
Quoted 7 lines · Alex Suykov

This set adds systemd support to packages that install sysv initscripts but not systemd services. The idea is that the choice between BR2_INIT_SYSV and BR2_INIT_SYSTEMD should affect the process list in the resulting system as little as possible.

All services start foreground processes (Type=simple), and follow current initscripts otherwise whenever possible.

Type=simple is not necessarily the best way to do this. Handling errors is done differently by systemd with Type=simple vs Type=forking.

A recent blog post by Lucas Nussbaum has more details:
http://www.lucas-nussbaum.net/blog/?p=877

With Type=simple, systemd considers the service started right after executing it. It will not flag errors on startup if the process exits soon after due to a config error, etc. With Type=forking, systemd will only consider the service started after the parent exits. As many daemons will check config files and command line args before forking, these errors will be detected and propagated to systemd.

#78 lore raw

cover systemd support for various packages

Quoted 2 lines · Cam Hutchison

Type=simple is not necessarily the best way to do this. Handling errors is done differently by systemd with Type=simple vs Type=forking.

The difference in error handling is actually why I consider non-forking services to be the only valid kind of services for anything more capable that sysv initscripts.

Quoted 9 lines

A recent blog post by Lucas Nussbaum has more details:
http://www.lucas-nussbaum.net/blog/?p=877

With Type=simple, systemd considers the service started right after executing it. It will not flag errors on startup if the process exits soon after due to a config error, etc. With Type=forking, systemd will only consider the service started after the parent exits. As many daemons will check config files and command line args before forking, these errors will be detected and propagated to systemd.

Non-forking services signal initial configuration errors as well as any errors past initial configuration phase by exiting with non-zero status. Which systemd can take immediate action on, like restarting the service or marking it as failed. It's mentioned in the blog post.

Forking daemons gain marginally better *initial* error reporting by losing the ability to report errors at later stages. Detecting the state of a forked daemon (as in running or dead), or killing it, is non-trivial and generally involves time of check time of use race condition. With non-forking services, both operations are trivial and reliable.

Does knowing the fine distiction between initial and non-initial failure is worth the loss of control over the child process? I don't think so.

Reporting initial config status via parent process exit() is a specific case of startup notification, the post mentions that too. Any reliance on any kind of startup notification inherently results in time of check time of use race conditon.

#65 lore raw

PATCH 32/38 upmpdcli: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov

Usable .service file is provided in the package.

---
 package/upmpdcli/upmpdcli.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#58 lore raw

PATCH 28/38 squid: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 12 lines · Alex Suykov

squid comes with a .service file, but does not install it.

---
 package/squid/squid.mk | 8 ++++++++
 1 file changed, 8 insertions(+)
package/squid/squid.mk +0 -0
index 745c9ad..5a9fbb7 100644

package/squid/squid.mk define SQUID_INSTALL_INIT_SYSV · line 89

Quoted 9 lines
package/squid/squid.mk +6 -0
@@ -81,4 +81,12 @@ define SQUID_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S97squid
 endef
 
+define SQUID_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 0644 $(@D)/tools/squid.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/squid.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/squid.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/squid.service

We prefer to use a relative path for the symlink, so that the symlink appears to be valid when looking at $(TARGET_DIR) on the build machine.

I've fixed that up before committing, and also fixed it on the upmpdcli package, which I forgot to do when merging your patch on this package.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#74 lore raw

PATCH 37/38 samba4: install systemd files

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 5 lines · Alex Suykov
package/samba4/samba4.mk +5 -0
+define SAMBA4_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 $(@D)/packaging/systemd/nmb.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/nmb.service
+	$(INSTALL) -D -m 644 $(@D)/packaging/systemd/smb.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/smb.service

package/samba4/samba4.mk define SAMBA4_INSTALL_INIT_SYSV · line 172

Quoted 10 lines
package/samba4/samba4.mk +10 -0
+	$(INSTALL) -D -m 644 $(@D)/packaging/systemd/winbind.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/winbind.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/nmb.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nmb.service
+	ln -sf /usr/lib/systemd/system/smb.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smb.service
+	ln -sf /usr/lib/systemd/system/winbind.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/winbind.service
+endef

I've changed to use relative paths for the symbolic links, and applied. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#23 lore raw

PATCH 10/38 inadyn: start in background mode

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 1 line · Alex Suykov

Unless -b is specified, inadyn stays in foreground.

And? start-stop-daemon takes care of daemonizing it, no? At least, I've tested the current inadyn init script, and it just works fine for me, after some minor tuning that is not related to background/foreground. See:

http://patchwork.ozlabs.org/patch/491319/

Can you give more details as to why your patch is needed?

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#79 lore raw

cover systemd support for various packages

In reply to Alex Suykov

Alex, Cam,

Could you reach to an agreement on this point? I am not a systemd expert, and from a quick reading of Lucas Nussbaum blog post, there does not seem to be a perfect solution (besides changing the service source code itself to make it more systemd aware).

It would be great to be able to move forward with this patch series.

Thanks for your help,

Thomas

Quoted 41 lines · Alex Suykov
Quoted 2 lines · Cam Hutchison

Type=simple is not necessarily the best way to do this. Handling errors is done differently by systemd with Type=simple vs Type=forking.

The difference in error handling is actually why I consider non-forking services to be the only valid kind of services for anything more capable that sysv initscripts.

Quoted 9 lines

A recent blog post by Lucas Nussbaum has more details:
http://www.lucas-nussbaum.net/blog/?p=877

With Type=simple, systemd considers the service started right after executing it. It will not flag errors on startup if the process exits soon after due to a config error, etc. With Type=forking, systemd will only consider the service started after the parent exits. As many daemons will check config files and command line args before forking, these errors will be detected and propagated to systemd.

Non-forking services signal initial configuration errors as well as any errors past initial configuration phase by exiting with non-zero status. Which systemd can take immediate action on, like restarting the service or marking it as failed. It's mentioned in the blog post.

Forking daemons gain marginally better *initial* error reporting by losing the ability to report errors at later stages. Detecting the state of a forked daemon (as in running or dead), or killing it, is non-trivial and generally involves time of check time of use race condition. With non-forking services, both operations are trivial and reliable.

Does knowing the fine distiction between initial and non-initial failure is worth the loss of control over the child process? I don't think so.

Reporting initial config status via parent process exit() is a specific case of startup notification, the post mentions that too. Any reliance on any kind of startup notification inherently results in time of check time of use race conditon.
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/38 at: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 30 lines · Alex Suykov
---
 package/at/at.mk       |  8 ++++++++
 package/at/atd.service | 11 +++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 package/at/atd.service
package/at/at.mk +8 -0
index 1504e32..be4c0b2 100644
@@ -25,4 +25,12 @@ define AT_INSTALL_INIT_SYSV
        $(INSTALL) -m 0755 -D package/at/S99at $(TARGET_DIR)/etc/init.d/S99at
 endef
 
+define AT_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/at/atd.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/atd.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/atd.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/atd.service
+endef
+
 $(eval $(autotools-package))
package/at/atd.service new file +0 -0
new file mode 100644
index 0000000..543cbc3

package/at/atd.service line 8

Quoted 8 lines
package/at/atd.service new file +8 -0
@@ -0,0 +1,11 @@
+[Unit]
+Description=Run jobs queued for later execution
+After=syslog.target
+
+[Service]
+UMask=077
+ExecStart=/usr/sbin/atd -f
+Restart=always

If I look at the service file from Arch Linux, which is a pretty long time systemd users, they don't have the UMask directive (I don't know why you would need it).

Also they use "Type=forking" and without the -f so systemd will take care of the daemon itself.

Quoted 10 lines
package/at/atd.service new file +3 -1
+
+[Install]
+WantedBy=multi-user.target
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#7 lore raw

PATCH 2/38 chrony: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 10 lines · Alex Suykov

systemd has its own NTP daemon, which must be disabled before starting chrony. Possible (but unlikely) conflict with openntpd is not marked in either package.

---
 package/chrony/chrony.mk      |  8 ++++++++
 package/chrony/chrony.service | 11 +++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 package/chrony/chrony.service

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#9 lore raw

PATCH 3/38 dcron: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov
---
 package/dcron/dcron.mk      |  8 ++++++++
 package/dcron/dcron.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/dcron/dcron.service

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#12 lore raw

PATCH 5/38 dnsmasq: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 30 lines · Alex Suykov
---
 package/dnsmasq/dnsmasq.mk      |  8 ++++++++
 package/dnsmasq/dnsmasq.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/dnsmasq/dnsmasq.service
package/dnsmasq/dnsmasq.mk +8 -0
index 4b0999b..87daabe 100644
@@ -111,4 +111,12 @@ define DNSMASQ_INSTALL_INIT_SYSV
                $(TARGET_DIR)/etc/init.d/S80dnsmasq
 endef
 
+define DNSMASQ_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/dnsmasq/dnsmasq.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/dnsmasq.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/dnsmasq.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dnsmasq.service
+endef
+
 $(eval $(generic-package))
package/dnsmasq/dnsmasq.service new file +0 -0
new file mode 100644
index 0000000..7038b22

package/dnsmasq/dnsmasq.service line 7

Quoted 7 lines
package/dnsmasq/dnsmasq.service new file +7 -0
@@ -0,0 +1,10 @@
+[Unit]
+Description=DNS cacher and DHCP server
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/dnsmasq -k
+Restart=always

With systemd, we will have dbus enabled and thus dnsmasq will be build with dbus support.
So your service file should be something like:

Type=dbus
BusName=uk.org.thekelleys.dnsmasq ExecStartPre=/usr/bin/dnsmasq --test ExecStart=/usr/bin/dnsmasq -k --enable-dbus --pid-file ExecReload=/bin/kill -HUP $MAINPID Restart=always

Quoted 10 lines
package/dnsmasq/dnsmasq.service new file +3 -1
+
+[Install]
+WantedBy=multi-user.target
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#14 lore raw

PATCH 6/38 ejabberd: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 30 lines · Alex Suykov
---
 package/ejabberd/ejabberd.mk      |  8 ++++++++
 package/ejabberd/ejabberd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/ejabberd/ejabberd.service
package/ejabberd/ejabberd.mk +8 -0
index 07ce78e..d8a931f 100644
@@ -48,4 +48,12 @@ define EJABBERD_INSTALL_INIT_SYSV
                $(TARGET_DIR)/etc/init.d/S50ejabberd
 endef
 
+define EJABBERD_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/ejabberd/ejabberd.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/ejabberd.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/ejabberd.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ejabberd.service
+endef
+
 $(eval $(rebar-package))
package/ejabberd/ejabberd.service new file +0 -0
new file mode 100644
index 0000000..830fdd6

package/ejabberd/ejabberd.service line 7

Quoted 7 lines
package/ejabberd/ejabberd.service new file +7 -0
@@ -0,0 +1,10 @@
+[Unit]
+Description=Erlang Jabber daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/ejabberd
+Restart=always

We install a ejabberd user with the package, may as well use it. This is the startup scripts taken from Arch Linux:

[Service]
Type=forking
User=ejabberd
LimitNOFILE=16000
RestartSec=5
ExecStart=/usr/bin/ejabberdctl start
ExecStop=/usr/bin/ejabberdctl stop

After reading the readme of ejabberd, it seems best to use ejaberdctl since it's the "administration script"

Quoted 10 lines
package/ejabberd/ejabberd.service new file +3 -1
+
+[Install]
+WantedBy=multi-user.target
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#15 lore raw

PATCH 6/38 ejabberd: systemd support

Hi Alex, all

By the way, your patch are marked as "ChangedRequested" it means that we expect from you that you fix your patch and resend them (or reply because you believe me to be wrong).

As soon as it's fine by us, we will apply your patch.

Thanks for your contributions !

Quoted 63 lines · Maxime Hadjinlian

Hi Alex, all

Quoted 30 lines · Alex Suykov
---
 package/ejabberd/ejabberd.mk      |  8 ++++++++
 package/ejabberd/ejabberd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/ejabberd/ejabberd.service
package/ejabberd/ejabberd.mk +8 -0
index 07ce78e..d8a931f 100644
@@ -48,4 +48,12 @@ define EJABBERD_INSTALL_INIT_SYSV
                $(TARGET_DIR)/etc/init.d/S50ejabberd
 endef
 
+define EJABBERD_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/ejabberd/ejabberd.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/ejabberd.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/ejabberd.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ejabberd.service
+endef
+
 $(eval $(rebar-package))
package/ejabberd/ejabberd.service new file +0 -0
new file mode 100644
index 0000000..830fdd6

package/ejabberd/ejabberd.service line 7

Quoted 7 lines
package/ejabberd/ejabberd.service new file +7 -0
@@ -0,0 +1,10 @@
+[Unit]
+Description=Erlang Jabber daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/ejabberd
+Restart=always

We install a ejabberd user with the package, may as well use it. This is the startup scripts taken from Arch Linux:

[Service]
Type=forking
User=ejabberd
LimitNOFILE=16000
RestartSec=5
ExecStart=/usr/bin/ejabberdctl start
ExecStop=/usr/bin/ejabberdctl stop

After reading the readme of ejabberd, it seems best to use ejaberdctl since it's the "administration script"

Quoted 10 lines
package/ejabberd/ejabberd.service new file +3 -1
+
+[Install]
+WantedBy=multi-user.target
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#19 lore raw

PATCH 8/38 gpsd: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 37 lines · Alex Suykov

Just like with the sysv script, non-empty DEVICES value must be substituted in the installed file.

---
 package/gpsd/gpsd.mk      | 10 ++++++++++
 package/gpsd/gpsd.service | 10 ++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 package/gpsd/gpsd.service
package/gpsd/gpsd.mk +10 -0
index 1bf4415..953da66 100644
@@ -208,6 +208,16 @@ define GPSD_INSTALL_INIT_SYSV
        $(SED) 's,^DEVICES=.*,DEVICES=$(BR2_PACKAGE_GPSD_DEVICES),' $(TARGET_DIR)/etc/init.d/S50gpsd
 endef
 
+define GPSD_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/gpsd/gpsd.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/gpsd.service
+       $(SED) 's at DEVICES@$(BR2_PACKAGE_GPSD_DEVICES)@' \
+               $(TARGET_DIR)/usr/lib/systemd/system/gpsd.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/gpsd.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/gpsd.service
+endef
+
 define GPSD_INSTALL_STAGING_CMDS
        (cd $(@D); \
                $(GPSD_SCONS_ENV) \
package/gpsd/gpsd.service new file +0 -0
new file mode 100644
index 0000000..4608b99

package/gpsd/gpsd.service line 6

Quoted 6 lines
package/gpsd/gpsd.service new file +6 -0
@@ -0,0 +1,10 @@
+[Unit]
+Description=GPS daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/gpsd -N DEVICES

DEVICES won't work here, you'll want something like the SysV scripts "/dev/ttyS1".

But it doesn't matter, gpsd has systemd supports, so it would be better to install the files from the sources.

We will mark the patch as Change Requested in patchwork.

Quoted 11 lines
package/gpsd/gpsd.service new file +4 -1
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#17 lore raw

PATCH 7/38 exim: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov
---
 package/exim/exim.mk      |  8 ++++++++
 package/exim/exim.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/exim/exim.service

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#21 lore raw

PATCH 9/38 inadyn: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov
---
 package/inadyn/inadyn.mk      |  8 ++++++++
 package/inadyn/inadyn.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/inadyn/inadyn.service

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#27 lore raw

PATCH 12/38 iucode-tool: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 30 lines · Alex Suykov
---
 package/iucode-tool/iucode-tool.mk | 8 ++++++++
 package/iucode-tool/iucode.service | 9 +++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 package/iucode-tool/iucode.service
package/iucode-tool/iucode-tool.mk +8 -0
index 44d49d9..ba6641a 100644
@@ -19,4 +19,12 @@ define IUCODE_TOOL_INSTALL_INIT_SYSV
                $(TARGET_DIR)/etc/init.d/S00iucode-tool
 endef
 
+define IUCODE_TOOL_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/iucode-tool/iucode.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/iucode.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/iucode.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/iucode.service
+endef
+
 $(eval $(autotools-package))
package/iucode-tool/iucode.service new file +0 -0
new file mode 100644
index 0000000..e5caef8

package/iucode-tool/iucode.service line 6

Quoted 6 lines
package/iucode-tool/iucode.service new file +6 -0
@@ -0,0 +1,9 @@
+[Unit]
+Description=Upload microcode into the processor
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/iucode_tool -k /usr/share/misc/intel-microcode.dat

Since it's a oneshot service, you should add:
RemainAfterExit=yes

We will mark your patch as Changes Requested in patchwork.

Quoted 10 lines
package/iucode-tool/iucode.service new file +3 -1
+
+[Install]
+WantedBy=multi-user.target
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#29 lore raw

PATCH 13/38 lirc-tools: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 30 lines · Alex Suykov
---
 package/lirc-tools/lirc-tools.mk |  8 ++++++++
 package/lirc-tools/lircd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/lirc-tools/lircd.service
package/lirc-tools/lirc-tools.mk +8 -0
index 6837042..a9edf2b 100644
@@ -21,4 +21,12 @@ define LIRC_TOOLS_INSTALL_INIT_SYSV
                $(TARGET_DIR)/etc/init.d/S25lircd
 endef
 
+define LIRC_TOOLS_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/lirc-tools/lircd.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/lircd.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/lircd.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lircd.service
+endef
+
 $(eval $(autotools-package))
package/lirc-tools/lircd.service new file +0 -0
new file mode 100644
index 0000000..f16ebc8

package/lirc-tools/lircd.service line 10

Quoted 10 lines
package/lirc-tools/lircd.service new file +10 -0
@@ -0,0 +1,10 @@
+[Unit]
+Description=Linux infrared remote control daemon
+After=syslog.target
+
+[Service]
+ExecStart=/usr/sbin/lircd -n -O /etc/lirc/lirc_options.conf
+Restart=always
+
+[Install]
+WantedBy=multi-user.target

There's a systemd support from lirc, better to install upstream files. Your patch will be marked as "Changes requested" in patchwork.

Quoted 7 lines

--
2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#33 lore raw

PATCH 15/38 neard: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 30 lines · Alex Suykov
---
 package/neard/neard.mk      |  8 ++++++++
 package/neard/neard.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/neard/neard.service
package/neard/neard.mk +8 -0
index fc92421..dd18b0a 100644
@@ -23,4 +23,12 @@ define NEARD_INSTALL_INIT_SYSV
                $(TARGET_DIR)/etc/init.d/S53neard
 endef
 
+define NEARD_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/neard/neard.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/neard.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/neard.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/neard.service
+endef
+
 $(eval $(autotools-package))
package/neard/neard.service new file +0 -0
new file mode 100644
index 0000000..978163d

package/neard/neard.service line 7

Quoted 7 lines
package/neard/neard.service new file +7 -0
@@ -0,0 +1,10 @@
+[Unit]
+Description=Near-field communication daemon
+After=syslog.target
+
+[Service]
+ExecStart=/usr/libexec/nfc/neard -d '*'
+Restart=always

If you use neard like that, it will fork, so you need to tell systemd with a Type=forking and specify the PID through PIDFile=

What would be more coherent with what we currently have is simply by passing -n (--nodaemon)

You patch will be marked as "ChangesRequested" in patchwork

Quoted 10 lines
package/neard/neard.service new file +3 -1
+
+[Install]
+WantedBy=multi-user.target
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#25 lore raw

PATCH 11/38 input-event-daemon: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov
---
 package/input-event-daemon/input-event-daemon.mk      | 8 ++++++++
 package/input-event-daemon/input-event-daemon.service | 9 +++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 package/input-event-daemon/input-event-daemon.service

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#54 lore raw

PATCH 26/38 sunxi-mali: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 35 lines · Alex Suykov

The startup script too complex to embed it completely into the .service file, so it is left as a standalone script.

Since there is really nothing sysv-specific there, the actual initscript is used without any changes.

---
 package/sunxi-mali/mali.service  | 11 +++++++++++
 package/sunxi-mali/sunxi-mali.mk | 10 ++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 package/sunxi-mali/mali.service
package/sunxi-mali/mali.service new file +11 -0
new file mode 100644
index 0000000..807989c
@@ -0,0 +1,11 @@
+[Unit]
+Description=Mali graphics driver
+
+[Service]
+Type=oneshot
+ExecStart=/usr/lib/systemd/scripts/mali start
+ExecStop=/usr/lib/systemd/scripts/mali stop
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
package/sunxi-mali/sunxi-mali.mk +0 -0
index c6900c8..a529e2d 100644

package/sunxi-mali/sunxi-mali.mk define SUNXI_MALI_INSTALL_INIT_SYSV · line 85

Quoted 6 lines
package/sunxi-mali/sunxi-mali.mk +3 -0
@@ -80,4 +80,14 @@ define SUNXI_MALI_INSTALL_INIT_SYSV
                $(TARGET_DIR)/etc/init.d/S80mali
 endef
 
+define SUNXI_MALI_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 755 package/sunxi-mali/S80mali \
+               $(TARGET_DIR)/usr/lib/systemd/scripts/mali

I'm not very fond of placing a binary in '/usr/lib/...'. I think it would be better to install into '/usr/sbin'

You patch will be marked as "Changes Requested" in patchwork.

Quoted 15 lines
package/sunxi-mali/sunxi-mali.mk +7 -1
+       $(INSTALL) -D -m 644 package/sunxi-mali/mali.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/mali.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/mali.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mali.service
+endef
+
 $(eval $(generic-package))
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#60 lore raw

PATCH 29/38 tftpd: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 2 lines · Alex Suykov

The code below assumes sysv initscript is correct. Which I have doubts about.

And you are rights, the scripts is broken, it's using in.tftpd while we install tftp and tftpd.
It would be nice if you could take this and send a patch to rework the init script as well.

Quoted 31 lines
---
 package/tftpd/tftpd.mk      |  8 ++++++++
 package/tftpd/tftpd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/tftpd/tftpd.service
package/tftpd/tftpd.mk +8 -0
index 78df835..0d6a2ed 100644
@@ -23,4 +23,12 @@ define TFTPD_INSTALL_INIT_SYSV
        $(INSTALL) -D -m 0755 package/tftpd/S80tftpd-hpa $(TARGET_DIR)/etc/init.d/S80tftpd-hpa
 endef
 
+define TFTPD_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/tftpd/tftpd.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/tftpd.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/tftpd.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/tftpd.service
+endef
+
 $(eval $(autotools-package))
package/tftpd/tftpd.service new file +0 -0
new file mode 100644
index 0000000..b7a29a3

package/tftpd/tftpd.service line 6

Quoted 6 lines
package/tftpd/tftpd.service new file +6 -0
@@ -0,0 +1,10 @@
+[Unit]
+Description=TFTP daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/tftpd -L -c -s /var/lib/tftpboot

You need to make sure /var/lib/tftpboot exists, specially with a read only filesystems.
See some recent dropbear patch sent by Yann E. Morin for a way to do that. Maybe you should uses tmpfiles.d for a better way to do that.

Or maybe install a configuration file for tftpd which points to /tmp/tftpd so it's generic enough that it would work in all cases.

Your patch will be marked as "Changes Requested" in patchwork waiting on your input for this one.

Quoted 11 lines
package/tftpd/tftpd.service new file +4 -1
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#67 lore raw

PATCH 33/38 vsftpd: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 33 lines · Alex Suykov

Foreground/background mode can be set either way in the config file, so command line override is used to force foreground.

---
 package/vsftpd/vsftpd.mk      |  8 ++++++++
 package/vsftpd/vsftpd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/vsftpd/vsftpd.service
package/vsftpd/vsftpd.mk +8 -0
index 3091f06..6f6964a 100644
@@ -55,4 +55,12 @@ define VSFTPD_INSTALL_TARGET_CMDS
        $(INSTALL) -d -m 700 $(TARGET_DIR)/usr/share/empty
 endef
 
+define VSFTPD_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/vsftpd/vsftpd.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/vsftpd.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/vsftpd.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/vsftpd.service
+endef
+
 $(eval $(generic-package))
package/vsftpd/vsftpd.service new file +0 -0
new file mode 100644
index 0000000..a1c370a

package/vsftpd/vsftpd.service line 3

Quoted 3 lines
package/vsftpd/vsftpd.service new file +3 -0
@@ -0,0 +1,10 @@
+[Unit]
+Description=FTP daemon
+After=syslog.target network.target auditd.target

Why would run after audit.target ? It doesn't make much sense.

package/vsftpd/vsftpd.service line 6

Quoted 3 lines
package/vsftpd/vsftpd.service new file +3 -0
+
+[Service]
+ExecStart=/usr/bin/vsftpd /etc/vsftpd.conf -obackground=NO

You don't need to pass '/etc/vsftpd.conf' since it's the default and background is not specified into the configuration file so it will not be overridden.

Your patch will be marked as "Changes Requested" in patchwork.

Quoted 11 lines
package/vsftpd/vsftpd.service new file +4 -1
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#35 lore raw

PATCH 16/38 netatalk: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 12 lines · Alex Suykov
---
 package/netatalk/netatalk.mk      |  8 ++++++++
 package/netatalk/netatalk.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/netatalk/netatalk.service
package/netatalk/netatalk.mk +0 -0
index a882b3c..c1fe440 100644

package/netatalk/netatalk.mk define NETATALK_INSTALL_INIT_SYSV · line 63

Quoted 7 lines
package/netatalk/netatalk.mk +4 -0
@@ -57,4 +57,12 @@ define NETATALK_INSTALL_INIT_SYSV
                $(TARGET_DIR)/etc/init.d/S50netatalk
 endef
 
+define NETATALK_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/netatalk/netatalk.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/netatalk.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants

You need to fix the path of this link.

Quoted 11 lines
package/netatalk/netatalk.mk +4 -0
+       ln -sf /usr/lib/systemd/system/netatalk.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/netatalk.service
+endef
+
 $(eval $(autotools-package))
package/netatalk/netatalk.service new file +0 -0
new file mode 100644
index 0000000..e31bfd1

package/netatalk/netatalk.service line 6

Quoted 6 lines
package/netatalk/netatalk.service new file +6 -0
@@ -0,0 +1,10 @@
+[Unit]
+Description=Netatalk
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/netatalk -d

I don't think you need '-d' if I look at the source in 'etc/netatalk/netatalk.c' I see that '-d' is for debug, why would we want that ?

Your patch is marked as "Changes Requested" in the patchwork.

Quoted 11 lines
package/netatalk/netatalk.service new file +4 -1
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#76 lore raw

PATCH 38/38 mysql: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 8 lines · Alex Suykov

Service startup follows sysv initscript and includes db init.

---
 package/mysql/mysql.mk       |  8 ++++++++
 package/mysql/mysqld.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/mysql/mysqld.service

Applied after changing the symlink to be relative rather than absolute. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#71 lore raw

PATCH 35/38 supervisor: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 9 lines · Alex Suykov

Running supervisord under systemd sounds wrong, but it is possible and probably makes sense in some cases.

---
 package/supervisor/supervisor.mk       |  8 ++++++++
 package/supervisor/supervisord.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/supervisor/supervisord.service

Applied after using a relative symbolic link rather than an absolute one. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#37 lore raw

PATCH 17/38 netplug: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov
---
 package/netplug/netplug.mk      |  8 ++++++++
 package/netplug/netplug.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/netplug/netplug.service

Applied after changing the patch to use a relative symlink rather than an absolute one. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#39 lore raw

PATCH 18/38 netsnmp: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 15 lines · Alex Suykov

The service file follows sysv startup script with 127.0.0.1 and the rest of the options hardcoded.

---
 package/netsnmp/netsnmp.mk    |  7 +++++++
 package/netsnmp/snmpd.service | 10 ++++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 package/netsnmp/snmpd.service
package/netsnmp/netsnmp.mk +0 -0
index 6eff5e3..b364c5c 100644

package/netsnmp/netsnmp.mk define NETSNMP_INSTALL_INIT_SYSV · line 103

Quoted 10 lines
package/netsnmp/netsnmp.mk +7 -0
@@ -94,6 +94,13 @@ define NETSNMP_INSTALL_INIT_SYSV
        $(INSTALL) -D -m 0755 package/netsnmp/S59snmpd \
                $(TARGET_DIR)/etc/init.d/S59snmpd
 endef
+define NETSNMP_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/netsnmp/snmpd.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/snmpd.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/snmpd.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/snmpd.service
+endef

The snmp server is not mandatory, you need to check before installing the service file.

Quoted 9 lines
package/netsnmp/netsnmp.mk +0 -0
 endif
 
 define NETSNMP_STAGING_NETSNMP_CONFIG_FIXUP
package/netsnmp/snmpd.service new file +0 -0
new file mode 100644
index 0000000..6926b9b

package/netsnmp/snmpd.service line 10

Quoted 10 lines
package/netsnmp/snmpd.service new file +10 -0
@@ -0,0 +1,10 @@
+[Unit]
+Description=SNMP daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/snmpd -f -M /usr/share/snmp/mibs -Lsd 127.0.0.1
+Restart=always
+
+[Install]
+WantedBy=multi-user.target

Maybe add the support of snmptrapd ?

In the meantime, your patch will be marked as "changes requested" in the patchwork.

Quoted 7 lines

--
2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#3 lore raw

PATCH 1/2 at: bump version 3.1.16

In reply to Alex Suykov

Patch refreshed :

	0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch
	0004-Makefile.in-replace-IROOT-by-DESTDIR.patch
	0005-Makefile.in-make-install-fix.patch
	0006-getloadavg.c-fix.patch
	0007-parsetime.l-include-config-h.patch
	0008-remove-glibc-__isleap-assumption.patch

Patch removed (merge upstream) :
0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch 0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch

---
  ...c-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch |  33 +++++++
  ...c-remove-manual-compiler-check-with-AC_TR.patch |  33 -------
  ...0002-Makefile.in-replace-IROOT-by-DESTDIR.patch | 104 
+++++++++++++++++++++
  ...c-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch |  34 -------
  ...-Makefile.in-add-LDFLAGS-to-linking-stage.patch |  38 --------
  ...-fix-make-install-for-non-root-don-t-stri.patch |  82 ++++++++++++++++
  ...0004-Makefile.in-replace-IROOT-by-DESTDIR.patch |  97 
-------------------
  ...avg.c-compilation-revert-to-3.1.10-versio.patch |  35 +++++++
  .../at/0005-Make-sure-to-include-config.h.patch    |  26 ++++++
  package/at/0005-Makefile.in-make-install-fix.patch |  69 --------------
  package/at/0006-getloadavg.c-fix.patch             |  30 ------
  package/at/0006-remove-glibc-assumption.patch      |  58 ++++++++++++
  package/at/0007-parsetime.l-include-config-h.patch |  16 ----
  .../at/0008-remove-glibc-__isleap-assumption.patch |  59 ------------
  package/at/at.hash                                 |   7 +-
  package/at/at.mk                                   |   2 +-
  16 files changed, 342 insertions(+), 381 deletions(-)

create mode 100644
package/at/0001-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch
delete mode 100644
package/at/0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch
create mode 100644
package/at/0002-Makefile.in-replace-IROOT-by-DESTDIR.patch
delete mode 100644
package/at/0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch
delete mode 100644
package/at/0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch
create mode 100644
package/at/0003-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch
delete mode 100644
package/at/0004-Makefile.in-replace-IROOT-by-DESTDIR.patch
create mode 100644
package/at/0004-fix-getloadavg.c-compilation-revert-to-3.1.10-versio.patch
create mode 100644 package/at/0005-Make-sure-to-include-config.h.patch delete mode 100644 package/at/0005-Makefile.in-make-install-fix.patch delete mode 100644 package/at/0006-getloadavg.c-fix.patch create mode 100644 package/at/0006-remove-glibc-assumption.patch delete mode 100644 package/at/0007-parsetime.l-include-config-h.patch delete mode 100644 package/at/0008-remove-glibc-__isleap-assumption.patch

(quoted diff) +0 -0

a/package/at/0001-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch b/package/at/0001-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch new file mode 100644
index 0000000..9a5caa1
--- /dev/null
+++
b/package/at/0001-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch @@ -0,0 +1,33 @@
+From 13366eed02810508a25fd82e4300bdfde1ba4e9b Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde <[email protected]>
+Date: Tue, 1 Dec 2009 17:22:22 +0100
+Subject: [PATCH] configure.ac: convert AC_TRY_COMPILE -> AC_COMPILE_IFELSE +
+Signed-off-by: Marc Kleine-Budde <[email protected]>

+---
+ configure.ac | 10 +++++-----

+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f3d2e35..549d5c8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -40,11 +40,11 @@ case "$host" in
+ esac
+
+ AC_MSG_CHECKING(__attribute__((noreturn)))

+-AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);],
+-    AC_MSG_RESULT(yes)
+-    AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1,
+-              [Define to 1 if compiler supports 

__attribute__((noreturn))]),
+- AC_MSG_RESULT(no)
++AC_COMPILE_IFELSE(
++ [AC_LANG_PROGRAM([[]], [[void __attribute__((noreturn))
panic(void);]])],
++ [AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1, Define to 1 if compiler
supports __attribute__((noreturn)))],
++ [AC_MSG_RESULT(no)]
+ )
+ dnl Checks for libraries.
+
+--
+2.4.5

(quoted diff) +0 -0

a/package/at/0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch b/package/at/0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch deleted file mode 100644
index 9e69922..0000000
---
a/package/at/0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch +++ /dev/null
@@ -1,33 +0,0 @@
-From a182f18fa3b9fb3dd817b601b51c758f9a77f407 Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde <[email protected]>
-Date: Tue, 1 Dec 2009 17:08:14 +0100
-Subject: [PATCH 1/5] configure.ac: remove manual compiler check with AC_TRY_RUN
-
-AC_TRY_RUN breaks cross compilation, so remove it. autotools will take -care about a working (cross-) compiler.
-
-Signed-off-by: Marc Kleine-Budde <[email protected]>
----
- configure.ac | 6 ------
- 1 files changed, 0 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a8c2a14..997a37f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -38,12 +38,6 @@ case "$host" in
- AC_MSG_RESULT(no)
- ;;
- esac
--AC_MSG_CHECKING(Trying to compile a trivial ANSI C program) --AC_TRY_RUN([ main(int ac, char **av) { return 0; } ],

--    AC_MSG_RESULT(yes),
--    AC_MSG_RESULT(no)
--    AC_MSG_ERROR(Could not compile and run even a trivial ANSI C 

program - check CC.),
-- AC_MSG_ERROR(Could not compile and run even a trivial ANSI C
program - check CC.))
- - AC_MSG_CHECKING(__attribute__((noreturn)))
- AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);], --- -1.6.5.3
-

(quoted diff) +0 -0

b/package/at/0002-Makefile.in-replace-IROOT-by-DESTDIR.patch new file mode 100644
index 0000000..0c322e2

package/at/0002-Makefile.in-replace-IROOT-by-DESTDIR.patch new file +39 -0
@@ -0,0 +1,104 @@
+From 854334f463a3e4694bbd681da30a400680ce5a3f Mon Sep 17 00:00:00 2001
+From: Marc Kleine-Budde <[email protected]>
+Date: Tue, 1 Dec 2009 20:57:45 +0100
+Subject: [PATCH] Makefile.in: replace IROOT by DESTDIR
+
+This patch replaces IROOT by DESTDIR, which is the autotools standard
+variable. For backwards compatibilty IROOT overwrites the DESTDIR.
+
+Signed-off-by: Marc Kleine-Budde <[email protected]>
+---
+ Makefile.in | 68 
++++++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 36 insertions(+), 32 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 5dd2767..31eac70 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -17,6 +17,10 @@ atdocdir	= $(docdir)/at
+ etcdir		= @ETCDIR@
+ systemdsystemunitdir = @systemdsystemunitdir@
+
++ifdef IROOT
++DESTDIR?   ?   = $(DESTDIR)
++endif
++
+ DAEMON_USERNAME	= @DAEMON_USERNAME@
+ DAEMON_GROUPNAME= @DAEMON_GROUPNAME@
+ LOADAVG_MX	= @LOADAVG_MX@
+@@ -91,41 +95,41 @@ atrun: atrun.in
+	$(CC) -c $(CFLAGS) $(DEFS) $*.c
+
+ install: all
+-	$(INSTALL) -g root -o root -m 755 -d $(IROOT)$(etcdir)
+-	$(INSTALL) -g root -o root -m 755 -d $(IROOT)$(bindir)
+-	$(INSTALL) -g root -o root -m 755 -d $(IROOT)$(sbindir)
+-	$(INSTALL) -g root -o root -m 755 -d $(IROOT)$(docdir)
+-	$(INSTALL) -g root -o root -m 755 -d $(IROOT)$(atdocdir)
+-	$(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d 

$(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR)

+-	chmod 1770 $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR)
+-	touch $(IROOT)$(LFILE)
+-	chmod 600 $(IROOT)$(LFILE)
+-	chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(IROOT)$(LFILE)
+-	test -f $(IROOT)$(etcdir)/at.allow || test -f 
$(IROOT)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) 
-m 640 at.deny $(IROOT)$(etcdir)/
+-	$(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at 
$(IROOT)$(bindir)
+-	$(LN_S) -f at $(IROOT)$(bindir)/atq
+-	$(LN_S) -f at $(IROOT)$(bindir)/atrm
+-	$(INSTALL) -g root -o root -m 755 batch $(IROOT)$(bindir)
+-	$(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man1dir)
+-	$(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man5dir)
+-	$(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man8dir)
+-	$(INSTALL) -g root -o root -m 755 atd $(IROOT)$(sbindir)
+-	$(INSTALL) -g root -o root -m 755 atrun $(IROOT)$(sbindir)
+-	$(INSTALL) -g root -o root -m 644 at.1 $(IROOT)$(man1dir)/
+-	cd $(IROOT)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 

batch.1 && $(LN_S) -f at.1 atrm.1
+- $(INSTALL) -g root -o root -m 644 atd.8 $(IROOT)$(man8dir)/
++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir)
++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir)
++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir)
++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir)
++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir)
++ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d
$(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
++ chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
++ touch $(DESTDIR)$(LFILE)
++ chmod 600 $(DESTDIR)$(LFILE)
++ chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE)
++ test -f $(DESTDIR)$(etcdir)/at.allow || test -f
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR)$(etcdir)/
++ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at
$(DESTDIR)$(bindir)
++ $(LN_S) -f at $(DESTDIR)$(bindir)/atq
++ $(LN_S) -f at $(DESTDIR)$(bindir)/atrm
++ $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir)
++ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir)
++ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir)
++ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir)
++ $(INSTALL) -g root -o root -m 755 atd $(DESTDIR)$(sbindir)
++ $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir)
++ $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/
++ cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1
batch.1 && $(LN_S) -f at.1 atrm.1
++ $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/
+ sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman
+- $(INSTALL) -g root -o root -m 644 tmpman $(IROOT)$(man8dir)/atrun.8
++ $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
+ rm -f tmpman

+-	$(INSTALL) -g root -o root -m 644 at.allow.5 $(IROOT)$(man5dir)/
+-	cd $(IROOT)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
+-	$(INSTALL) -g root -o root -m 644 $(DOCS) $(IROOT)$(atdocdir)
+-	rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \
+-		$(IROOT)$(mandir)/cat1/atq.1*
+-	rm -f $(IROOT)$(mandir)/cat1/atd.8*

++ $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
++ cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
++ $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
++ rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \
++ $(DESTDIR)$(mandir)/cat1/atq.1*
++ rm -f $(DESTDIR)$(mandir)/cat1/atd.8*
+ if test x"$(systemdsystemunitdir)" != xno; then \

+-		$(INSTALL) -o root -g root -m 755 -d $(IROOT)$(systemdsystemunitdir); \
+-		$(INSTALL) -o root -g root -m 644 atd.service 

$(IROOT)$(systemdsystemunitdir); \
++ $(INSTALL) -o root -g root -m 755 -d
$(DESTDIR)$(systemdsystemunitdir); \
++ $(INSTALL) -o root -g root -m 644 atd.service
$(DESTDIR)$(systemdsystemunitdir); \
+ fi
+
+ dist: checkin $(DIST) $(LIST) Filelist.asc
+--
+2.4.5

(quoted diff) +0 -0

a/package/at/0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch b/package/at/0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch deleted file mode 100644
index e4276ac..0000000
---
a/package/at/0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch +++ /dev/null
@@ -1,34 +0,0 @@
-From e12c96cccab550eda31cf7bb1dedddd3670ffe69 Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde <[email protected]>
-Date: Tue, 1 Dec 2009 17:22:22 +0100
-Subject: [PATCH 2/5] configure.ac: convert AC_TRY_COMPILE -> AC_COMPILE_IFELSE
-
-Signed-off-by: Marc Kleine-Budde <[email protected]>
----
- configure.ac | 10 +++++-----
- 1 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 997a37f..cab80ed 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -40,11 +40,11 @@ case "$host" in
- esac
- - AC_MSG_CHECKING(__attribute__((noreturn))) --AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);],
-- AC_MSG_RESULT(yes)
-- AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1,
-- [Define to 1 if compiler supports
__attribute__((noreturn))]),
-- AC_MSG_RESULT(no)
-+AC_COMPILE_IFELSE(
-+ [AC_LANG_PROGRAM([[]], [[void __attribute__((noreturn))
panic(void);]])],
-+ [AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1, Define to 1 if compiler
supports __attribute__((noreturn)))],
-+ [AC_MSG_RESULT(no)]
- )
- dnl Checks for libraries.
- --- -1.6.5.3
-

(quoted diff) +0 -0

a/package/at/0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch b/package/at/0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch deleted file mode 100644
index e1ab3d3..0000000

package/at/0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch deleted +0 -34
@@ -1,38 +0,0 @@
-From 8720a71757f3626bf3bbc3a7aa2185e6387e5689 Mon Sep 17 00:00:00 2001
-From: Marc Kleine-Budde <[email protected]>
-Date: Tue, 1 Dec 2009 20:37:31 +0100
-Subject: [PATCH 3/5] Makefile.in: add LDFLAGS to linking stage
-
-The linking stage ignores the LDFLAGS, this breaks if the flex library
-lives in a non standard location.
-
-This patch add LDFLAGS to both "at" and "atd" linking stage.
-
-Signed-off-by: Marc Kleine-Budde <[email protected]>
----
- Makefile.in |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index dae6b7d..b766bbb 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -65,13 +65,13 @@ LIST = Filelist Filelist.asc
- all: at atd atrun
- - at: $(ATOBJECTS)
--	$(CC) $(CFLAGS) -o at $(ATOBJECTS) $(LIBS) $(LEXLIB)
-+	$(CC) $(CFLAGS) $(LDFLAGS) -o at $(ATOBJECTS) $(LIBS) $(LEXLIB)
- 	rm -f $(CLONES)
- 	$(LN_S) -f at atq
- 	$(LN_S) -f at atrm
- - atd: $(RUNOBJECTS)
--	$(CC) $(CFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB)
-+	$(CC) $(CFLAGS) $(LDFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB)
- - y.tab.c y.tab.h: parsetime.y
- 	$(YACC) -d parsetime.y
--- -1.6.5.3
-
(quoted diff) +0 -0

a/package/at/0003-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch b/package/at/0003-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch new file mode 100644
index 0000000..f5e9a5b
--- /dev/null
+++
b/package/at/0003-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch @@ -0,0 +1,82 @@
+From ee67529dded3cca7e9768c173484a9c7e9aa9b69 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Aur=C3=A9lien=20Chabot?= <[email protected]> +Date: Mon, 13 Jul 2015 23:26:53 +0200
+Subject: [PATCH] Makefile.in: fix make install for non-root, don't strip +
+Buildroot will ensure all files are owned by root and stripped anyway +(if needed) before the rootfs is created.
+
+Signed-off-by: Peter Korsgaard <[email protected]>

+---
+ Makefile.in | 43 +++++++++++++++++++++----------------------

+ 1 file changed, 21 insertions(+), 22 deletions(-) +
+diff --git a/Makefile.in b/Makefile.in +index 31eac70..8934902 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -95,41 +95,40 @@ atrun: atrun.in
+ $(CC) -c $(CFLAGS) $(DEFS) $*.c
+
+ install: all

+-	$(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir)
+-	$(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir)
+-	$(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir)
+-	$(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir)
+-	$(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir)
+-	$(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d 

$(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(etcdir)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(docdir)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(atdocdir)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
+ chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
+ touch $(DESTDIR)$(LFILE)
+ chmod 600 $(DESTDIR)$(LFILE)

+-	chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE)
+-	test -f $(DESTDIR)$(etcdir)/at.allow || test -f 
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) 

-m 640 at.deny $(DESTDIR)$(etcdir)/
+- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at
$(DESTDIR)$(bindir)
++ test -f $(DESTDIR)$(etcdir)/at.allow || test -f
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -m 640 at.deny $(DESTDIR)$(etcdir)/
++ $(INSTALL) -m 6755 at $(DESTDIR)$(bindir)
+ $(LN_S) -f at $(DESTDIR)$(bindir)/atq
+ $(LN_S) -f at $(DESTDIR)$(bindir)/atrm

+-	$(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir)
+-	$(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir)
+-	$(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir)
+-	$(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir)
+-	$(INSTALL) -g root -o root -m 755 atd $(DESTDIR)$(sbindir)
+-	$(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir)
+-	$(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/

++ $(INSTALL) -m 755 batch $(DESTDIR)$(bindir)
++ $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
++ $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
++ $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
++ $(INSTALL) -m 755 atd $(DESTDIR)$(sbindir)
++ $(INSTALL) -m 755 atrun $(DESTDIR)$(sbindir)
++ $(INSTALL) -m 644 at.1 $(DESTDIR)$(man1dir)/
+ cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1
batch.1 && $(LN_S) -f at.1 atrm.1
+- $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/
++ $(INSTALL) -m 644 atd.8 $(DESTDIR)$(man8dir)/
+ sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman
+- $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
++ $(INSTALL) -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
+ rm -f tmpman
+- $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
++ $(INSTALL) -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
+ cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
+- $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
++ $(INSTALL) -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
+ rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \
+ $(DESTDIR)$(mandir)/cat1/atq.1*
+ rm -f $(DESTDIR)$(mandir)/cat1/atd.8*
+ if test x"$(systemdsystemunitdir)" != xno; then \
+- $(INSTALL) -o root -g root -m 755 -d
$(DESTDIR)$(systemdsystemunitdir); \
+- $(INSTALL) -o root -g root -m 644 atd.service
$(DESTDIR)$(systemdsystemunitdir); \
++ $(INSTALL) -m 755 -d $(DESTDIR)$(systemdsystemunitdir); \
++ $(INSTALL) -m 644 atd.service $(DESTDIR)$(systemdsystemunitdir); \
+ fi
+
+ dist: checkin $(DIST) $(LIST) Filelist.asc
+--
+2.4.5

(quoted diff) +0 -0

b/package/at/0004-Makefile.in-replace-IROOT-by-DESTDIR.patch deleted file mode 100644
index 0d1d5f6..0000000

package/at/0004-Makefile.in-replace-IROOT-by-DESTDIR.patch deleted +0 -11
@@ -1,97 +0,0 @@
-From 195d30e2e01fe2f91ed3bdaeec3982aa66b309dd Mon Sep 17 00:00:00 2001
-From: Marc Kleine-Budde <[email protected]>
-Date: Tue, 1 Dec 2009 20:57:45 +0100
-Subject: [PATCH 5/5] Makefile.in: replace IROOT by DESTDIR
-
-This patch replaces IROOT by DESTDIR, which is the autotools standard
-variable. For backwards compatibilty IROOT overwrites the DESTDIR.
-
-Signed-off-by: Marc Kleine-Budde <[email protected]>
----
- Makefile.in |   64 

+++++++++++++++++++++++++++++++-----------------------------
- 1 file changed, 34 insertions(+), 30 deletions(-)
-
-Index: at-3.1.13/Makefile.in
-===================================================================
---- at-3.1.13.orig/Makefile.in
-+++ at-3.1.13/Makefile.in
-@@ -16,6 +16,10 @@ docdir = $(prefix)/doc
- atdocdir = $(docdir)/at
- etcdir = @ETCDIR@
- -+ifdef IROOT
-+DESTDIR = $(IROOT)
-+endif
-+
- DAEMON_USERNAME = @DAEMON_USERNAME@
- DAEMON_GROUPNAME= @DAEMON_GROUPNAME@
- LOADAVG_MX = @LOADAVG_MX@
-@@ -86,38 +90,38 @@ atrun: atrun.in
- $(CC) -c $(CFLAGS) $(DEFS) $*.c
- - install: all
-- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(etcdir)
-- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(bindir)
-- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(sbindir)
-- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(docdir)
-- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(atdocdir)
-- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d
$(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR)
-- chmod 1770 $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR)
-- touch $(IROOT)$(LFILE)
-- chmod 600 $(IROOT)$(LFILE)
-- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(IROOT)$(LFILE)
-- test -f $(IROOT)$(etcdir)/at.allow || test -f
$(IROOT)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(IROOT)$(etcdir)/
-- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at
$(IROOT)$(bindir)
-- $(LN_S) -f at $(IROOT)$(bindir)/atq
-- $(LN_S) -f at $(IROOT)$(bindir)/atrm
-- $(INSTALL) -g root -o root -m 755 batch $(IROOT)$(bindir)
-- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man1dir)
-- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man5dir)
-- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man8dir)
-- $(INSTALL) -g root -o root -m 755 atd $(IROOT)$(sbindir)
-- $(INSTALL) -g root -o root -m 755 atrun $(IROOT)$(sbindir)
-- $(INSTALL) -g root -o root -m 644 at.1 $(IROOT)$(man1dir)/
-- cd $(IROOT)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1
batch.1 && $(LN_S) -f at.1 atrm.1
-- $(INSTALL) -g root -o root -m 644 atd.8 $(IROOT)$(man8dir)/
-+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir)
-+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir)
-+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir)
-+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir)
-+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir)
-+ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d
$(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
-+ chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
-+ touch $(DESTDIR)$(LFILE)
-+ chmod 600 $(DESTDIR)$(LFILE)
-+ chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE)
-+ test -f $(DESTDIR)$(etcdir)/at.allow || test -f
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR$
-+ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 -s at
$(DESTDIR)$(bindir)
-+ $(LN_S) -f at $(DESTDIR)$(bindir)/atq
-+ $(LN_S) -f at $(DESTDIR)$(bindir)/atrm
-+ $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir)
-+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir)
-+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir)
-+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir)
-+ $(INSTALL) -g root -o root -m 755 -s atd $(DESTDIR)$(sbindir)
-+ $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir)
-+ $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/
-+ cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1
batch.1 && $(LN_S) -f at.1 atrm.1
-+ $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/
- sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman
-- $(INSTALL) -g root -o root -m 644 tmpman $(IROOT)$(man8dir)/atrun.8
-+ $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
- rm -f tmpman
-- $(INSTALL) -g root -o root -m 644 at.allow.5 $(IROOT)$(man5dir)/
-- cd $(IROOT)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
-- $(INSTALL) -g root -o root -m 644 $(DOCS) $(IROOT)$(atdocdir)
-- rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \
-- $(IROOT)$(mandir)/cat1/atq.1*
-- rm -f $(IROOT)$(mandir)/cat1/atd.8*
-+ $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
-+ cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
-+ $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
-+ rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \
-+ $(DESTDIR)$(mandir)/cat1/atq.1*
-+ rm -f $(DESTDIR)$(mandir)/cat1/atd.8*
- - dist: checkin $(DIST) $(LIST) Filelist.asc
- (cd ..; tar cf - `for a in $(DIST) $(LIST); do echo
at-$(VERSION)/$$a; done` |\

(quoted diff) +0 -0

a/package/at/0004-fix-getloadavg.c-compilation-revert-to-3.1.10-versio.patch b/package/at/0004-fix-getloadavg.c-compilation-revert-to-3.1.10-versio.patch new file mode 100644
index 0000000..5c8415a
--- /dev/null
+++
b/package/at/0004-fix-getloadavg.c-compilation-revert-to-3.1.10-versio.patch @@ -0,0 +1,35 @@
+From 41582d86d4365e23c8f74ba23a6102b68bf1ef8c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Aur=C3=A9lien=20Chabot?= <[email protected]> +Date: Mon, 13 Jul 2015 23:27:57 +0200
+Subject: [PATCH] fix getloadavg.c compilation, revert to 3.1.10 version +
+getloadavg.c shipped with 3.1.13 doesn't compile because it references +headers not shipped. Fix it by simply reverting to the 3.1.10 version. +
+Signed-off-by: Peter Korsgaard <[email protected]>

+---
+ getloadavg.c | 7 ++++---

+ 1 file changed, 4 insertions(+), 3 deletions(-) +
+diff --git a/getloadavg.c b/getloadavg.c +index cf5869f..23d18eb 100644
+--- a/getloadavg.c
++++ b/getloadavg.c
+@@ -66,11 +66,12 @@ Boston, MA 02110-1301 USA */ +
+ /* This should always be first. */
+ #ifdef HAVE_CONFIG_H
+-#include <config.h>
++#include "config.h"
+ #endif
+

+-#include "lisp.h"
+-#include "sysfile.h" /* for encapsulated open, close, read, write */

++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
+
+ #ifndef HAVE_GETLOADAVG
+
+--
+2.4.5

(quoted diff) +0 -0

b/package/at/0005-Make-sure-to-include-config.h.patch new file mode 100644
index 0000000..b96f939

package/at/0005-Make-sure-to-include-config.h.patch new file +26 -0
@@ -0,0 +1,26 @@
+From 7293ec22e5dde858ba9ecae35dd768237d808a0c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Aur=C3=A9lien=20Chabot?= <[email protected]>
+Date: Mon, 13 Jul 2015 23:28:36 +0200
+Subject: [PATCH] Make sure to include config.h
+
+So that NEEDS_* macros are properly taken into account. This was
+ a problem for NEEDS_YYWRAP, which was set to 1 in config.h,
+but the corresponding code wasn't compiled in.
+---
+ parsetime.l | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/parsetime.l b/parsetime.l
+index d695db5..d39b62e 100644
+--- a/parsetime.l
++++ b/parsetime.l
+@@ -4,6 +4,7 @@
+ #include <time.h>
+ #include "y.tab.h"
+ #include "parsetime.h"
++#include "config.h"
+
+ char *last_token = NULL;
+ char **my_argv;
+--
+2.4.5
(quoted diff) +0 -0

b/package/at/0005-Makefile.in-make-install-fix.patch deleted file mode 100644
index ad84344..0000000

package/at/0005-Makefile.in-make-install-fix.patch deleted +0 -23
@@ -1,69 +0,0 @@
-[PATCH]: Makefile.in: fix make install for non-root, don't strip
-
-Buildroot will ensure all files are owned by root and stripped anyway
-(if needed) before the rootfs is created.
-
-Signed-off-by: Peter Korsgaard <[email protected]>
----
- Makefile.in |   39 +++++++++++++++++++--------------------
- 1 file changed, 19 insertions(+), 20 deletions(-)
-
-Index: at-3.1.13/Makefile.in
-===================================================================
---- at-3.1.13.orig/Makefile.in
-+++ at-3.1.13/Makefile.in
-@@ -90,35 +90,34 @@ atrun: atrun.in
- 	$(CC) -c $(CFLAGS) $(DEFS) $*.c
- - install: all
--	$(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir)
--	$(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir)
--	$(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir)
--	$(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir)
--	$(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir)
--	$(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d 

$(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(etcdir)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(docdir)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(atdocdir)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
- chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
- touch $(DESTDIR)$(LFILE)
- chmod 600 $(DESTDIR)$(LFILE)
-- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE)
-- test -f $(DESTDIR)$(etcdir)/at.allow || test -f
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR$
-- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 -s at
$(DESTDIR)$(bindir)
-+ test -f $(DESTDIR)$(etcdir)/at.allow || test -f
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -m 640 at.deny $(DESTDIR)$(etcdir)/
-+ $(INSTALL) -m 6755 at $(DESTDIR)$(bindir)
- $(LN_S) -f at $(DESTDIR)$(bindir)/atq
- $(LN_S) -f at $(DESTDIR)$(bindir)/atrm
-- $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir)
-- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir)
-- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir)
-- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir)
-- $(INSTALL) -g root -o root -m 755 -s atd $(DESTDIR)$(sbindir)
-- $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir)
-- $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/
-+ $(INSTALL) -m 755 batch $(DESTDIR)$(bindir)
-+ $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
-+ $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
-+ $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
-+ $(INSTALL) -m 755 atd $(DESTDIR)$(sbindir)
-+ $(INSTALL) -m 755 atrun $(DESTDIR)$(sbindir)
-+ $(INSTALL) -m 644 at.1 $(DESTDIR)$(man1dir)/
- cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1
batch.1 && $(LN_S) -f at.1 atrm.1
-- $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/
-+ $(INSTALL) -m 644 atd.8 $(DESTDIR)$(man8dir)/
- sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman
-- $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
-+ $(INSTALL) -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
- rm -f tmpman
-- $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
-+ $(INSTALL) -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
- cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
-- $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
-+ $(INSTALL) -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
- rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \
- $(DESTDIR)$(mandir)/cat1/atq.1*
- rm -f $(DESTDIR)$(mandir)/cat1/atd.8*

(quoted diff) +0 -0

b/package/at/0006-getloadavg.c-fix.patch
deleted file mode 100644
index e073927..0000000

package/at/0006-getloadavg.c-fix.patch deleted +0 -27
@@ -1,30 +0,0 @@
-[PATCH]: fix getloadavg.c compilation, revert to 3.1.10 version
-
-getloadavg.c shipped with 3.1.13 doesn't compile because it references
-headers not shipped. Fix it by simply reverting to the 3.1.10 version.
-
-Signed-off-by: Peter Korsgaard <[email protected]>
----
- getloadavg.c |    7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-Index: at-3.1.13/getloadavg.c
-===================================================================
---- at-3.1.13.orig/getloadavg.c
-+++ at-3.1.13/getloadavg.c
-@@ -66,11 +66,12 @@ Boston, MA  02110-1301  USA */
- - /* This should always be first.  */
- #ifdef HAVE_CONFIG_H
--#include <config.h>
-+#include "config.h"
- #endif
- --#include "lisp.h"
--#include "sysfile.h" /* for encapsulated open, close, read, write */
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <fcntl.h>
- - #ifndef HAVE_GETLOADAVG
- diff --git a/package/at/0006-remove-glibc-assumption.patch 

b/package/at/0006-remove-glibc-assumption.patch
new file mode 100644
index 0000000..7514c07

package/at/0006-remove-glibc-assumption.patch new file +58 -0

58 lines not on this page · raw message

(quoted diff) +0 -0

b/package/at/0007-parsetime.l-include-config-h.patch deleted file mode 100644
index f4111eb..0000000

package/at/0007-parsetime.l-include-config-h.patch deleted +0 -15
@@ -1,16 +0,0 @@
-Make sure to include config.h so that NEEDS_* macros are properly
-taken into account. This was a problem for NEEDS_YYWRAP, which was set
-to 1 in config.h, but the corresponding code wasn't compiled in.
-
-Index: at-3.1.13/parsetime.l
-===================================================================
---- at-3.1.13.orig/parsetime.l
-+++ at-3.1.13/parsetime.l
-@@ -4,6 +4,7 @@
- #include <time.h>
- #include "y.tab.h"
- #include "parsetime.h"
-+#include "config.h"
- - char *last_token = NULL;
- char **my_argv;
(quoted diff) +0 -0

b/package/at/0008-remove-glibc-__isleap-assumption.patch deleted file mode 100644
index 2152249..0000000

package/at/0008-remove-glibc-__isleap-assumption.patch deleted +0 -56

56 lines not on this page · raw message

package/at/at.hash +0 -1
index 481c937..04bd890 100644
@@ -1,4 +1,3 @@
-# From 

http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/at/at_3.1.13-2%2Bdeb7u1.dsc
-sha1 9873e0c38403ef58364912d0b505fd20798fd400 at_3.1.13.orig.tar.gz
-sha256 3a8b90868d615d21a92f4986ea9a823886329af8fae8dd7ab4eed9b273bca072
at_3.1.13.orig.tar.gz
-md5 1da61af6c29e323abaaf13ee1a8dad79 at_3.1.13.orig.tar.gz
+# From
http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/at/at_3.1.16-1.dsc
+sha1 5ad64a471d0ed9985541e918e096f69dc2963cf0 at_3.1.16.orig.tar.gz
+sha256 cb9af59c6a54edce9536ba629841055409d1f89d8ae26494727a97141fb4d5c1
at_3.1.16.orig.tar.gz

package/at/at.mk +0 -0
index 1504e32..8865360 100644
@@ -4,7 +4,7 @@
  #
 

################################################################################
-AT_VERSION = 3.1.13
+AT_VERSION = 3.1.16
AT_SOURCE = at_$(AT_VERSION).orig.tar.gz
AT_SITE =
http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/at

  # missing deps for parsetime.l
Signature · 1 line
2.4.5
#5 lore raw

PATCH 2/2 at: add systemd support

In reply to Alex Suykov
---
  package/at/at.mk | 12 ++++++++++++
  1 file changed, 12 insertions(+)
package/at/at.mk +10 -0
index 8865360..e0ea3a4 100644
@@ -21,8 +21,20 @@ AT_CONF_OPTS = \
  	--with-daemon_groupname=root \
  	SENDMAIL=/usr/sbin/sendmail
  +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+AT_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system
+else
+AT_CONF_OPTS += --with-systemdsystemunitdir=no
+endif
+
  define AT_INSTALL_INIT_SYSV
  	$(INSTALL) -m 0755 -D package/at/S99at $(TARGET_DIR)/etc/init.d/S99at
  endef
  +define AT_INSTALL_INIT_SYSTEMD
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf ../../../../usr/lib/systemd/system/atd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/atd.service
+endef
+
  $(eval $(autotools-package))
Signature · 1 line
2.4.5
#4 lore raw

PATCH 1/2 at: bump version 3.1.16

In reply to Aurélien Chabot

Dear Aur?lien Chabot,

Quoted 8 lines · Aur?lien Chabot

Patch refreshed :

	0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch
	0004-Makefile.in-replace-IROOT-by-DESTDIR.patch
	0005-Makefile.in-make-install-fix.patch
	0006-getloadavg.c-fix.patch
	0007-parsetime.l-include-config-h.patch
	0008-remove-glibc-__isleap-assumption.patch
Quoted 5 lines

Patch removed (merge upstream) :
0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch 0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch

Your patches have been wrapped by your e-mail client. Please use git send-email.

Also, when you resend new version of patches, please use something like [PATCH v2] in the subject, and indicate in a cover letter or inside the patches what are the changes with the previous version. Do use [PATCH v2] in the subject, generate your patches with:

	git format-patch --subject-prefix "PATCHv2"

Also, you probably don't need to send them as replies to the old systemd support thread.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#41 lore raw

PATCH 19/38 olsr: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov
---
 package/olsr/olsr.mk      |  8 ++++++++
 package/olsr/olsr.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/olsr/olsr.service

Applied after changing to use a relative path for the symbolic link. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#43 lore raw

PATCH 20/38 proftpd: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 12 lines · Alex Suykov
---
 package/proftpd/proftpd.mk      |  8 ++++++++
 package/proftpd/proftpd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/proftpd/proftpd.service
package/proftpd/proftpd.mk +0 -0
index 023b4dd..81a8a69 100644

package/proftpd/proftpd.mk define PROFTPD_INSTALL_INIT_SYSV · line 62

Quoted 8 lines
package/proftpd/proftpd.mk +5 -0
@@ -55,4 +55,12 @@ define PROFTPD_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 0755 package/proftpd/S50proftpd $(TARGET_DIR)/etc/init.d/S50proftpd
 endef
 
+define PROFTPD_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/proftpd/proftpd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/proftpd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/proftpd.service \

This should have been a relative path.

package/proftpd/proftpd.service line 2

Quoted 12 lines
package/proftpd/proftpd.mk +3 -0
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/proftpd.service
+endef
+
 $(eval $(autotools-package))
package/proftpd/proftpd.service new file +2 -0
new file mode 100644
index 0000000..f1777a5
@@ -0,0 +1,10 @@
+[Unit]
+Description=FTR server

And 'FTP server'.

Applied with those two changes, thanks a lot!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#45 lore raw

PATCH 21/38 ptpd: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

package/ptpd/ptpd.mk define PTPD_INSTALL_INIT_SYSV · line 29

Quoted 5 lines · Alex Suykov
package/ptpd/ptpd.mk +5 -0
+define PTPD_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 package/ptpd/ptpd.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/ptpd.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -sf /usr/lib/systemd/system/ptpd.service \

A relative path should be used here.

Quoted 10 lines
package/ptpd/ptpd.mk +3 -0
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ptpd.service
+endef
+
 $(eval $(generic-package))
package/ptpd/ptpd.service new file +0 -0
new file mode 100644
index 0000000..580ca51

package/ptpd/ptpd.service line 6

Quoted 6 lines
package/ptpd/ptpd.service new file +6 -0
@@ -0,0 +1,10 @@
+[Unit]
+Description=Precision Time Protocol daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/ptpd -c -S

And according to Maxime Hadjinlian, this -S is not needed, since redirecting stdout is already taken care of by systemd.

Applied with those two fixes. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#50 lore raw

PATCH 24/38 smstools3: systemd support

In reply to Alex Suykov

Hi Alex, all

Quoted 13 lines · Alex Suykov
---
 package/smstools3/smsd.service | 14 ++++++++++++++
 package/smstools3/smstools3.mk |  8 ++++++++
 2 files changed, 22 insertions(+)
 create mode 100644 package/smstools3/smsd.service
package/smstools3/smsd.service new file +0 -0
new file mode 100644
index 0000000..fd6e088

package/smstools3/smsd.service line 8

Quoted 8 lines
package/smstools3/smsd.service new file +8 -0
@@ -0,0 +1,14 @@
+[Unit]
+Description=SMS Server Tools 3
+After=syslog.target
+
+[Service]
+ExecStartPre=mkdir -p /var/spool/sms/outgoing
+ExecStartPre=mkdir -p /var/spool/sms/incoming
+ExecStartPre=mkdir -p /var/spool/sms/checked

With that many files, I think it would be better to do that with the tmpfiles.d mechanisms provided by systemd

package/smstools3/smsd.service line 11

Quoted 3 lines
package/smstools3/smsd.service new file +3 -0
+ExecStart=/usr/bin/smsd -c /etc/smsd.conf -s
+Restart=always
+PermissionsStartOnly=true

Why would you need that ? smstools doesn't create any users and there's no User= here, so it doesn't make sense to have that options.

Quoted 8 lines
package/smstools3/smsd.service new file +3 -0
+
+[Install]
+WantedBy=multi-user.target
package/smstools3/smstools3.mk +0 -0
index a1684de..60ca5b6 100644

package/smstools3/smstools3.mk define SMSTOOLS3_INSTALL_INIT_SYSV · line 30

Quoted 9 lines
package/smstools3/smstools3.mk +6 -0
@@ -22,6 +22,14 @@ define SMSTOOLS3_INSTALL_INIT_SYSV
                $(TARGET_DIR)/etc/init.d/S50smsd
 endef
 
+define SMSTOOLS3_INSTALL_INIT_SYSTEMD
+       $(INSTALL) -D -m 644 package/smstools3/smsd.service \
+               $(TARGET_DIR)/usr/lib/systemd/system/smsd.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -sf /usr/lib/systemd/system/smsd.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smsd.service

Your link is not right, it needs to have '../../../../' like the others so it doesn't appear broken in the target directory.

Your patch will be marked as "Changes Requested" in the patchwork.

Quoted 12 lines
package/smstools3/smstools3.mk +2 -1
+endef
+
 define SMSTOOLS3_INSTALL_TARGET_CMDS
        $(INSTALL) -m 0755 -D $(@D)/src/smsd \
                $(TARGET_DIR)/usr/bin/smsd
--

2.0.3

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#31 lore raw

PATCH 14/38 mongoose: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov
---
 package/mongoose/mongoose.mk      |  8 ++++++++
 package/mongoose/mongoose.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/mongoose/mongoose.service

Applied after changing to use a relative path for the symlink, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#62 lore raw

PATCH 30/38 tinyhttpd: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov
---
 package/tinyhttpd/tinyhttpd.mk      |  8 ++++++++
 package/tinyhttpd/tinyhttpd.service | 10 ++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 package/tinyhttpd/tinyhttpd.service

Applied after changing the link to use a relative path, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#69 lore raw

PATCH 34/38 triggerhappy: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov
---
 package/triggerhappy/triggerhappy.mk      | 8 ++++++++
 package/triggerhappy/triggerhappy.service | 9 +++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 package/triggerhappy/triggerhappy.service

Applied after fixing the patch to use a relative path for the symbolic link, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#52 lore raw

PATCH 25/38 rpi-userland: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov
---
 package/rpi-userland/rpi-userland.mk | 7 +++++++
 package/rpi-userland/vcfiled.service | 8 ++++++++
 2 files changed, 15 insertions(+)
 create mode 100644 package/rpi-userland/vcfiled.service

Applied after fixing the patch to use a relative path for the symbolic link, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#48 lore raw

PATCH 23/38 pulseaudio: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 6 lines · Alex Suykov
---
 package/pulseaudio/pulseaudio.mk      |  8 ++++++++
 package/pulseaudio/pulseaudio.service | 11 +++++++++++
 2 files changed, 19 insertions(+)
 create mode 100644 package/pulseaudio/pulseaudio.service

Applied after doing some minor changes:

[Thomas:
- use relative path for the service symlink
- slightly adjust the service description]

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#56 lore raw

PATCH 27/38 ti-gfx: systemd support

In reply to Alex Suykov

Dear Alex Suykov,

Quoted 9 lines · Alex Suykov

The startup script too complex to embed it completely into the .service file, so it is left as a standalone script.

---
 package/ti-gfx/ti-gfx.mk      | 10 ++++++++++
 package/ti-gfx/ti-gfx.service | 11 +++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 package/ti-gfx/ti-gfx.service

Applied with some minor changes:

[Thomas:
- use relative path for the symbolic link
- slightly tweak the service Description string]

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com