cmake tests fail with new rpm
On Fri, 2017-03-10 at 11:51 -0700, Orion Poplawski wrote:
A cmake build test is failing with the jump in rpm from 4.13.0.1-3.fc26 > 4.13.0.1-7.fc27
The upshot appears to be that an rpm generated by cmake's cpack utility has additional files in it, e.g.:
/usr/lib/.build-id /usr/lib/.build-id/5d /usr/lib/.build-id/5d/a319a6e633c6da1cd98aafe3744adf664d529a
are these to be expected, or are these supposed to be elsewhere?
Good you have a sanity check for this. But those are (now) expected to be there. This is because of the new default setting of the _build_id_links macro (compat):
# Defines how and if build_id links are generated for ELF files.
# The following settings are supported:
#
# - none
# No build_id links are generated.
#
# - alldebug
# build_id links are generated only when the __debug_package global is
# defined. This will generate build_id links in the -debuginfo package
# for both the main file as /usr/lib/debug/.build-id/xx/yyy and for
# the .debug file as /usr/lib/debug/.build-id/xx/yyy.debug.
# This is the old style build_id links as generated by the original
# find-debuginfo.sh script.
#
# - separate
# build_id links are generate for all binary packages. If this is a
# main package (the __debug_package global isn't set) then the
# build_id link is generated as /usr/lib/.build-id/xx/yyy. If this is
# a -debuginfo package (the __debug_package global is set) then the
# build_id link is generated as /usr/lib/debug/.build-id/xx/yyy.
#
# - compat
# Same as for "separate" but if the __debug_package global is set then
# the -debuginfo package will have a compatibility link for the main
# ELF /usr/lib/debug/.build-id/xx/yyy -> /usr/lib/.build-id/xx/yyy
%_build_id_links compat
For more background see also: https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo
Specifically this breaks CPackComponentsForAll-RPM-IgnoreGroup and RunCMake.CPack_RPM. See http://kojipkgs.fedoraproject.org/work/tasks/5505/18305505/build.log for full build log.