Source: ukui-screensaver
Version: 3.0.3.4-1
Usertags: pidof-without-procps

Dear maintainer(s) of ukui-screensaver,

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

```
path: ukui-screensaver_3.0.3.4-1/src/displaymanager.cpp
{
     int num_processes;
     QString command = "pidof " + name + " | wc -l";
     FILE *fp = popen(command.toLatin1().data(), "r");


path: ukui-screensaver_3.0.3.4-1/KylinNM/src/kylinnm.cpp
    int status = system(cmd.toUtf8().data());
    if (status != 0) {
        qDebug()<<"execute 'kill -9 $(pidof nmcli)' in function 
'on_checkOverTime' failed";
        syslog(LOG_ERR, "execute 'kill -9 $(pidof nmcli)' in function 
'on_checkOverTime' failed");
    }


path: ukui-screensaver_3.0.3.4-1/KylinNM/src/kylinnm.cpp
    if (status != 0) {
        qDebug()<<"execute 'kill -9 $(pidof nmcli)' in function 
'on_checkOverTime' failed";
        syslog(LOG_ERR, "execute 'kill -9 $(pidof nmcli)' in function 
'on_checkOverTime' failed");
    }
    this->stopLoading(); //超时停止等待动画


path: ukui-screensaver_3.0.3.4-1/KylinNM/src/kylinnm.cpp
void KylinNM::on_checkOverTime()
{
    QString cmd = "kill -9 $(pidof nmcli)"; //杀掉当前正在进行的有å…
³nmcli命令的进程
    int status = system(cmd.toUtf8().data());
    if (status != 0) {


path: ukui-screensaver_3.0.3.4-1/KylinNM/src/onelancform.cpp
        if (status != 0) {
            qDebug()<<"execute 'kill -9 $(pidof nmcli)' in function 
'waitAnimStep' failed";
            syslog(LOG_ERR, "execute 'kill -9 $(pidof nmcli)' in function 
'waitAnimStep' failed");
        }


path: ukui-screensaver_3.0.3.4-1/KylinNM/src/onelancform.cpp
        int status = system(cmd.toUtf8().data());
        if (status != 0) {
            qDebug()<<"execute 'kill -9 $(pidof nmcli)' in function 
'waitAnimStep' failed";
            syslog(LOG_ERR, "execute 'kill -9 $(pidof nmcli)' in function 
'waitAnimStep' failed");
        }


path: ukui-screensaver_3.0.3.4-1/KylinNM/src/onelancform.cpp
    this->countCurrentTime += FRAME_SPEED;
    if (this->countCurrentTime >= LIMIT_TIME) {
        QString cmd = "kill -9 $(pidof nmcli)"; 
//杀掉当前正在进行的有关nmcli命令的进程
        int status = system(cmd.toUtf8().data());
        if (status != 0) {
```

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