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