Bug#765175: systemd init script integration: status action should use --lines=0
Gerben Meijer
gerben at daybyday.nl
Thu Apr 28 20:12:02 BST 2016
I'd like to escalate this to a higher priority.
There are existing applications that expect init scripts to return a
string or RC value. The current code in
/lib/lsb/init-functions.d/40-systemd looks like this:
[ "$command" = status ] || log_daemon_msg "$s" "$service"
/bin/systemctl $sctl_args $command "$service"
rc=$?
[ "$command" = status ] || log_end_msg $rc
A problem arises whenever a script executes the status command, but
systemctl then invokes a pager.
For example, on a 'vagrant up' with a Vagrantfile using an nfs
synced_folder, vagrant will invoke '/etc/init.d/nfs-kernel-server
status' for each VM it is bringing up that has such a config. Systemctl
then invokes a pager for every VM, effectively halting the process until
the user exits the pager. It isn't even clear that a pager is invoked.
So please raise the priority on this as it seems only logical to have
traditional init scripts not invoke a pager when passing the 'status'
argument; using --lines=0 is a viable solution and likely better than
--no-pager.
More information about the Pkg-systemd-maintainers
mailing list