[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: QT_DEPRECATED_BEFORE/KF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x060000 considered harmful
From:       "Friedrich W. H. Kossebau" <kossebau () kde ! org>
Date:       2019-10-25 19:03:39
Message-ID: 3600073.ZcgWLHvHVV () klux
[Download RAW message or body]

Am Freitag, 25. Oktober 2019, 10:00:47 CEST schrieb David Faure:
> But yeah, maybe something slipped by. Once my KF5 build with
> KF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x053f00 is done
> [which requires porting 13 modules, apparently), I'll see if the rest of my
> Plasma session and KDE Applications (which I'm not recompiling) suffer from
> BIC changes :-)

I will be also curious how much we will run into undeprecated API being 
implemented with deprecated API, at least in the public interface, even more 
when it comes to cross-KF-modules deprecation at the same version levels.
I hit this with some modules already per-module, where deprecated API could 
not be excluded from the build, because undeprecatd API was still using it for 
implementation, at least at some versions. So hiding of the API had to be 
shifted to the respective versions (or I simply gave up, as it was too much 
work and building without implementation for deprecated API only nice-to-have 
for now).

In a perfect world every library would have a core which is undeorecated, and 
then layers of deprecated API and their implementation, with API deprecated at 
older versions at more outer layers. If that exists, doing the dump of the 
legacy code at the next ABI break should be straightforward, by just removing 
the respective code, as it already is also no longer used internally.

Needs discipline by the developers, e.g. by doing test-builds with 
EXCLUDE_DEPRECATED_BEFORE_AND_AT at the version where they add deprecations. 

Not sure about resources of CI, but it might help to have KDE CI to a variant 
build of KDE Frameworks modules with EXCLUDE_DEPRECATED_BEFORE_AND_AT=CURRENT, 
which will point out where at least recent deprecations were not done 
properly.

Cheers
Friedrich


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic