Source: ifupdown2
Version: 3.0.0-1.3
Usertags: pidof-without-procps

Dear maintainer(s) of ifupdown2,

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

```
path: ifupdown2_3.0.0-1.3/ifupdown2/ifupdownaddons/modulebase.py
        try:
            utils.exec_command('%s -x %s' %
                               (utils.pidof_cmd, procName))
        except Exception:
            return False


path: ifupdown2_3.0.0-1.3/ifupdown2/ifupdownaddons/mstpctlutil.py
    def is_mstpd_running(self):
        try:
            utils.exec_command('%s mstpd'%utils.pidof_cmd)
        except Exception:
            return False


path: ifupdown2_3.0.0-1.3/ifupdown2/ifupdown/utils.py
    ip_cmd          = '/bin/ip'
    brctl_cmd       = '/sbin/brctl'
    pidof_cmd       = '/bin/pidof'
    service_cmd     = '/usr/sbin/service'
    sysctl_cmd      = '/sbin/sysctl'


path: ifupdown2_3.0.0-1.3/ifupdown2/addons/vrrpd.py
        pidstr = ''
        try:
            cmdl = [utils.pidof_cmd, cmdname]
            pidstr = utils.exec_commandl(cmdl, stderr=None).strip('\n')
        except Exception:


path: ifupdown2_3.0.0-1.3/ifupdown2/ifupdownaddons/systemutils.py
            try:
                utils.exec_command('%s %s' %
                                    (utils.pidof_cmd, procname))
            except Exception:
                return False


path: ifupdown2_3.0.0-1.3/ifupdown2/ifupdownaddons/systemutils.py
        try:
            utils.exec_command('%s %s' %
                               (utils.pidof_cmd, processname))
        except Exception:
            return False
```

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