-
Notifications
You must be signed in to change notification settings - Fork 110
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
don't SCA-generate so:
or pc:
provides for libs not directly in lib dirs
#1372
Conversation
The general case is fine. About these things in Wolfi APK. Is this python extensions or their shared library depends? Did we compile them or are they not built from source? Because most of the time, to be ABI compatible I would expect these to all come from wolfi, and be |
Btw, in general |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This fix misses the general point - subdirectories of libDirs are not in ld.so search path and thus should not generate public so: provides.
d7c7fda
to
6a4d036
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking more into this, it is also true for pcDirs and pkg-config too.
Can you please also use isInDir there, and thus complete remove allowedPrefix() function altogether?
Such that we don't have to deal with this bug again for pc-config files in the future, or ever introduce any new (naive) usage of allowedPrefix().
Signed-off-by: Jason Hall <jason@chainguard.dev>
4dd2850
to
5739e8a
Compare
Signed-off-by: Jason Hall <jason@chainguard.dev>
so:
or pc:
provides for libs not directly in lib dirs
Excellent call, done. I didn't add a test for the change to pkg-config finding, but I did check our build logs for the last 10 days of world builds and there were no matches for |
Signed-off-by: Jason Hall <jason@chainguard.dev>
Signed-off-by: Jason Hall <jason@chainguard.dev>
For posterity, changing the
|
Signed-off-by: Jason Hall <jason@chainguard.dev>
With this PR, i can drop no-provides from gcc-12, and it generates correct runtime dependencies and provides, resulting in co-installable gcc-12 and gcc packages; allowing to use both latest and older toolchain. |
#1370
This changes our logic for identifying provided
.so
s to only look for them directly in lib dirs, and not nested under those dirs. When one is found in a nested dir, it's moved tovendored
instead, where they end up as comments in .PKGINFO, and don't affect the dep graph.This also updates the tests added in #1369 to actually get generated (while they were in e2e_test.go you needed
go generate -tags=e2e
), and moves the tests that cover them into non-build-tagged sca_test.go.This change updates
make test-e2e
togo generate ./...
to run builds and fetch generated requirements, then runs e2e tests on them.