mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 23:42:43 +00:00
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>
This commit is contained in:
parent
b153745bfb
commit
0b1fa809d0
@ -41,14 +41,15 @@ disable() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enable() {
|
enable() {
|
||||||
|
err=1
|
||||||
name="$(basename "${initscript}")"
|
name="$(basename "${initscript}")"
|
||||||
disable
|
[ "$START" ] && \
|
||||||
[ -n "$START" -o -n "$STOP" ] || {
|
ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" && \
|
||||||
echo "/etc/init.d/$name does not have a START or STOP value"
|
err=0
|
||||||
return 1
|
[ "$STOP" ] && \
|
||||||
}
|
ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}" && \
|
||||||
[ "$START" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}"
|
err=0
|
||||||
[ "$STOP" ] && ln -s "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}"
|
return $err
|
||||||
}
|
}
|
||||||
|
|
||||||
enabled() {
|
enabled() {
|
||||||
|
Loading…
Reference in New Issue
Block a user