How to announce new optional dependencies? [was: What KDE would like distributions to do]

Martin Graesslin mgraesslin at kde.org
Tue Mar 22 07:21:47 GMT 2016


On Tuesday, March 22, 2016 3:31:10 AM CET Matthias Klumpp wrote:
> One way to ensure new options get noticed is to enable them by default
> and make cmake fail in case they're not supported and - in that case -
> have the user explicitly disable them.
> With that, the *BSDs will have a couple of -DFROBNICATE=OFF lines in
> their package build scripts, but it also is immediately obvious that
> way which features they should ideally implement. And for Linux,
> distributions will investigate the build failure, find the missing
> depndency or other requirement and rather satisfy it instead of
> disabling the feature (and again, in that case we would have a visible
> flag in the build script).
> 
> It does make cmake scripts a bit more complex, but I think that's
> absolutely manageable.

hmm I fear that would making building from source for developers way more 
difficult. It would turn all optional things into build errors and one needs to 
hunt down the options to make it compile without them or figure out why their 
distribution doesn't have it.

I just looked at the optional option in CMakeLists.txt of KWin and there are 
many which are just to make devs life easier. E.g.:
* KF5Activities
* KF5DocTools
* XCB::ICCCM

Then there are things like XCB::XInput2 which are not available on Debian 
distributions (it's experimental upstream). Turning that to required by 
default with a switch to make it optional makes the life of our devs on Debian 
distributions way more difficult.

The "run kdesrc-build" becomes a "run kdesrc-build, check log file, figure out 
whether your distro of choice can provide the dependency, otherwise search for 
build option".

At least in the case of KWin I prefer having an easy way for devs to build 
with the really optional things (like libhybris) being disabled by default and 
not having to hunt down the build options.

Cheers
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/distributions/attachments/20160322/b97b4e82/attachment.sig>


More information about the Distributions mailing list