Correctly detect if systemd is used in Debian #488
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CFEngine 3.6 tries to understand if a Linux is using systemd as init system
by looking at the contents of /proc/1/cmdline, that happens in
bundle common inventory_linux. That's indeed a smart thing to do but unfortunately
fails on Debian Jessie, where you have:
root@cf-test-v10:~# ls -l /sbin/init
lrwxrwxrwx 1 root root 20 May 26 06:07 /sbin/init -> /lib/systemd/systemd
the pseudo-file in /proc will still report /sbin/init and as a result the systemd
class won't be set. This affects services promises negatively
This patch checks if /sbin/init is a link; if it is, and it points to systemd,
the systemd class is set