Skip to content

Explicit architecture suffix for multiarch on the build machine (e.g. libc6:i386)#20047

Draft
davidsanfal wants to merge 3 commits into
conan-io:develop2from
davidsanfal:issue/20012
Draft

Explicit architecture suffix for multiarch on the build machine (e.g. libc6:i386)#20047
davidsanfal wants to merge 3 commits into
conan-io:develop2from
davidsanfal:issue/20012

Conversation

@davidsanfal

@davidsanfal davidsanfal commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Changelog: Feature: Support explicit architecture suffixes in system package names with host_package=False, so check/install correctly detect already-installed packages on native builds.

Docs: TODO

@memsharded memsharded left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall it looks good. I don't see any risk of breaking, as previously packages with separators as : were not allowed/working, is there any other potential risk?

Comment thread conan/tools/system/package_manager.py Outdated
"riscv64": "riscv64"} if arch_names is None else arch_names
self._arch_separator = "."

def _parse_explicit_arch_suffix(self, name):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 2 implementations of this method look very very similar. Why this one has validation of _arch_names and the previous one doesn't? Maybe this could be the default implementation of the method in the base class?

Comment thread conan/tools/system/package_manager.py Outdated
arch_separator = self._arch_separator
arch_name = explicit_arch

if not arch_name and self._arch in self._arch_names and cross_building(self._conanfile) and host_package:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe here an else self._arch ... is more evident flow?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[bug] apt.install() fails to detect a package is already installed when the :i368 suffix is present.

2 participants