kconfig_compiler (Re: KDE Frameworks 5.29.0)

David Faure faure at kde.org
Sat Dec 10 20:10:29 UTC 2016

On samedi 10 d├ęcembre 2016 19:49:07 CET Martin Graesslin wrote:
> To quote: "The \<kcfgfile\> tag may contain either the "name" attribute,
> which should be the name of the configuration file described, or the "arg"
> attribute, which, if set to "true", will allow you to pass the
> KSharedConfig::Ptr object to use."
> We have here the condition of arg="true" and the generated code did not
> follow that. If Singleton=true was set in kcfgc an incorrect ctor taking a
> QString as argument is generated. That is what my change addresses.
> So yes, anybody who used that was depending on a bug of kconfig compiler.

OK, then that's a good reason for a bugfix indeed, even SIC.

> One can argue that my change breaks SIC and I won't deny it. But the usage
> of the behavior was wrong.
> I can do a special casing for the (incorrect) kdevelop case to provide SIC,
> but it will mean that we get another incorrect code compilation. The special
> casing would have to be:
> * arg=true
> * Singleton=true
> * Inherits=true
> -> preserve old behavior. I doubt that we win anything by that except of
> making the code more complex and the behavior seemingly more random.

Right, that doesn't sound good long term. 
> So from my point of view breaking the incorrect behavior could be acceptable
> here.

Yes, but after the next kdevplatform release, then, to avoid breaking 
compilation of released code.

Is the kdevplatform bugfix getting into the final 16.12 release?
If I read
correctly, there's still time to sneak it in if needed, before Dec 15.

Then we can re-apply the kconfig patch for KF 5.30 (January).

> I leave the decision to you.

At this point it's actually a decision for the kconfig maintainer, Matthew 
Dawson. My job is to ensure the KF5 releases are SC/BC, which in this case can 
be reduced to "a SIC bugfix is acceptable if we leave time for kdevplatform to 
get a new release which won't be hit by this".

David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5

More information about the release-team mailing list