nspawn: fix HAVE_SELINUX ifdef
shell-completion: fix completion of localectl set-locale

https://bugs.freedesktop.org/show_bug.cgi?id=74157
core: fix warning

introduced in c7040b5d1c2c148f12b6a5eef3dfce1661805131
core: watch SIGCHLD more closely to track processes of units with no reliable cgroup empty notifier

When a process dies that we can associate with a specific unit, start
watching all other processes of that unit, so that we can associate
those processes with the unit too.

Also, for service units start doing this as soon as we get the first
SIGCHLD for either control or main process, so that we can follow the
processes of the service from one to the other, as long as process that
remain are processes of the ones we watched that died and got reassigned
to us as parent.

Similar, for scope units start doing this as soon as the scope
controller abandons the unit, and thus management entirely reverts to
systemd. To abandon a unit introduce a new Abandon() scope unit method
call.
logind: rework session shutdown logic

Simplify the shutdown logic a bit:

- Keep the session FIFO around in the PAM module, even after the session
  shutdown hook has been finished. This allows logind to track precisely
  when the PAM handler goes away.

- In the ReleaseSession() call start a timer, that will stop terminate
  the session when elapsed.

- Never fiddle with the KillMode of scopes to configure whether user
  processes should be killed or not. Instead, simply leave the scope
  units around when we terminate a session whose processes should not be
  killed.

- When killing is enabled, stop the session scope on FIFO EOF or after
  the ReleaseSession() timeout. When killing is disabled, simply tell
  PID 1 to abandon the scope.

Because the scopes stay around and hence all processes are always member
of a scope, the system shutdown logic should be more robust, as the
scopes can be shutdown as part of the usual shutdown logic.
cgroup: make sure to properly send SIGCONT to all processes of a cgroup if that's requested
core: don't send duplicate SIGCONT when killing units
core: allow PIDs to be watched by two units at the same time

In some cases it is interesting to map a PID to two units at the same
time. For example, when a user logs in via a getty, which is reexeced to
/sbin/login that binary will be explicitly referenced as main pid of the
getty service, as well as implicitly referenced as part of the session
scope.
logind: given that we can now relatively safely shutdown sessions copes
without working cgroup empty notifications there's no need to set the
stop timeout of sessions scopes low
zsh-completions: kernel-install - only show existing kernels for 'remove'

When we remove a kernel, we don't remove the modules, so don't look at the modules directory to find installed kernels.
sd-dhcp-client: split sd_dhcp_lease from sd_dhcp_client

This allows us users of the library to keep copies of old leases. This is
used by networkd to know what addresses to drop (if any) when the lease
expires.

In the future this may be used by DNAv4 and sd-dhcp-server.
build-sys: autogen - enable compat libs by default
man: cryptsetup-1.6.3 now allows partition device file in system mode
machined: since we can now somewhat reliable get notifications for dying
scopes we don't need to lower the stop timeout anymore
core: one step back again, for nspawn we actually can't wait for cgroups running empty since systemd will get exactly zero notifications about it
logind: add function session_jobs_reply() to unify the create reply

The session_send_create_reply() function which notifies clients about
session creation is used for both session and user units. Unify the
shared code in a new function session_jobs_reply().

The session_save() will be called unconditionally on sessions since it
does not make sense to only call it if '!session->started', this will
also allow to update the session state as soon as possible.
networkd: netdev - rename Netdev to NetDev

Both in the configuration file format and everywhere else in the code.
logind: order all scopes after both systemd-logind.service and
systemd-user-sessions.service

This way at shutdown we can be sure that the sessions go away before the
network.