aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorRoman Yeryomin <roman@advem.lv>2017-12-22 13:04:46 +0200
committerJohn Crispin <john@phrozen.org>2018-01-02 07:14:08 +0100
commit0b1fa809d0e974398503a24e408c1209969711f7 (patch)
tree9599b1c58819bfacdd7b6e4242459c2c05c8cb7f /package
parentb153745bfbefc6617db0f63e6c80fde7e1e96e7e (diff)
downloadupstream-0b1fa809d0e974398503a24e408c1209969711f7.tar.gz
upstream-0b1fa809d0e974398503a24e408c1209969711f7.tar.bz2
upstream-0b1fa809d0e974398503a24e408c1209969711f7.zip
base-files: rc.common: fix enable() return code and logic
In current state, if there is START but no STOP, enbale() will return 1 (failure), which is wrong. Moreover there is no need to check for START/STOP twice. Instead, add err variable to save success state and and return it's value. Also eliminate the need to disable() by using 'ln -sf', which will first delete the old symlink if one exists. Changes from v1: - fixed description Signed-off-by: Roman Yeryomin <roman@advem.lv>
Diffstat (limited to 'package')
-rwxr-xr-xpackage/base-files/files/etc/rc.common15
1 files changed, 8 insertions, 7 deletions
diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common
index a2ea6a5679..a08c1f8f48 100755
--- a/package/base-files/files/etc/rc.common
+++ b/package/base-files/files/etc/rc.common
@@ -41,14 +41,15 @@ disable() {
}
enable() {
+ err=1
name="$(basename "${initscript}")"
- disable
- [ -n "$START" -o -n "$STOP" ] || {
- echo "/etc/init.d/$name does not have a START or STOP value"
- return 1
- }
- [ "$START" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}"
- [ "$STOP" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}"
+ [ "$START" ] && \
+ ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" && \
+ err=0
+ [ "$STOP" ] && \
+ ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}" && \
+ err=0
+ return $err
}
enabled() {