Per upstream report: http://www.cmake.org/Bug/bug.php?op=show&bugid=4805 cmake doesn't make shlibs executable by default, per ChangeLog.txt: -------------- 2006-03-03 18:44 king ... Default permissions for shared libraries on non-Windows/non-OSX platforms no longer has the execute bit set. -------------- Attached is a patch to revert that behavior (I think, haven't tested it much)
Created attachment 151991 [details] executable shlibs
I'd say go ahead and patch cmake to "just work" (for us), so that the cmake guideline can be deployed asap without having to mention the shlibs hack. It looks like cmake upstream will likely do the right thing soon, but I'd rather not wait for the next cmake release.
Applied the fix from http://public.kitware.com/Bug/bug.php?op=show&bugid=4805 and upstream CVS that uses CMAKE_INSTALL_SO_NO_EXE and makes executable shared libraries the default except on Debian/Ubuntu.
Thanks. Please port changes to FC-5/FC-6 branches too, and we're golden.
Yuck, this detects the distro from /proc/version. This is going to break the day someone wants to build Fedora packages in a mock chroot on a Debian system: http://packages.debian.org/unstable/devel/mock (With mock, the kernel and /proc from the host system is used.) Can the setting be preseeded somehow in the cmake RPM? Or maybe added to the command line of the %cmake macro if that works? Or maybe you can get upstream to use a saner method to detect the distribution in use, such as the contents of /etc/issue or the existence of /etc/debian_version?
Kevin, please take your issues upstream, maybe even http://public.kitware.com/Bug/bug.php?op=show&bugid=4805 they should be made aware of your (imo, valid) reservations.