extra-cmake-modules installs into versionned dir

Alexander Neundorf neundorf at kde.org
Sun Feb 19 16:03:11 UTC 2012


On Sunday 19 February 2012, Stephen Kelly wrote:
> Alexander Neundorf wrote:
> > On Sunday 19 February 2012, Stephen Kelly wrote:
> >> Alexander Neundorf wrote:
> >> > I want to be able to install multiple versions at the same time, right
> >> > from the start.
> >> 
> >> Is the reason for this recorded? Why would you want that? So that
> >> backward incompatible changes can be made between versions?
> > 
> > So that it is easy for people to do that.
> > There will be frequent releases, different packages may need different
> > versions. If some package doesn't compile because of a different required
> > version, they can simply install the new required version of ecm
> > additionally.
> 
> If they need to install the new version of ecm, then anything requiring the
> old version will still work with the new version, right? It won't break?

It should not break.

> Then why is the old version still needed?
> 
> > Why shouldn't it be possible ?
> > I don't see a reason.
> > 
> > ecm will be something which can easily break the builds of any packages
> > out there. We have to be very careful with it, and I'd say right from the
> > start, so it doesn't turn into a mess before we even release it.
> 
> Yes. This is also why I disagree with making stable releases of it before
> kf5 is ready for a stable release.

We haven't talked about this yet, when to make the first ecm release.
If it has useful stuff and is in good shape, IMO it could be done before kf5.
kf5 should be around akademy ? That's why I said "spring or summer".
 
> > Builds should not break with
> > "unknown cmake function ecm_something()"
> > so the user doesn't know what's wrong, they should say
> > "found ecm 0.1.2, but required is 0.1.3"
> 
> Yes. But if someone uses ecm_something() without changing the requirement
> to 0.1.3, then the bug is not updating the requirement, right?

Yes.
 
> I guess I understand why you're installing them to different prefixes - so
> that it doesn't even build for the developer if they don't bump the
> requirement. 

Yes.

> But we don't do that for any other dependency...

If the versioning is done correctly (i.e. both the version number as well as 
the required version is increased whenever something is added), it shouldn't 
create problems, but instead produce a nice error message which says what went 
wrong, instead of just failing.
If this is done, it actually doesn't matter for the user whether the new 
version has overwritten the old version or not.
So why not install them in parallel ?

Alex


More information about the Kde-buildsystem mailing list