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

Ship libX11 / libXau / libxcb CDTs also on alma? #72

Open
h-vetinari opened this issue Oct 28, 2024 · 2 comments
Open

Ship libX11 / libXau / libxcb CDTs also on alma? #72

h-vetinari opened this issue Oct 28, 2024 · 2 comments

Comments

@h-vetinari
Copy link
Member

Since conda-forge/python-feedstock@3052d25 we have the following yum_requirements.txt on the python feedstock:

#tk_needs_libx11_but_avoids_a_runtime_requirement_of_libx11_to_reduce_the_dependencies_of_python
libX11
#libxcb_is_a_dependency_of_libx11_but_deps_are_wrong_on_our_cdt
libxcb
libxau

I was wondering about both of these comments; IMO it'd be beneficial to build the required CDTs on alma, if it allows us to get rid of yum_requirements.txt for python? 🤔

Regarding the "but deps are wrong on our cdt", our metadata is coming unchanged from the upstream requirements, but we seem to miss stuff that's expressed not in terms of another rpm, but just the library itself. Compare the metadata here

Image

with

requirements:
build:
- libx11-common-cos7-x86_64 >=1.6.7 *_{{ cdt_build_number|int + 1000 }}
host:
- libx11-common-cos7-x86_64 >=1.6.7 *_{{ cdt_build_number|int + 1000 }}
- sysroot_linux-64 2.17.*
run:
- libx11-common-cos7-x86_64 >=1.6.7 *_{{ cdt_build_number|int + 1000 }}
- sysroot_linux-64 2.17.*

IOW, we pick up on libX11-common, but miss anything libxcb-related. If one follows the link on libxcb.so.1()(64bit) on pkgs.org, one ends up at libxcb, which itself has a similar situation

Image

wheras we don't pick up that libxau dependency currently (this is for centos7 whereas the above metadata is for alma8; but it's pretty safe to assume that the problem is the same):

requirements:
host:
- sysroot_linux-64 2.17.*
run:
- sysroot_linux-64 2.17.*

It sounds like we might need to improve our metadata processing to fix that?

@isuruf
Copy link
Member

isuruf commented Oct 28, 2024

IMO it'd be beneficial to build the required CDTs on alma, if it allows us to get rid of yum_requirements.txt for python? 🤔

Building CDTs does not help with getting rid of yum_requirements.txt. CDTs are for building, but you need real packages for running. (yum or conda)

@h-vetinari
Copy link
Member Author

Sure, but there are cases where the respective run-portion never happens in our CI (like for python), and then the yum_requirements may not be needed at all.

It might even make sense to have a linter rule that everything in yum_requirements also shows up as a CDT in meta.yaml? That way we could avoid a lot of stale deps and other garbage in there.

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

No branches or pull requests

2 participants