Browse Source

dropbear: add systemd unit file and integrate logic to package build

Waldemar Brodkorb 7 years ago
parent
commit
0a0c116036

+ 9 - 1
mk/package.mk

@@ -225,7 +225,15 @@ ifeq (${ADK_INSTALL_PACKAGE_INIT_SCRIPTS},y)
 	done
 endif
 ifneq (${ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS},y)
-	-rm -rf $${IDIR_$(1)}/etc/network
+	-@rm -rf $${IDIR_$(1)}/etc/network
+endif
+ifeq (${ADK_RUNTIME_INIT_SYSTEMD},y)
+	@for file in $$$$(ls ./files/*.service 2>/dev/null); do \
+		mkdir -p $$(IDIR_$(1))/usr/lib/systemd/system && cp $$$$file $$(IDIR_$(1))/usr/lib/systemd/system; \
+		mkdir -p $$(IDIR_$(1))/etc/systemd/system/multi-user.target.wants; \
+		ln -sf ../../../../usr/lib/systemd/system/$$$$file \
+			$$(IDIR_$(1))/etc/systemd/system/multi-user.target.wants; \
+	done
 endif
 endif
 	@mkdir -p $${PACKAGE_DIR} '$${STAGING_PKG_DIR}/stamps' \

+ 4 - 2
package/dropbear/Makefile

@@ -5,7 +5,7 @@ include $(ADK_TOPDIR)/rules.mk
 
 PKG_NAME:=		dropbear
 PKG_VERSION:=		2016.74
-PKG_RELEASE:=		1
+PKG_RELEASE:=		2
 PKG_HASH:=		2720ea54ed009af812701bcc290a2a601d5c107d12993e5d92c0f5f81f718891
 PKG_DESCR:=		ssh server/client designed for embedded systems
 PKG_SECTION:=		net/security
@@ -57,7 +57,9 @@ do-build:
 
 do-install:
 	# main package
-	$(INSTALL_DIR) $(IDIR_DROPBEAR)/usr/bin $(IDIR_DROPBEAR)/bin
+	$(INSTALL_DIR) $(IDIR_DROPBEAR)/etc/dropbear
+	$(INSTALL_DIR) $(IDIR_DROPBEAR)/bin
+	$(INSTALL_DIR) $(IDIR_DROPBEAR)/usr/bin
 	$(INSTALL_DIR) $(IDIR_DROPBEAR)/usr/sbin
 	$(INSTALL_BIN) $(WRKBUILD)/dropbearmulti \
 		$(IDIR_DROPBEAR)/usr/sbin/dropbear

+ 11 - 0
package/dropbear/files/dropbear.service

@@ -0,0 +1,11 @@
+[Unit]
+Description=Dropbear SSH daemon
+After=syslog.target network.target
+
+[Service]
+EnvironmentFile=-/etc/default/dropbear
+ExecStart=/usr/sbin/dropbear -F -R $DROPBEAR_ARGS
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target

+ 1 - 1
target/config/Config.in.runtime

@@ -176,7 +176,7 @@ config ADK_RUNTIME_TMPFS_SIZE
 	default "32768" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
 	default "8192" if ADK_TARGET_SYSTEM_MIKROTIK_RB532
 	default "1024"
-	depends on !ADK_RUNTIME_INIT_SIMPLEINIT
+	depends on !ADK_RUNTIME_INIT_SIMPLEINIT && !ADK_RUNTIME_INIT_SYSTEMD
 	help
 	  Size of /tmp in memory in Kilobyte.