Skip to content

{Packaging} Fix #23559: Disable build_id links#23798

Open
bebound wants to merge 1 commit intoAzure:devfrom
bebound:build-id
Open

{Packaging} Fix #23559: Disable build_id links#23798
bebound wants to merge 1 commit intoAzure:devfrom
bebound:build-id

Conversation

@bebound
Copy link
Copy Markdown
Contributor

@bebound bebound commented Sep 7, 2022

Fix #23559. This PR disables the generation of build_id links to prevent conflicting with azure-security package in RHEL 8.5 on Azure.


This checklist is used to make sure that common guidelines for a pull request are followed.

@ghost ghost requested review from jiasli, kairu-ms, wangzelin007 and yonzhan September 7, 2022 06:39
@ghost ghost added the Auto-Assign Auto assign by bot label Sep 7, 2022
@ghost ghost assigned jiasli Sep 7, 2022
@ghost ghost added this to the Sep 2022 (2022-10-12) - For Ignite milestone Sep 7, 2022
@ghost ghost added the Packaging label Sep 7, 2022
@bebound bebound marked this pull request as ready for review September 7, 2022 07:20
@bebound bebound requested a review from calvinhzy as a code owner September 7, 2022 07:20
@yonzhan
Copy link
Copy Markdown
Collaborator

yonzhan commented Sep 7, 2022

Packaging

@jiasli jiasli modified the milestones: Feb 2023 (2023-03-07), Backlog Mar 2, 2023
markuslf added a commit to Linuxfabrik/monitoring-plugins that referenced this pull request Apr 14, 2026
Follow-up to the previous attempt at #979. Commit 54dadc3 used
`%global debug_package %{nil}` to sidestep the /usr/lib/.build-id/
file conflict, which works but is a sledgehammer: it disables the
entire debuginfo subpackage generation so there is no way for a
user or another tool to consume ELF debug information for the
bundled .so modules in the venv. A canonical reviewer on the
original issue pointed out the surgical alternative used by the
azure-cli project (Azure/azure-cli#23798): set
`_build_id_links` to `none`, which keeps debuginfo extraction
running in general and only skips the /usr/lib/.build-id/
symlink creation that is actually colliding.

Swap both spec files (EL and SLE) to `%define _build_id_links
none`, update the inline comment and the CHANGELOG entry.

Fixes the same root cause as 54dadc3 but leaves the door open
to a -debuginfo subpackage in the future if we ever ship one.

Refs #979
markuslf added a commit to Linuxfabrik/monitoring-plugins that referenced this pull request Apr 14, 2026
Re-read the issues and linked PRs more carefully after a review
comment. The inline comment in both spec files cited
Azure/azure-cli#23798 as the canonical reference for the
`_build_id_links none` workaround, but that PR has been open
(not merged) since 2022; the azure-cli maintainers were actually
sceptical on the linked Azure/azure-cli#23559 discussion and
never integrated the fix.

The real precedent is microsoft/vscode#116105, which used the
exact same `%define _build_id_links none` line and was merged in
February 2021 to solve the same class of conflict between the
`code` and `code-insiders` RPMs (both ship the same Electron
binary). VS Code has been shipping this workaround for nearly
five years with no reported side effects.

Update both spec file comments to reference the merged VS Code
fix as the primary precedent and keep azure-cli only as "this is
where the conflict in issue #979 was reported", not as a
canonical-fix citation. Also broaden the example of the
colliding shared object beyond libpython - in practice the same
thing happens to ordinary compiled wheels like charset_normalizer
(see the datadog-agent reports on Azure/azure-cli#23559).

No code change, no CHANGELOG churn.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Azure CLI package installation fails on Azure RHEL 8.5 PAYG VM

4 participants