Source: glusterfs
Version: 11.2-3
Usertags: pidof-without-procps

Dear maintainer(s) of glusterfs,

it appears that glusterfs 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 glusterfs
  that use `pidof` at runtime;
* via the `Build-Depends:` field of glusterfs, 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 glusterfs, 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 glusterfs uses `pidof` due to the following
code snippets:

```
path: glusterfs_11.2-3/tests/volume.rc
then
        local pid=$(cat ${rundir}/${V0}.pid)
        pidof glusterfs 2>&1 | grep -w $pid > /dev/null
        if [ $? -eq 0 ]


path: glusterfs_11.2-3/extras/command-completion/gluster.bash
        elif [ "$1" == "complete" ]; then
                if ! pidof glusterd > /dev/null 2>&1; then
                        list='';


path: glusterfs_11.2-3/extras/command-completion/gluster.bash
if pidof glusterd > /dev/null 2>&1; then
        GLUSTER_SET_OPTIONS="
        $(for token in `gluster volume set help 2>/dev/null | grep "^Option:" | 
cut -d ' ' -f 2`


path: glusterfs_11.2-3/tests/00-geo-rep/00-georep-verify-setup.t
cleanup;
TEST glusterd;
TEST pidof glusterd


path: glusterfs_11.2-3/tests/bugs/cli/bug-1087487.t
TEST glusterd
TEST pidof glusterd
TEST $CLI volume create $V0 $H0:$B0/${V0}0 $H0:$B0/${V0}1


path: glusterfs_11.2-3/tests/basic/fencing/fencing-crash-conistency.t
TEST glusterd
TEST pidof glusterd
TEST $CLI volume info;


path: glusterfs_11.2-3/tests/basic/afr/inodelk.t
TEST glusterd;
TEST pidof glusterd
TEST $CLI volume create $V0 replica 3 arbiter 1 $H0:$B0/${V0}{0..5}


path: glusterfs_11.2-3/tests/basic/afr/inodelk.t
#Do similar tests on replica 2
TEST glusterd;
TEST pidof glusterd
TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}{0..3}
TEST $CLI volume start $V0


path: glusterfs_11.2-3/tests/basic/distribute/throttle-rebal.t
TEST glusterd
TEST pidof glusterd
TEST $CLI volume create $V0 $H0:$B0/brick1 $H0:$B0/brick2
TEST $CLI volume start $V0


path: 
glusterfs_11.2-3/tests/bugs/replicate/bug-1637802-arbiter-stale-data-heal-lock.t
TEST glusterd;
TEST pidof glusterd;
TEST $CLI volume create $V0 replica 3 arbiter 1 $H0:$B0/${V0}{0,1,2};
TEST $CLI volume start $V0;


path: glusterfs_11.2-3/tests/bugs/distribute/bug-1247563.t
#Basic checks
TEST glusterd
TEST pidof glusterd
TEST $CLI volume info


path: glusterfs_11.2-3/tests/00-geo-rep/bug-1708603.t
cleanup;
TEST glusterd;
TEST pidof glusterd


path: glusterfs_11.2-3/run-tests.sh
    # Check for pidof
    pidof pidof > /dev/null 2>&1
    if [ $? -ne 0 ]; then
        MISSING="$MISSING pidof"

(Plus hundreds of tests/*.t files.)
```

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

Reply via email to