Am 11.07.19 um 17:41 schrieb Mert Dirik: > On 7/11/19, Thomas Bätzler <[email protected]> wrote: >> >> To wit: >> >> root@kvm1:~# /etc/init.d/rsync >> Usage: /etc/init.d/rsync {start|stop|reload|force-reload|restart|status} >> >> vs. >> >> root@kvm1:~# /etc/init.d/mysql >> /lib/lsb/init-functions.d/40-systemd: line 11: 1: unbound variable >> >> > > Thanks, I've been able to confirm that. > >> In this case, line 16 has to be changed to 'argument="${1:-}', too (last >> line of your patch), since the call without argument falls through to >> the else branch, i.e. > > Indeed. "argument=$1" line had need to be changed, not the > "argument=$2" one. Can you try this patch: > > executable="$__init_d_script_name" > argument="$1"
Is $1 guaranteed to be set/not an issue with __init_d_script_name?
> elif [ "${0##*/}" = "init-d-script" ] ||
> - [ "${0##*/}" = "${1##*/}" ]; then # scripts run with old
> init-d-script
> + [ "${0}" = "${1:-}" ]; then # scripts run with old init-d-script
Why do we need ${1:-1} here...
> executable="$1"
> argument="$2"
..but no checks here?
> else # plain old scripts
> executable="$0"
> - argument="$1"
> + argument="${1:-}"
This part makes sense to me
> fi
fwiw, trying to use -u with old style init-d-script and new style
__init_d_script_name yields a lot of unset errors in /lib/init/vars.sh
and /lib/init/init-d-script.
I guess this needs someone interested to address this.
For now, I'll probably just apply this hunk:
> else # plain old scripts
> executable="$0"
> - argument="$1"
> + argument="${1:-}"
Regards,
Michael
--
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Pkg-systemd-maintainers mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-systemd-maintainers
