Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Disable build-id links without debug packages
This commit disables the generation of build-id links when debugging packages are disabled. This is required because otherwise different versions of the kernel-devel (or kernel-latest-devel) packages conflict with each other due to symbolic links in /usr/lib/.build-id/. Reproducing this issue is straightforward: Attempt to install kernel-devel and kernel-latest-devel concurrently. Here is the output from dnf in one instance, where I already had kernel-latest-devel installed and was attempting to install kernel-devel: file /usr/lib/.build-id/10/426e215ebe20c87b885515b0c3a9b3284e0a68 \ from install of kernel-devel-1000:5.10.90-1.fc32.qubes.x86_64 conflicts with file from package \ kernel-latest-devel-1000:5.16.5-1.fc32.qubes.x86_64 This specific symbolic link is for /usr/src/kernels/5.16.5-1.fc32.qubes.x86_64/scripts/asn1_compiler but there are about ten different symbolic links in conflict. This issue appears to occur because debug_package is disabled, which causes rpm to not run find-debuginfo.sh. If find-debuginfo.sh were to run, it would have been able to re-compute the build identifiers from scratch, and thanks to its --build-id-seed argument (see output of "rpm --showrc"), it would have ensured a unique build identifier. However, given that the kernel's debugging symbols are disabled in the default Qubes OS kernel spec file, enabling debug_package would most likely not be useful. Hence, this commit disables the generation of build-id links for the kernel packages when debug_package is disabled. (cherry picked from commit a4ddc54)
- Loading branch information