From c0a700469527138643d745c7a17ba66e86e77a52 Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 22 Dec 2012 18:56:09 +0000 Subject: [PATCH] base-files: add basic procd integration, let procd start (and restart) ubus instead of having an ubus init script git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34866 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/Makefile | 2 +- package/base-files/files/etc/rc.common | 31 +++++++++++++++++++++++++++++++ package/ubus/Makefile | 3 +-- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/package/base-files/Makefile b/package/base-files/Makefile index ec69e0cb3c..63350f822a 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -28,7 +28,7 @@ endif define Package/base-files SECTION:=base CATEGORY:=Base system - DEPENDS:=+netifd +libc + DEPENDS:=+netifd +libc +procd TITLE:=Base filesystem for OpenWrt URL:=http://openwrt.org/ VERSION:=$(PKG_RELEASE)-$(REVISION) diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common index fa2df6cd25..78e2dd4940 100755 --- a/package/base-files/files/etc/rc.common +++ b/package/base-files/files/etc/rc.common @@ -75,10 +75,41 @@ $EXTRA_HELP EOF } +# for procd +start_service() { + return 0 +} + +stop_service() { + return 0 +} + ${INIT_TRACE:+set -x} . "$initscript" +[ -n "$USE_PROCD" ] && { + . $IPKG_INSTROOT/lib/functions/procd.sh + + rc_procd() { + procd_open_service "$(basename "$initscript")" "$initscript" + "$@" + procd_close_service + } + + start() { + rc_procd start_service "$@" + } + + stop() { + procd_kill "$(basename "$initscript")" "$1" + } + + reload() { + start + } +} + ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends ${EXTRA_COMMANDS}" list_contains ALL_COMMANDS "$action" || action=help [ "$action" = "reload" ] && action='eval reload "$@" || restart "$@" && :' diff --git a/package/ubus/Makefile b/package/ubus/Makefile index 617c76749b..782079d775 100644 --- a/package/ubus/Makefile +++ b/package/ubus/Makefile @@ -63,8 +63,7 @@ define Package/ubus/install endef define Package/ubusd/install - $(INSTALL_DIR) $(1)/sbin $(1)/etc/init.d - $(INSTALL_BIN) ./files/ubus.init $(1)/etc/init.d/ubus + $(INSTALL_DIR) $(1)/sbin $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ubusd $(1)/sbin/ endef -- 2.11.0