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

sca: Allow non-executable .so to provide/vendor #1394

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jonjohnsonjr
Copy link
Contributor

For executable files, we expect the executable bit to be set; however, the exec bit doesn't actually need to be set for shared objects. When we are computing provided/vendored .so files, we were ignoring any that didn't have the exec bit set, which meant a lot of python packages were unexpectedly pulling in dependencies when they should have been self-provided.

For executable files, we expect the executable bit to be set; however,
the exec bit doesn't actually need to be set for shared objects. When we
are computing provided/vendored .so files, we were ignoring any that
didn't have the exec bit set, which meant a lot of python packages were
unexpectedly pulling in dependencies when they should have been
self-provided.

Signed-off-by: Jon Johnson <[email protected]>
@jonjohnsonjr
Copy link
Contributor Author

X-ref: wolfi-dev/os#24325

If I drop the no-depends:

diff --git a/airflow.yaml b/airflow.yaml
index 0c08c1ead..5711a33c3 100644
--- a/airflow.yaml
+++ b/airflow.yaml
@@ -3,11 +3,6 @@ package:
   version: 2.9.3
   epoch: 0
   description: Platform to programmatically author, schedule, and monitor workflows
-  options:
-    #  There is a dependency on libarrow.so although it
-    #  is provided in the virtual environment. Enabling no-depends
-    #  works around this
-    no-depends: true
   copyright:
     - license: Apache-2.0

Then melange erroneously treated these as depend before and correctly # vendored (and self-satisfied) after:

14,18d13
< depend = so:libarrow.so.1700
< depend = so:libarrow_acero.so.1700
< depend = so:libarrow_dataset.so.1700
< depend = so:libarrow_flight.so.1700
< depend = so:libarrow_substrait.so.1700
28d22
< depend = so:libparquet.so.1700
36a31,34
> # vendored = so:libarrow.so.1700=1700
> # vendored = so:libarrow_acero.so.1700=1700
> # vendored = so:libarrow_dataset.so.1700=1700
> # vendored = so:libarrow_flight.so.1700=1700
39a38
> # vendored = so:libarrow_substrait.so.1700=1700
63a63
> # vendored = so:libparquet.so.1700=1700

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

Successfully merging this pull request may close these issues.

1 participant