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

Fix portage license handling #1763

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft

Conversation

wagoodman
Copy link
Contributor

This PR tries to follow some of the ebuild license variable hints found from GLEP-23. License processing for portage has been broken out into a separate function and captured tests. I split the difference in terms of fixing behavior and capturing exiting wrong behavior. I fixed a case where useflag? specifiers were being interpreted as licenses, but left any fixes that require expression enhancements coming later in #1743 .

Note: This shouldn't be merged until #1743 is merged (will need some rebasing).

Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
@wagoodman wagoodman added the bug Something isn't working label Apr 26, 2023
@wagoodman wagoodman self-assigned this Apr 26, 2023
@github-actions
Copy link

github-actions bot commented Apr 26, 2023

Benchmark Test Results

Benchmark results from the latest changes vs base branch
goos: linux%0Agoarch: amd64%0Apkg: github.com/anchore/syft/test/integration%0Acpu: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz%0A                                                          │ ./.tmp/benchmark-cd12abc.txt │%0A                                                          │            sec/op            │%0AImagePackageCatalogers/alpmdb-cataloger-2                                   14.29m ±  3%25%0AImagePackageCatalogers/apkdb-cataloger-2                                    863.9µ ±  3%25%0AImagePackageCatalogers/binary-cataloger-2                                   243.2µ ±  2%25%0AImagePackageCatalogers/dpkgdb-cataloger-2                                   715.4µ ±  6%25%0AImagePackageCatalogers/dotnet-deps-cataloger-2                              1.555m ±  3%25%0AImagePackageCatalogers/go-module-binary-cataloger-2                         109.0µ ±  3%25%0AImagePackageCatalogers/java-cataloger-2                                     15.67m ±  2%25%0AImagePackageCatalogers/graalvm-native-image-cataloger-2                     106.8µ ± 20%25%0AImagePackageCatalogers/javascript-package-cataloger-2                       473.8µ ±  4%25%0AImagePackageCatalogers/nix-store-cataloger-2                                328.9µ ±  1%25%0AImagePackageCatalogers/php-composer-installed-cataloger-2                   927.2µ ±  2%25%0AImagePackageCatalogers/portage-cataloger-2                                  555.4µ ±  4%25%0AImagePackageCatalogers/python-package-cataloger-2                           3.867m ±  2%25%0AImagePackageCatalogers/r-package-cataloger-2                                245.3µ ±  3%25%0AImagePackageCatalogers/rpm-db-cataloger-2                                   638.9µ ±  4%25%0AImagePackageCatalogers/ruby-gemspec-cataloger-2                             1.122m ±  2%25%0AImagePackageCatalogers/sbom-cataloger-2                                     147.5µ ±  2%25%0Ageomean                                                                     731.3µ%0A%0A                                                          │ ./.tmp/benchmark-cd12abc.txt │%0A                                                          │             B/op             │%0AImagePackageCatalogers/alpmdb-cataloger-2                                   5.127Mi ± 0%25%0AImagePackageCatalogers/apkdb-cataloger-2                                    204.9Ki ± 0%25%0AImagePackageCatalogers/binary-cataloger-2                                   30.20Ki ± 0%25%0AImagePackageCatalogers/dpkgdb-cataloger-2                                   169.0Ki ± 0%25%0AImagePackageCatalogers/dotnet-deps-cataloger-2                              405.3Ki ± 0%25%0AImagePackageCatalogers/go-module-binary-cataloger-2                         9.906Ki ± 0%25%0AImagePackageCatalogers/java-cataloger-2                                     2.825Mi ± 0%25%0AImagePackageCatalogers/graalvm-native-image-cataloger-2                     8.594Ki ± 0%25%0AImagePackageCatalogers/javascript-package-cataloger-2                       100.9Ki ± 0%25%0AImagePackageCatalogers/nix-store-cataloger-2                                49.13Ki ± 0%25%0AImagePackageCatalogers/php-composer-installed-cataloger-2                   186.7Ki ± 0%25%0AImagePackageCatalogers/portage-cataloger-2                                  130.2Ki ± 0%25%0AImagePackageCatalogers/python-package-cataloger-2                           1.003Mi ± 0%25%0AImagePackageCatalogers/r-package-cataloger-2                                53.28Ki ± 0%25%0AImagePackageCatalogers/rpm-db-cataloger-2                                   180.9Ki ± 0%25%0AImagePackageCatalogers/ruby-gemspec-cataloger-2                             144.1Ki ± 0%25%0AImagePackageCatalogers/sbom-cataloger-2                                     14.20Ki ± 0%25%0Ageomean                                                                     133.4Ki%0A%0A                                                          │ ./.tmp/benchmark-cd12abc.txt │%0A                                                          │          allocs/op           │%0AImagePackageCatalogers/alpmdb-cataloger-2                                    87.75k ± 0%25%0AImagePackageCatalogers/apkdb-cataloger-2                                     4.180k ± 0%25%0AImagePackageCatalogers/binary-cataloger-2                                     830.0 ± 0%25%0AImagePackageCatalogers/dpkgdb-cataloger-2                                    3.000k ± 0%25%0AImagePackageCatalogers/dotnet-deps-cataloger-2                               6.338k ± 0%25%0AImagePackageCatalogers/go-module-binary-cataloger-2                           281.0 ± 0%25%0AImagePackageCatalogers/java-cataloger-2                                      39.81k ± 0%25%0AImagePackageCatalogers/graalvm-native-image-cataloger-2                       228.0 ± 0%25%0AImagePackageCatalogers/javascript-package-cataloger-2                        1.404k ± 0%25%0AImagePackageCatalogers/nix-store-cataloger-2                                  895.0 ± 0%25%0AImagePackageCatalogers/php-composer-installed-cataloger-2                    4.079k ± 0%25%0AImagePackageCatalogers/portage-cataloger-2                                   1.904k ± 0%25%0AImagePackageCatalogers/python-package-cataloger-2                            16.44k ± 0%25%0AImagePackageCatalogers/r-package-cataloger-2                                  928.0 ± 0%25%0AImagePackageCatalogers/rpm-db-cataloger-2                                    3.989k ± 0%25%0AImagePackageCatalogers/ruby-gemspec-cataloger-2                              2.447k ± 0%25%0AImagePackageCatalogers/sbom-cataloger-2                                       394.0 ± 0%25%0Ageomean                                                                      2.555k

@wagoodman wagoodman added the help-wanted Extra attention is needed label Apr 27, 2023
* main: (32 commits)
  chore(deps): bump github.com/google/go-containerregistry (#1823)
  chore(deps): bump github.com/sirupsen/logrus from 1.9.0 to 1.9.1 (#1822)
  chore(deps): bump github.com/docker/docker (#1824)
  fix: update field plurality of 8.0.0 schema before release (#1820)
  fix: update cataloger to check for expressions before split (#1819)
  feat: update syft license concept to complex struct (#1743)
  fix: cyclonedx depends-on relationship inverted (#1816)
  fix: retain sbom cataloger relationships (#1509)
  feat: warn if parsing newer SBOM (#1810)
  feat: Add R cataloger (#1790)
  update cosign to v2 release (different go module) (#1805)
  fix: Reduce log spam on unknown relationship type (#1797)
  chore(deps): update bootstrap tools to latest versions (#1807)
  chore(deps): bump golang.org/x/net from 0.9.0 to 0.10.0 (#1802)
  chore(deps): bump github.com/docker/docker (#1795)
  chore(deps): bump github.com/google/go-containerregistry (#1796)
  chore(deps): update bootstrap tools to latest versions (#1792)
  Print package list when extra packages found (#1791)
  chore(deps): update bootstrap tools to latest versions (#1786)
  chore(deps): bump golang.org/x/term from 0.7.0 to 0.8.0 (#1787)
  ...

Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com>
@spiffcs spiffcs assigned spiffcs and unassigned wagoodman May 18, 2023
Signed-off-by: Christopher Phillips <christopher.phillips@anchore.com>
@spiffcs spiffcs removed their assignment Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help-wanted Extra attention is needed
Projects
Status: Backlog
Development

Successfully merging this pull request may close these issues.

None yet

2 participants