[cmake-developers] FindPackageCheckArchLinuxSymlinks branch on stage
Alexander Neundorf
neundorf at kde.org
Thu Jan 24 15:40:59 EST 2013
On Thursday 24 January 2013, Alexander Neundorf wrote:
> On Thursday 24 January 2013, Brad King wrote:
> > On 01/24/2013 12:39 PM, Alexander Neundorf wrote:
> > > Also, it could have been installed into the symlink, but be found via
> > > the non- symlink path.
> >
> > Right, it is not possible to handle installing into a symlink because we
> > cannot know that when computing paths ahead of time.
> >
> > The two competing goals are:
> >
> > * Relocatable package. This is for binary tarball distributions and we
> >
> > can assume there will be no symlink mess because we control the
> > tarball. If someone extracts it in a system prefix then they are on
> > their own.
> >
> > * Distro-maintained package. This has a fixed install path and should
> >
> > simply use full paths.
> >
> > I do not think we should try to handle cross-prefix symlinks at the same
> > time as relocatable packages. The remaining issue is how to know which
> > one the current build wants. Ideas?
>
> Symlinks could appear in any prefix.
> But do we have to care about that, or is it good enough if we try to make
> the /lib[64]/ symlinks related to the ongoing /usr-move work ?
>
> Gentoo just wants to symlink files, which would be ok for cmake:
> http://wiki.gentoo.org/wiki//usr_move
>
> Fedora, ArchLinux, Mageia symlink the directories:
> https://fedoraproject.org/wiki/Features/UsrMove
> https://wiki.mageia.org/en/Feature:UsrMove
> https://wiki.archlinux.org/index.php/DeveloperWiki:UsrMove
>
> The CONFIGURE_PACKAGE_CONFIG_FILE() macro could check its
> INSTALL_DESTINATION argument, whether it is /lib[64]/ or /usr/lib[64]/ and
> use full paths in that case.
>
> I'll play around a bit with the macro.
There is now the PackageConfigHelper_UsrMove branch on stage.
If the Config.cmake will be installed to /lib(64) or /usr/lib(64), it will use
full absolute paths.
Building a package with this should help with the /usr-move changes.
I haven't merged it yet.
If there are no objections or better ideas, I'll merge it tomorrow.
We should then try to convince /usr-move distributions to use this new version
of cmake as soon as possible.
Alex
More information about the cmake-developers
mailing list