summaryrefslogtreecommitdiff
path: root/pkg/specgen
diff options
context:
space:
mode:
authorChristian Heimes <cheimes@redhat.com>2020-08-11 11:29:49 +0200
committerMatthew Heon <matthew.heon@pm.me>2020-08-20 12:16:52 -0400
commit76ae0c907591b60374febdd8bd41f90cbc5444b6 (patch)
tree6fa152f7a7e574b2c9af84deef4d3df9f261c04c /pkg/specgen
parentc539091bb0346cca036f0b7c4c4fe4423dcc66ee (diff)
downloadpodman-76ae0c907591b60374febdd8bd41f90cbc5444b6.tar.gz
podman-76ae0c907591b60374febdd8bd41f90cbc5444b6.tar.bz2
podman-76ae0c907591b60374febdd8bd41f90cbc5444b6.zip
Enable systemd mode for /usr/local/sbin/init
Podman 1.6.2 changed systemd mode auto-detection from commands ending in ``init`` to hard-coded paths ``/sbin/init`` and ``/usr/sbin/init``. This broke FreeIPA container. ``podman run`` and ``podman create`` now activate systemd mode when the command is ``/usr/local/sbin/init``. Fixes: https://github.com/containers/podman/issues/7287 Signed-off-by: Christian Heimes <cheimes@redhat.com>
Diffstat (limited to 'pkg/specgen')
-rw-r--r--pkg/specgen/generate/container_create.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/pkg/specgen/generate/container_create.go b/pkg/specgen/generate/container_create.go
index be1e3b48e..630e59854 100644
--- a/pkg/specgen/generate/container_create.go
+++ b/pkg/specgen/generate/container_create.go
@@ -153,13 +153,14 @@ func createContainerOptions(ctx context.Context, rt *libpod.Runtime, s *specgen.
}
if len(command) > 0 {
- if command[0] == "/usr/sbin/init" || command[0] == "/sbin/init" || (filepath.Base(command[0]) == "systemd") {
+ if command[0] == "/usr/sbin/init" || command[0] == "/sbin/init" || command[0] == "/usr/local/sbin/init" || (filepath.Base(command[0]) == "systemd") {
useSystemd = true
}
}
default:
return nil, errors.Wrapf(err, "invalid value %q systemd option requires 'true, false, always'", s.Systemd)
}
+ logrus.Debugf("using systemd mode: %t", useSystemd)
if useSystemd {
// is StopSignal was not set by the user then set it to systemd
// expected StopSigal