#1136557 podman uses pidof but does not depend on procps

#1136557#5
Date:
2026-05-13 23:30:53 UTC
From:
To:
Dear maintainer(s) of podman,

it appears that podman uses `pidof` in its testsuite, or that
at least one of its binary packages uses `pidof` at runtime.
Historically, `pidof` was provided by the Essential package
`sysvinit-tools`, making an explicit dependency unnecessary. However
`pidof` will soon be moved to `procps` and will no longer be part of
the Essential set.

Please add an explicit dependency on `procps`:

* via the `Depends:` field of all binary packages of podman
  that use `pidof` at runtime;
* via the `Build-Depends:` field of podman, if `pidof` is
  used in tests run at build-time;
* via the `Depends:` field of `debian/control/tests`, if `pidof` is
  used in autopkgtests.

To prevent any disruption for users of podman, please add
this dependency now, before `pidof` is moved from `sysvinit-utils` to
`procps`. Alternatively, you could remove all uses of `pidof`.

It is believed that podman uses `pidof` due to the following
code snippets:

```
path: podman_5.7.0+ds2-3/test/apiv2/python/rest_api/test_v2_0_0_container.py
        out = r.json()
        self.assertIsNotNone(out["State"].get("Health"))
        self.assertListEqual(["CMD", "pidof", "top"], out["Config"]["Healthcheck"]["Test"])
        self.assertEqual(5000000000, out["Config"]["Healthcheck"]["Interval"])
        self.assertEqual(2000000000, out["Config"]["Healthcheck"]["Timeout"])


path: podman_5.7.0+ds2-3/test/apiv2/python/rest_api/test_v2_0_0_container.py
        out = r.json()
        hc = out["Config"]["Healthcheck"]["Test"]
        self.assertListEqual(["CMD", "pidof", "top"], hc)
        r = requests.post(self.podman_url + f"/v1.40/containers/{container_id}/start")


path: podman_5.7.0+ds2-3/test/apiv2/python/rest_api/test_v2_0_0_container.py
                "Image": "alpine:latest",
                "Healthcheck": {
                    "Test": ["CMD", "pidof", "top"],
                    "Interval": 5000000000,
                    "Timeout": 2000000000,
```

Feel free to close this issue if this is a false positive (for example
if this code is in an unreachable code path).

Regards,

#1136557#10
Date:
2026-05-25 22:15:17 UTC
From:
To:
Hello,

Thank you for the report regarding the upcoming pidof transition. I have
investigated the usage of "pidof" in the podman source tree and found
the following:

1. The only occurrences of "pidof" are in the Python-based API test
   suite: test/apiv2/python/rest_api/test_v2_0_0_container.py

2. In these tests, a container is **dynamically created** via a POST
   request to the Podman API using the alpine:latest image. The
   "pidof" command is defined as part of a Healthcheck configuration
   sent in the JSON payload of that request.

3. Consequently, "pidof" is intended to run *inside* the Alpine
   container namespace. In that context, it is provided by the
   container's own BusyBox/tools, not the host's procps package.

4. These Python tests are currently not executed during the Debian
   build process (dh_auto_test only runs Go tests) nor are they part of
   any autopkgtest defined in debian/tests/control.

5. I found no evidence of "pidof" being used by the podman binary
   itself or any of the systemd units/scripts shipped in the package.

As such, this is a false positive for the host environment, and no
additional dependency on procps is required. I am therefore closing
this bug.

Regards,
-rt