Hey.
As I've mentioned previously in some other (actual) bug reports,
I'd wish that needrestart sooner or later becomes part of every
debian installation.
IMHO this should also include the functionality of notifying
about user-session processes that need to be upgraded.
1) Especially for the later functionality (i.e. notification
about user-session processes) it seems (at least to me) a bit
unclear which package does actually what.
needrestart alone (without needrestart-session installed)
already seems write(1)s a list of such user session processes.
a) So does needrestart-session actually add any (framework) code
for detecting such user-session processes (which the package
description seems to imply)... or is it merely "just" the code
to transport any such findings to fancy GUI popups and that like?
b) libnotify-bin seems to do the same (and it's also an altnerative
to the former),... so it's a bit ambiguous whether one actually
needs needrestart-session, even if one wants to have the GUI
popups.
So either some documentation needs to be cleared up there, or,
if both actually do "the same" and just provide the GUI integration,
then why not fully depending on libnotify?
And if this is for all those desktop environments which don't
support libnotify (or vice versa), e.g. bare X, then wouldn't it be
better to suggest libnotify as the default alternative?
*If* needrestart-session would really be more than just the
"display the results in all kinds of GUIs" (see the question above
whether it actually contains code to determine need-to-be-restarted
user session processes)... then I'd probably wish that that framework
code goes into "needrestart" as well (while probably still allowing
to configure it to only warn about non-user-session processes).
That functionality seems so basic (and security-wise important), that
I wouldn't split it out in another package (which may not even get
installed).
Having the GUI-displaying-code in a separate package makes of course
sense (see below).
2) Speaking of "suggest"...
Currently, needrestart Suggests needrestart-session | libnotify-bin.
I understand that you don't want to depend/recommend it, so that
e.g. bare server systems pull in all kind of GUI stuff which it never
uses anyway.
Yet, actually notifying the user about need-to-be-restarted in a
GUI environment seems so crucial to me, that I don't think it's
enough to hope that the user notices needrestart-session and/or has
libnotify-bin pulled in somehow else.
For that reason, would it be possible to get the following:
A package which does the actual GUI notifications... which is recommended
by "needrestart" (and thus per default installed if needrestart is)...
but which only suggests (we still don't want to have them pulled in
automatically on servers) the actual packes used for GUI operations
(e.g. libnotify or wxwidgets or what else).
At runtime, it should then dynamically check whether any of these
exist, and if so, sent the notifications and if not, don't fail.
The advantage of this is:
- we still have the same behaviour as now, i.e. tons of GUI packages
aren't pulled in per default
- but if they're already installed (e.g. pulled in by GNOME or whatever)
they'd be used
- the admin can still install them manually of course
I'd probably suggest a package structure like this:
* needrestart
(the basic framework, including all the session-processes code, wich
can be disabled,... not including the code which sends GUI
notifications)
* needrestart-notification-libnotify
needrestart-notification-xtoolkit
needrestart-notification-beeper
needrestart-notification-wxwidgets
etc. (perhaps with another name of course)
the integrations into GUIs, soundcard alerts, whatever...
3) Speaking of dependencies
Right now it seesm (partially depending on the answers to my questions
above), that needrestart-session is used as the GUI notifying part...
plus it's the default alternative over libnotify.
IMHO, especially needrestart-session has too much dependencies...
the libnotify stuff (glib, gdk, xlibs) is probably anyway already present
on most Debian desktop environments, even if they don't run GNOME...
but needrestart-session pulls in that big pile of stuff:
[INSTALL, DEPENDENCIES] libalien-wxwidgets-perl:amd64
[INSTALL, DEPENDENCIES] libglu1-mesa-dev:amd64
[INSTALL, DEPENDENCIES] libmodule-pluggable-perl:amd64
[INSTALL, DEPENDENCIES] libwx-perl:amd64
[INSTALL, DEPENDENCIES] libwxbase3.0-dev:amd64
[INSTALL, DEPENDENCIES] libwxgtk-media3.0-0:amd64
[INSTALL, DEPENDENCIES] libwxgtk-media3.0-dev:amd64
[INSTALL, DEPENDENCIES] libwxgtk3.0-dev:amd64
[INSTALL, DEPENDENCIES] wmctrl:amd64
[INSTALL, DEPENDENCIES] wx-common:amd64
[INSTALL, DEPENDENCIES] wx3.0-headers:amd64
plus some other things's I've already had installed.
Since I think needrestart is so great that it should be part of every
base Debian sooner or later,... it would IMHO be great if a solution
could be used, which requires much less further dependecies...
Any ideas?
Best wishes,
Chris.