[Buildroot] [PATCH] vsftpd: Add systemd services

Maxime Hadjinlian maxime.hadjinlian at gmail.com
Sun Oct 4 16:45:43 UTC 2015


The systemd services were taken from Arch Linux's repository:
https://projects.archlinux.org/svntogit/community.git/tree/trunk?h=packages/vsftpd

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian at gmail.com>
---
 package/vsftpd/vsftpd-ssl.service  | 10 ++++++++++
 package/vsftpd/vsftpd-ssl.socket   |  9 +++++++++
 package/vsftpd/vsftpd-ssl at .service |  9 +++++++++
 package/vsftpd/vsftpd.mk           | 17 +++++++++++++++++
 package/vsftpd/vsftpd.service      | 11 +++++++++++
 package/vsftpd/vsftpd.socket       |  9 +++++++++
 package/vsftpd/vsftpd at .service     |  8 ++++++++
 7 files changed, 73 insertions(+)
 create mode 100644 package/vsftpd/vsftpd-ssl.service
 create mode 100644 package/vsftpd/vsftpd-ssl.socket
 create mode 100644 package/vsftpd/vsftpd-ssl at .service
 create mode 100644 package/vsftpd/vsftpd.service
 create mode 100644 package/vsftpd/vsftpd.socket
 create mode 100644 package/vsftpd/vsftpd at .service

diff --git a/package/vsftpd/vsftpd-ssl.service b/package/vsftpd/vsftpd-ssl.service
new file mode 100644
index 0000000..3343bc9
--- /dev/null
+++ b/package/vsftpd/vsftpd-ssl.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=vsftpd daemon (legacy implicit SSL)
+
+[Service]
+ExecStart=/usr/bin/vsftpd -oimplicit_ssl=yes
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
diff --git a/package/vsftpd/vsftpd-ssl.socket b/package/vsftpd/vsftpd-ssl.socket
new file mode 100644
index 0000000..b18b639
--- /dev/null
+++ b/package/vsftpd/vsftpd-ssl.socket
@@ -0,0 +1,9 @@
+[Unit]
+Conflicts=vsftpd.service
+
+[Socket]
+ListenStream=990
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/package/vsftpd/vsftpd-ssl at .service b/package/vsftpd/vsftpd-ssl at .service
new file mode 100644
index 0000000..8bcf78e
--- /dev/null
+++ b/package/vsftpd/vsftpd-ssl at .service
@@ -0,0 +1,9 @@
+[Unit]
+Description=vsftpd per-connection server (legacy implicit SSL)
+
+[Service]
+ExecStart=-/usr/bin/vsftpd -oimplicit_ssl=yes
+ExecReload=/bin/kill -HUP $MAINPID
+StandardInput=socket
+StandardOutput=socket
+StandardError=syslog
diff --git a/package/vsftpd/vsftpd.mk b/package/vsftpd/vsftpd.mk
index 1e48264..823ad66 100644
--- a/package/vsftpd/vsftpd.mk
+++ b/package/vsftpd/vsftpd.mk
@@ -47,6 +47,23 @@ define VSFTPD_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 755 package/vsftpd/S70vsftpd $(TARGET_DIR)/etc/init.d/S70vsftpd
 endef
 
+define VSFTPD_INSTALL_INIT_SYSTEMD
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/sockets.target.wants
+
+	for f in vsftpd.service vsftpd.socket vsftpd at .service \
+		vsftpd-ssl.service vsftpd-ssl.socket vsftpd-ssl at .service; do \
+		$(INSTALL) -D -m 644 package/vsftpd/$$f \
+			$(TARGET_DIR)/usr/lib/systemd/system/$$f; \
+		wanted_by="multi-user.target.wants"; \
+		if [ $${f##*.} = "socket" ]; then \
+			wanted_by="sockets.target.wants"; \
+		fi; \
+		ln -sf ../../../../usr/lib/systemd/system/$$f \
+			$(TARGET_DIR)/etc/systemd/system/$$wanted_by/$$f; \
+	done
+endef
+
 define VSFTPD_INSTALL_TARGET_CMDS
 	$(INSTALL) -D -m 755 $(@D)/vsftpd $(TARGET_DIR)/usr/sbin/vsftpd
 	test -f $(TARGET_DIR)/etc/vsftpd.conf || \
diff --git a/package/vsftpd/vsftpd.service b/package/vsftpd/vsftpd.service
new file mode 100644
index 0000000..cc7645f
--- /dev/null
+++ b/package/vsftpd/vsftpd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=vsftpd daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/vsftpd
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
diff --git a/package/vsftpd/vsftpd.socket b/package/vsftpd/vsftpd.socket
new file mode 100644
index 0000000..cdc0d33
--- /dev/null
+++ b/package/vsftpd/vsftpd.socket
@@ -0,0 +1,9 @@
+[Unit]
+Conflicts=vsftpd.service
+
+[Socket]
+ListenStream=21
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/package/vsftpd/vsftpd at .service b/package/vsftpd/vsftpd at .service
new file mode 100644
index 0000000..81e1429
--- /dev/null
+++ b/package/vsftpd/vsftpd at .service
@@ -0,0 +1,8 @@
+[Unit]
+Description=vsftpd per-connection server
+
+[Service]
+ExecStart=-/usr/bin/vsftpd
+ExecReload=/bin/kill -HUP $MAINPID
+StandardInput=socket
+StandardError=syslog
-- 
2.5.3



More information about the buildroot mailing list