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

Reply via email to