Hi Martin,
On 26/05/15 10:47, Martin Gräßlin wrote:
In my opinion NetworkManagerQt is a defacto hard-dependency of the combined
product Plasma we provide, thus also plasma-workspace can depend on it.
I don't see a reason, why this would be the case. Sure, there is a Network
Manager applet and there are certain parts of KDE / Plasma, that make use of it,
but I don't see why it would be a defacto hard-dependency.
That's like saying that there is a hard-dependency on sddm, since there is a
theme for it and a kcm.
My
system I'm just writing on doesn't use NetworkManager either, nevertheless I
do not think that compiling without support for NetworkManager is a valid use
case which we as the devs should spend time on. Given that we all just run
kdesrc-build which compiles everything (which is the same the CI does) we
would not be able to track a build failure. I have been at that place with
KWin many times and want our CMake dependencies to be as accurate to what we
can guarantee as possible.
I do understand your feeling about this and to some degree, I support it. Not
everything should be optional and lots of IFs don't make the code easier to
write, read and test.
In the end, there should be as few options as possible, but as many as
necessary. Of course, there will be always a discussion about the necessity part
and we will never completely agree on that, since there are many use cases.
In this case, *I think* that the feature that is introduced is so utterly
pointless and repelling, that I actually started to think about it. But ok,
that's just my opinion and obviously nobody has to agree.
If I would actually have to spend some time to make Plasma not depend on Network
Manager, since it is used in many places and often non-optional, then I wouldn't
even have brought this up. But since almost all of the Network Manager handling
is done in separate packages (the framework and the applet) and you can just
refrain from installing them, it was rather easy.
Maybe instead of making this optional, it would be a solution to move this data
engine (or parts of it) to plasma-nm?
Even more I just recently noticed that
distributions do the packaging mostly automatic nowadays resulting in very
important, but optional, dependencies to not be picked up.
Ok, that's just a horrible mistake. They shouldn't do that.
But of course that will always be a problem, even if someone actually spends
time on checking that things are setup correctly. There might be a way to handle
this in cmake actually by introducing something between REQUIRED and OPTIONAL.
I.e. something like RECOMMENDED where cmake will fail unless you pass something
like YES_I_REALLY_DONT_WANT_RECOMMENDED_DEPS or similar.
Best Regards,
Bernd
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel