Versioning of Frameworks

Sandro Knauß bugs at sandroknauss.de
Thu Apr 30 10:40:26 UTC 2015


Hey,

> Or the other way around -- if it is at one point indeed working with these
> versions, what will happen is that someone will use a new feature from an
> underlying framework at some point, and forget to upgrade the required
> version. This will happen many times per month, not just once a year, I know
> this for sure. See the number of times where someone commits Qt-5.4-only
> code right now in frameworks that are supposed to work with Qt 5.2, but
> they don't realize when writing QSignalSpy(obj, &Class::member) that this
> syntax wasn't available in Qt 5.2. It's already a fight to get this right
> with the *one* Qt version number, I can't even imagine how tricky this
> would become with 62 * 5 = 310 version numbers to keep right (62 frameworks
> each depending on an average of 5 other frameworks - I made up that number,
> feel free to calculate it more precisely).

The minimal build dependency can also be tested via CI. For example on debian 
we create symbol files, with ther version, where they were added. With these 
debian sets the minimal dependency. And frameworks have BIC guarantee, so the 
symbols should be tested via CI anyhow, to prove that guarantee.

I know that, also if the symbols haven't changed, important bugs can be fixed 
in newer version, so newer version are needed/recommended. But a minimal build 
dependecy never says, that it is not recommended to use never ones :)

> Making the release dude's life (i.e. my life) harder is one thing I'll fight 
against, but the other reason is that a version zoo also makes things harder 
for everyone else: packagers, developers and users.

me as packagers: no, still download the nestest hottest shit and package this. 
Via symbolfiles I can set the mininimal dependency. Put the packages at a repo 
and users will get the new ones.

me as developers: no, if I work for example at kdepim I need many frameworks, 
so I compile them once. Afterwards i only compile newer frameworks, if i need 
to :) This either happens, because a featuers need a new frameworks (fails 
compiling) or cmake says so. If i have to update one framework i get master.

Regards,

sandro


More information about the Kde-frameworks-devel mailing list