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

add support for arch-specific dependencies #93

Open
cjdcordeiro opened this issue Aug 21, 2023 · 4 comments
Open

add support for arch-specific dependencies #93

cjdcordeiro opened this issue Aug 21, 2023 · 4 comments

Comments

@cjdcordeiro
Copy link
Collaborator

Atm, we support slice contents that are application specific, however, there's no way to specify an essential which is only required for a specific architecture.

Example: libnode108 only needs libatomic1 for riscv64.

@linostar
Copy link

linostar commented Feb 7, 2024

Format suggestion for essential architecture-supported entry:
<slice>:<arch>

For example:
libatomic1_libs:riscv64

In case of a slice required for more than one architecture, a separate line is to be used for each, following the same format above.

@endersonmaia
Copy link

Maybe we could support some kind of negative rule, suppose that you want to exclude some arch.

For ex.: criu is not available for riscv64 so one would use criu:!riscv64 or even a list like criu:!{riscv64, amd64} (not a real scenario for criu here).

@dulmandakh
Copy link

I'm having same issue with canonical/chisel-releases#253. Chisel needs architecture support in dependencies

@cjdcordeiro cjdcordeiro pinned this issue May 31, 2024
@HadrienPatte
Copy link
Contributor

I'm getting hit by this issue in canonical/chisel-releases#442 and canonical/chisel-releases#441.

The libavcodec61/libavcodec60 and libavutil59/libavutil58 packages both depend on libvpl2 on amd64. And as this package does not exist on other architectures, the chisel-releases installation tests fail on other architectures with this error:

error: cannot find package "libvpl2" in archive(s)

The only way to currently get the CI to pass is to remove that dependency, but it means that the amd64 slices of those package are missing a dependency.

Similarly, on the same PRs, libavcodec61/libavcodec60 depend on librav1e0.7/librav1e0 which exists on every arch except i386, causing the i386 installability test to fail.

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

No branches or pull requests

5 participants