base-files: fix backwards compatiblity of rc.common EXTRA_COMMANDS

Avoid needlessly breaking old initscripts that set EXTRA_COMMANDS. This
will aid in debugging (as it simplifies reverting to an older version of
a package) and unbreaks third-party feeds (and packages that maintain
their OpenWrt initscripts as part of the software's repo instead of the
OpenWrt feed like fastd).

Without this, initscripts that set EXTRA_COMMANDS become completely
unusable, as all default commands like start/stop cease working.

Fixes: 1a69f50dc6 ("base-files: fix rc.common help alignment")
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
This commit is contained in:
Matthias Schiffer 2020-11-16 17:30:43 +01:00
parent 21dfdfd78b
commit 3f1109bf2a
No known key found for this signature in database
GPG key ID: 16EF3F64CB201D9C
2 changed files with 8 additions and 7 deletions

View file

@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk
include $(INCLUDE_DIR)/feeds.mk include $(INCLUDE_DIR)/feeds.mk
PKG_NAME:=base-files PKG_NAME:=base-files
PKG_RELEASE:=236 PKG_RELEASE:=237
PKG_FLAGS:=nonshared PKG_FLAGS:=nonshared
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/

View file

@ -62,15 +62,15 @@ depends() {
return 0 return 0
} }
EXTRA_HELP="" ALL_HELP=""
EXTRA_COMMANDS="boot shutdown depends" ALL_COMMANDS="boot shutdown depends"
extra_command() { extra_command() {
local cmd="$1" local cmd="$1"
local help="$2" local help="$2"
local extra="$(printf "%-16s%s" "${cmd}" "${help}")" local extra="$(printf "%-16s%s" "${cmd}" "${help}")"
EXTRA_HELP="${EXTRA_HELP}\t${extra}\n" ALL_HELP="${ALL_HELP}\t${extra}\n"
EXTRA_COMMANDS="${EXTRA_COMMANDS} ${cmd}" ALL_COMMANDS="${ALL_COMMANDS} ${cmd}"
} }
help() { help() {
@ -79,7 +79,7 @@ Syntax: $initscript [command]
Available commands: Available commands:
EOF EOF
echo -e "$EXTRA_HELP" echo -e "$ALL_HELP"
} }
# for procd # for procd
@ -175,6 +175,7 @@ extra_command "enabled" "Check if service is started on boot"
} }
} }
ALL_COMMANDS="${EXTRA_COMMANDS}" ALL_COMMANDS="${ALL_COMMANDS} ${EXTRA_COMMANDS}"
ALL_HELP="${ALL_HELP}${EXTRA_HELP}"
list_contains ALL_COMMANDS "$action" || action=help list_contains ALL_COMMANDS "$action" || action=help
$action "$@" $action "$@"