Source: fvwm-crystal
Version: 3.4.1+dfsg-3
Usertags: pidof-without-procps
Dear maintainer(s) of fvwm-crystal,
it appears that fvwm-crystal 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 fvwm-crystal
that use `pidof` at runtime;
* via the `Build-Depends:` field of fvwm-crystal, 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 fvwm-crystal, 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 fvwm-crystal uses `pidof` due to the following
code snippets:
```
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/scripts/UpdateInfoline
do
sleep "$1"
pidof fvwm 1>/dev/null || cleanup
INFOLINE=$(fvwm-crystal.infoline|sed -e "s:SetEnv FVWM_INFOLINE ::")
STRING="SendToModule FvwmButtons-InfoLine ChangeButton InfoLine Title
${INFOLINE}"
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/scripts/UpdateInfoline
sleep "$1"
# fvwm is started with exec; be sure it is running
pidof fvwm 1>/dev/null || cleanup
INFOLINE=$(${FVWM_SYSTEMDIR}/scripts/infoline_amiga|sed -e "s:SetEnv
FVWM_INFOLINE ::" -e 's:"::g')
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/functions/Exec-Accelerator
+ I LoadPreferences DefaultTerminal
+ I SetEnv DefaultTerminal $[infostore.DefaultTerminal]
+ I Test (EnvMatch DefaultTerminal urxvtc) Exec pidof urxvtd || exec urxvtd -f
-o $[infostore.SILENT]
+ I UnsetEnv DefaultTerminal
StartUrxvtd
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/scripts/DesktopCheckMounts
sleep "$1"
# fvwm is started by exec; be sure it is running
pidof fvwm 1>/dev/null || cleanup
NEWCRC=$(cksum /proc/mounts|cut -d" " -f1)
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/scripts/desktop_manager
# We don't want a PipeRead that will block FVWM every 5 seconds
pidof -x DesktopCheckMounts 1>2 2>/dev/null || echo "Exec exec
${FVWM_SYSTEMDIR}/scripts/DesktopCheckMounts 4"
else pidof -x DesktopCheckMounts 1>2 2>/dev/null && killall DesktopCheckMounts
fi
# directories
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/scripts/desktop_manager
echo "InfoStoreAdd PartitionModules \"${partitions}\""
# We don't want a PipeRead that will block FVWM every 5 seconds
pidof -x DesktopCheckMounts 1>2 2>/dev/null || echo "Exec exec
${FVWM_SYSTEMDIR}/scripts/DesktopCheckMounts 4"
else pidof -x DesktopCheckMounts 1>2 2>/dev/null && killall DesktopCheckMounts
fi
path: fvwm-crystal_3.4.1+dfsg-3/README
For Fvwm-Crystal to start at login, edit ~/.bash_profile and add the
following line at the end of the file:
if ! pidof X &>/dev/null ; then startx ; fi
Contacting authors and other users/contributors
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/scripts/random-wallpaper
sleep $1
# fvwm is started with exec, be sure it is running
pidof fvwm 1>/dev/null || cleanup
done
}
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/functions/Preferences-Menu
DestroyFunc TestDesktopManager-Crystal
AddToFunc TestDesktopManager-Crystal
+ I PipeRead 'pidof nautilus $[infostore.SILENT] || pidof rox
$[infostore.SILENT] || echo LaunchDesktopManager-Crystal'
+ I PipeRead 'pidof nautilus $[infostore.SILENT] || pidof rox
$[infostore.SILENT] && echo ActivateDesktopManager-Crystal'
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/functions/Preferences-Menu
AddToFunc TestDesktopManager-None
+ I PipeRead 'pidof nautilus $[infostore.SILENT] || pidof rox
$[infostore.SILENT] || echo LaunchDesktopManager-None'
+ I PipeRead 'pidof nautilus $[infostore.SILENT] || pidof rox
$[infostore.SILENT] && echo ActivateDesktopManager-None'
DestroyFunc TestDesktopManager-Crystal
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/functions/Preferences-Menu
AddToFunc TestDesktopManager-Crystal
+ I PipeRead 'pidof nautilus $[infostore.SILENT] || pidof rox
$[infostore.SILENT] || echo LaunchDesktopManager-Crystal'
+ I PipeRead 'pidof nautilus $[infostore.SILENT] || pidof rox
$[infostore.SILENT] && echo ActivateDesktopManager-Crystal'
DestroyFunc LaunchDesktopManager-None
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/functions/Preferences-Menu
DestroyFunc TestDesktopManager-None
AddToFunc TestDesktopManager-None
+ I PipeRead 'pidof nautilus $[infostore.SILENT] || pidof rox
$[infostore.SILENT] || echo LaunchDesktopManager-None'
+ I PipeRead 'pidof nautilus $[infostore.SILENT] || pidof rox
$[infostore.SILENT] && echo ActivateDesktopManager-None'
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/functions/Media
AddToFunc Music-QJackGUI
+ I All (qjackctl) Iconify toggle
#+ I TestRc (NoMatch) Test (x qjackctl) Exec pidof qjackctl || exec qjackctl
+ I Mixer-GUI
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/apps/Nautilus
# Launch the nautilus desktop
LoadPreferences LastChoosenWallpaper
Test (Init) Test (x gnome-settings-daemon) Exec pidof gnome-settings-daemon ||
exec gnome-settings-daemon
Test (Init) Test (x nautilus) Exec exec nautilus --no-default-window
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/scripts/AutoHibernate
sleep "5"
# fvwm is started by exec; be sure it is running
pidof fvwm 1>/dev/null || cleanup
if [[ "$CurrentCharge" -lt "$MinCharge" ]]; then
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/functions/Exit
DestroyFunc Exit-SelectLoginManager
AddToFunc Exit-SelectLoginManager
+ I Test (x gdmflexiserver) PipeRead 'pidof gdm > /dev/null && echo "Include
components/functions/Exit-gdm" || echo "Test (x sudo) Include
components/functions/Exit-sudo"'
+ I TestRc (NoMatch) Include components/functions/Exit-sudo
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/functions/Exit-Safe
DestroyFunc Exit-SelectLoginManager
AddToFunc Exit-SelectLoginManager
+ I Test (x gdmflexiserver) PipeRead 'pidof gdm > /dev/null && echo "Include
components/functions/Exit-Safe-gdm" || echo "Test (x sudo) Include
components/functions/Exit-Safe-sudo"'
+ I TestRc (NoMatch) Include components/functions/Exit-Safe-sudo
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/preferences/Startup
# Launch TleenX2
#+ I Test (x tleenx2) Exec pidof tleenx2 || exec tleenx2
# Launch Kadu
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/preferences/Startup
# Launch LADITray
#+ I Test (x laditray) Exec pidof laditray || exec laditray
# vim:ft=fvwm
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/preferences/Startup
# Launch QJackCtl
#+ I Test (x qjackctl) Exec pidof qjackctl || exec qjackctl
# Launch LADITray
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/preferences/Startup
#Launch torsmo
#+ I Test (x torsmo) Exec pidof torsmo || exec torsmo
#Launch conky
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/preferences/Startup
# Launch GKrellM, only if it doesn't run
#+ I Test (x gkrellm) Exec pidof gkrellm || exec gkrellm
#Launch torsmo
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/preferences/Startup
# Launch Psi
#+ I Test (x psi) Exec pidof psi || exec psi
# Launch TleenX2
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/preferences/Startup
# Launch Kadu
#+ I Test (x kadu) Exec pidof kadu || exec kadu
# Launch QJackCtl
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/preferences/Startup
#Launch conky
#+ I Test (x conky) Exec pidof conky || exec conky
# A calendar on the desktop
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/preferences/Startup
# Launch Skype
#+ I Test (x skype) Exec pidof skype || exec skype
# Launch Psi
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/apps/XScreenSaver
+ I AddToMenu /Screensaver '$[gt.Preferences]' X xscreensaver-command -prefs
+ I AddToMenu /Screensaver "" Nop
+ I PipeRead 'pidof xscreensaver > /dev/null && echo "AddToMenu /Screensaver
\'$[gt.Stop screensaver]\' StopScreenSaver" || echo "AddToMenu /Screensaver
\'$[gt.Start screensaver]\' StartScreenSaver"'
Test (x xscreensaver) AddToFunc StartFunction I LoadPreferences XScreenSaver
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/apps/GNOME-Settings-Daemon
# Launch gnome-settings-daemon only at startup
Test (x gnome-settings-daemon) Exec pidof gnome-settings-daemon || exec
gnome-settings-daemon
# vim:ft=fvwm
path: fvwm-crystal_3.4.1+dfsg-3/fvwm/components/functions/Music
AddToFunc Music-QJackGUI
+ I All (qjackctl) Iconify toggle
#+ I TestRc (NoMatch) Test (x qjackctl) Exec pidof qjackctl || exec qjackctl
+ I Mixer-GUI
```
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