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