Skip to content

Debian Bug#1136523: linuxcnc uses pidof but does not depend on procps #4028

@rmu75

Description

@rmu75

Source: linuxcnc
Version: 1:2.9.7-1
Usertags: pidof-without-procps

Dear maintainer(s) of linuxcnc,

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

path: linuxcnc_1:2.9.7-1/src/configure.ac
fi
AC_PATH_PROG(PIDOF, pidof, "none", $SPATH)
if test $PIDOF = "none"
then


path: linuxcnc_1:2.9.7-1/src/configure.ac
if test $PIDOF = "none"
then
    AC_MSG_ERROR([pidof not found])
fi


path: linuxcnc_1:2.9.7-1/tcl/tooledit.tcl
  # Note: pidof ignores defunct processes
  # catch required since child error returned if no other pids:
  catch { set tooledit_pids [eval exec pidof -x -o[pid] tooledit]} emsg
  # determine if axis is running with same filename


path: linuxcnc_1:2.9.7-1/tcl/tooledit.tcl
  set tooledit_pids ""
  # count howmany tooledits (exclusive of this one) are running
  # Note: pidof ignores defunct processes
  # catch required since child error returned if no other pids:
  catch { set tooledit_pids [eval exec pidof -x -o[pid] tooledit]} emsg

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions