[Debian-ha-maintainers] Bug#1136548: pacemaker uses pidof but does not depend on procps
Gioele Barabucci
gioele at debian.org
Thu May 14 00:30:21 BST 2026
Source: pacemaker
Version: 3.0.1-1.1+b1
Usertags: pidof-without-procps
Dear maintainer(s) of pacemaker,
it appears that pacemaker 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 pacemaker
that use `pidof` at runtime;
* via the `Build-Depends:` field of pacemaker, 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 pacemaker, 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 pacemaker uses `pidof` due to the following
code snippets:
```
path: pacemaker_3.0.1-1.1/etc/init.d/pacemaker.in
if status $prog > /dev/null 2>&1; then
touch "$LOCK_FILE"
pidof $prog > "@localstatedir@/run/$prog.pid"
success
else
path: pacemaker_3.0.1-1.1/etc/init.d/pacemaker.in
if status $shutdown_prog > /dev/null 2>&1; then
notify "Signaling $desc to terminate"
kill -TERM $(pidof $prog) > /dev/null 2>&1
checkrc
echo
path: pacemaker_3.0.1-1.1/etc/init.d/pacemaker.in
status()
{
pid=$(pidof $1 2>/dev/null)
local rtrn=$?
if [ $rtrn -ne 0 ]; then
path: pacemaker_3.0.1-1.1/tools/cluster-clean.in
cluster-helper $target -- "killall -q -9 corosync pacemakerd pacemaker-attrd pacemaker-based pacemaker-controld pacemaker-execd pacemaker-fenced pacemaker-remoted pacemaker-schedulerd dlm_controld gfs_controld" &> /dev/null
cluster-helper $target -- 'kill -9 `pidof valgrind`' &> /dev/null
if [ $kill == 2 ]; then
path: pacemaker_3.0.1-1.1/daemons/execd/pacemaker_remote.in
if status $prog > /dev/null 2>&1; then
echo -n "Signaling $desc to terminate: "
kill -TERM $(pidof $prog) > /dev/null 2>&1
success
echo
path: pacemaker_3.0.1-1.1/daemons/execd/pacemaker_remote.in
if status $prog > /dev/null 2>&1; then
touch "$LOCK_FILE"
pidof $prog > "@localstatedir@/run/$prog.pid"
success
else
path: pacemaker_3.0.1-1.1/daemons/execd/pacemaker_remote.in
status()
{
pid=$(pidof $1 2>/dev/null)
local rtrn=$?
if [ $rtrn -ne 0 ]; then
```
Feel free to close this issue if this is a false positive (for example
if this code is in an unreachable code path).
Regards,
--
Gioele Barabucci
More information about the Debian-ha-maintainers
mailing list