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