Versioning of Frameworks

Kevin Funk kfunk at kde.org
Thu Apr 30 08:35:59 UTC 2015


On Wednesday, April 29, 2015 21:43:20 David Faure wrote:
> On Wednesday 29 April 2015 11:24:48 Kevin Funk wrote:
> > Use-case: Potential contributor working on KDevelop:
> > - Has KF5 installed from distro packages
> > - KDevelop/KDevPlatform compiled from Git
> > - There's a bug in ktexteditor (tier 3)
> > - Likes to checkout just ktexteditor, fix the issue, compile, install and
> > use  it
> > 
> > Well, this doesn't work b/c ktexteditor master usually depends on a "too
> > recent version" of its dependencies. So there are two options to still
> > compile  ktexteditor:
> > 
> > a) Compile the complete KF5 set, master branch (exhausting)
> > b) Hack CMakeLists.txt and change KF5_DEP_VERSION (quick & dirty way)
> 
> If this contributor was trying to fix a bug in a Qt module, he would
> experience the exact same thing.
> QtAnything 5.5 cannot be compiled with QtBase 5.2.

I'm fairly sure you can; let's say build QtWebChannel 5.6 (dev) against QtBase 
5.4.1. In fact, I just tried again and it worked just fine. QMake did not 
complain.

Sometimes it's interesting to keep the version of the dependencies and just 
play around with the version of the module you're interested into, in order to 
evaluate changes in behavior of your module. By that, you can rule out 
modifications in your *dependencies* did cause these changes in behavior in 
your module.
 
> > I also think this somehow defeats the purpose of the splitting we've done
> > when  you still have to make sure versions of the individual frameworks
> > have to be identical...
> 
> So do you also think that Qt failed with the module split ?
> 
> I disagree. The point (both for Qt and for Frameworks) is that any app can
> decide to use only what they need.
> 
> Having to use up-to-date enough versions of the dependent modules does not
> defeat that purpose.

I can clearly see that lifting the restriction of having up-to-date versions 
of your dependencies creates a "version zoo" as you say. It's untestable b/c 
of the potential combinations and clearly doesn't make the maintainer's job 
easier.

However, I think it could be helpful to be able to build master branch of 
$MODULE against a stable version of its dependencies for *development 
purposes*, which currently isn't possible.

That doesn't mean we should encourage distros to ship a mix of KF5 package 
versions, obviously. They should continue to ship KF5 with identical versions 
for each of the frameworks.

@David: Didn't stress that enough, but huge thanks for taking care of the KF5 
releases!

Cheers

-- 
Kevin Funk | kfunk at kde.org | http://kfunk.org
-------------- 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/kde-frameworks-devel/attachments/20150430/d0f50927/attachment.sig>


More information about the Kde-frameworks-devel mailing list