summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2016-11-27 17:23:46 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2016-11-27 17:24:03 +0100
commit0a0c116036e3a2d44af3169d52637ca80c7f535c (patch)
tree2bad89e40d215107affb4ae9f8d1dbcebae4f4fd
parentfaa7498553e0c46bed2b27c3affa2e2278567631 (diff)
dropbear: add systemd unit file and integrate logic to package build
-rw-r--r--mk/package.mk10
-rw-r--r--package/dropbear/Makefile6
-rw-r--r--package/dropbear/files/dropbear.service11
-rw-r--r--target/config/Config.in.runtime2
4 files changed, 25 insertions, 4 deletions
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.