From 0a0c116036e3a2d44af3169d52637ca80c7f535c Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 27 Nov 2016 17:23:46 +0100 Subject: dropbear: add systemd unit file and integrate logic to package build --- mk/package.mk | 10 +++++++++- package/dropbear/Makefile | 6 ++++-- package/dropbear/files/dropbear.service | 11 +++++++++++ target/config/Config.in.runtime | 2 +- 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 package/dropbear/files/dropbear.service diff --git a/mk/package.mk b/mk/package.mk index efcb18315..5510cf445 100644 --- a/mk/package.mk +++ b/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' \ diff --git a/package/dropbear/Makefile b/package/dropbear/Makefile index d2b0cd9ce..f92f6609c 100644 --- a/package/dropbear/Makefile +++ b/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 diff --git a/package/dropbear/files/dropbear.service b/package/dropbear/files/dropbear.service new file mode 100644 index 000000000..eeb86cfa7 --- /dev/null +++ b/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 diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime index 7379f153e..6dc61e668 100644 --- a/target/config/Config.in.runtime +++ b/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. -- cgit v1.2.3