-
Notifications
You must be signed in to change notification settings - Fork 38
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
FR: some library packages rely on postint for proper dynamic resolution #76
Comments
We currently don't support running any lifecycle scripts as usually they require a running container, technically we could support lifecycle hooks that does basic things like these but i don't have the time do it myself, happy to review a PR |
I have looked into this briefly, good news is that as we always install from scratch, we are not concerned with most of the lifecycle commands we might get away with only running |
It's a hard thing to support generically for sure. I'm just spitballing, but maybe there's a class of For this postinst_update_alternatives(
name = "update_alternatives",
srcs = ["@noble//libblas3/arm64:control"]
)
# then include ":update_alternatives" in your `tars` The rule could grab the Kind elaborate ... but it's more generic than the |
update_alternatives is definitely something we can support, looks like its interface is well defined and something we can mimic. I'd be happy review a PR and debate more on the code. |
Title is generic as I think other libs may do this too?
The specific example I'm dealing with today are packages
libblas3
andliblapack3
that install their shared libraries into a subdirectory of the dynamic library path (e.x./usr/lib/x86_64-linux-gnu/blas/libblas.so.3
), then in post install runupdate-alternatives
to make the symlinks in the library directory.Postint:
The binaries that try to load them fail. My testcase is installing
gdal-bin
and runningogr2ogr --version
, which will cry:I'm currently hacking around it with symlinks:
Filing the issue as an errata I guess, as I have a workaround in hand. Does this seem like a "best practice" for something like this? I don't really expect
rules_distroless
to handle this out of the box unless it was a common library pattern (and it doesn't seem to be).The text was updated successfully, but these errors were encountered: