package/skeleton-init-openrc: add support for starting sysv scripts
Add an OpenRC service that starts and stops sysv-init scripts. We order that script 'after local' so that it is started after all other native openrc services. Signed-off-by: Michał Łyszczek <michal.lyszczek@bofc.pl> [yann.morin.1998@free.fr: - don't propagate the micro optimisation for running .sh scripts - use spaces, not TABs - stop services in reverse order - reword commit log ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
c7123a3088
commit
162044407b
@ -542,7 +542,10 @@ different steps of the build process.
|
|||||||
sysvinit, etc.), openrc or for the systemd units. These commands
|
sysvinit, etc.), openrc or for the systemd units. These commands
|
||||||
will be run only when the relevant init system is installed (i.e.
|
will be run only when the relevant init system is installed (i.e.
|
||||||
if systemd is selected as the init system in the configuration,
|
if systemd is selected as the init system in the configuration,
|
||||||
only +LIBFOO_INSTALL_INIT_SYSTEMD+ will be run).
|
only +LIBFOO_INSTALL_INIT_SYSTEMD+ will be run). The only exception
|
||||||
|
is when openrc is chosen as init system and +LIBFOO_INSTALL_INIT_OPENRC+
|
||||||
|
has not been set, in such situation +LIBFOO_INSTALL_INIT_SYSV+ will
|
||||||
|
be called, since openrc supports sysv init scripts.
|
||||||
|
|
||||||
* +LIBFOO_HELP_CMDS+ lists the actions to print the package help, which
|
* +LIBFOO_HELP_CMDS+ lists the actions to print the package help, which
|
||||||
is included to the main +make help+ output. These commands can print
|
is included to the main +make help+ output. These commands can print
|
||||||
|
25
package/openrc/sysv-rcs
Executable file
25
package/openrc/sysv-rcs
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#!/sbin/openrc-run
|
||||||
|
|
||||||
|
description="start or stop sysv rc[S,K] scripts"
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
after local
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
einfo "Starting sysv rc scripts"
|
||||||
|
for i in /etc/init.d/S??*; do
|
||||||
|
# Ignore dangling symlinks (if any).
|
||||||
|
[ -e "$i" ] || continue
|
||||||
|
$i start
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
einfo "Stopping sysv rc scripts"
|
||||||
|
for i in $(ls -r /etc/init.d/S??*); do
|
||||||
|
# Ignore dangling symlinks (if any).
|
||||||
|
[ -e "$i" ] || continue
|
||||||
|
$i stop
|
||||||
|
done
|
||||||
|
}
|
@ -338,7 +338,8 @@ $(BUILD_DIR)/%/.stamp_target_installed:
|
|||||||
$(if $(BR2_INIT_SYSV)$(BR2_INIT_BUSYBOX),\
|
$(if $(BR2_INIT_SYSV)$(BR2_INIT_BUSYBOX),\
|
||||||
$($(PKG)_INSTALL_INIT_SYSV))
|
$($(PKG)_INSTALL_INIT_SYSV))
|
||||||
$(if $(BR2_INIT_OPENRC), \
|
$(if $(BR2_INIT_OPENRC), \
|
||||||
$($(PKG)_INSTALL_INIT_OPENRC))
|
$(or $($(PKG)_INSTALL_INIT_OPENRC), \
|
||||||
|
$($(PKG)_INSTALL_INIT_SYSV)))
|
||||||
$(foreach hook,$($(PKG)_POST_INSTALL_TARGET_HOOKS),$(call $(hook))$(sep))
|
$(foreach hook,$($(PKG)_POST_INSTALL_TARGET_HOOKS),$(call $(hook))$(sep))
|
||||||
$(Q)if test -n "$($(PKG)_CONFIG_SCRIPTS)" ; then \
|
$(Q)if test -n "$($(PKG)_CONFIG_SCRIPTS)" ; then \
|
||||||
$(RM) -f $(addprefix $(TARGET_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ; \
|
$(RM) -f $(addprefix $(TARGET_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ; \
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
/etc/init.d/sysv-rcs
|
Loading…
Reference in New Issue
Block a user