Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] install system packages without architecture #12320

Closed
1 task done
ericLemanissier opened this issue Oct 17, 2022 · 6 comments · Fixed by #12349
Closed
1 task done

[feature] install system packages without architecture #12320

ericLemanissier opened this issue Oct 17, 2022 · 6 comments · Fixed by #12349
Assignees
Milestone

Comments

@ericLemanissier
Copy link
Contributor

Currently, recipes with arch settings trying to install system packages always install the system package with architecture matching the profile. This makes xorg/system fail on some distros (alma, Fedora and Centos), because some of the system packages do not have an architecture:
the failures:

these two system packages have no arch, cf!

We could consider adding a method like _SystemPackageManagerTool.install_archless(...) ? Or an automatic fallback to archless if there is no existing package for the setting's arch ?

@memsharded
Copy link
Member

But wouldn't install_archless() fail in the system that use the architecture?
Does those distributions lack the specific architecture packages for all packages or just a few? If they are missing all architecture packages, then it seems it should be a conf that enables opting-out of the architecture behavior?

@ericLemanissier
Copy link
Contributor Author

ericLemanissier commented Oct 18, 2022

for the two packages which currently fail (xorg-x11-xtrans-devel and xkeyboard-config-devel), they are .noarch on all distros using dnf or yum (https://pkgs.org/search/?q=xorg-x11-xtrans-devel and https://pkgs.org/search/?q=xkeyboard-config-devel). They are .noarch because they only contain text files.
I am currently testing all the system packages currently on CCI:

EDIT: the failures I got in https://bincrafters.github.io/system-packages-checks/ are on:

  • vaapi and vdpau, which is the exact same failure as xorg/system, because vaapi and vdpau's test recipe require xorg/system
  • glu on jammy and kinetic is unrelated

So in the end I feel confident that calling dnf.install_archless(["xorg-x11-xtrans-devel", "xkeyboard-config-devel"]) and yum.install_archless(["xorg-x11-xtrans-devel", "xkeyboard-config-devel"]) in xorg/system would fix the problem without breaking CCI packages

@jothalha
Copy link

Just as an fyi the arch check also fails on ubuntu jammy for xorg for the same reason if the packages are already installed:

dpkg-query: no packages found matching xtrans-dev:amd64
dpkg-query: no packages found matching xkb-data:amd64

would be good to have a install_archless method for apt as well

@czoido czoido added this to the 1.54 milestone Oct 18, 2022
@ericLemanissier
Copy link
Contributor Author

This is linked to conan-io/conan-center-index#13588

@ericLemanissier
Copy link
Contributor Author

Actually, xtrans and xkeyboard-config system packages have no arch on all the system package managers handled by conan, so I created xtrans/system and xkeyboard-config/system recipes without arch setting. a dedicated install_archless is not actually needed

@czoido
Copy link
Contributor

czoido commented Nov 2, 2022

We close this, although we know that is not completely addressed in #12349
There's a workaround to install packages without architecture using:

Apt(self, arch_names={}).install(["archless-package"], update=True, check=True)

But I'll open a new issue to improve UX for this.

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

Successfully merging a pull request may close this issue.

4 participants