[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