Skip to content

refactor: move apk upstream logic to apk metadata#1619

Merged
westonsteimel merged 3 commits intomainfrom
apk-upstream-refactor
Feb 24, 2023
Merged

refactor: move apk upstream logic to apk metadata#1619
westonsteimel merged 3 commits intomainfrom
apk-upstream-refactor

Conversation

@westonsteimel
Copy link
Copy Markdown
Contributor

Export the logic for parsing upstream APK package names so it can be accessed from apk metadata objects directly.

This also tightens the upstream regex pattern as several edge cases were being missed.

Export the logic for parsing upstream APK package names
so it can be accessed from apk metadata objects directly.

This also tightens the upstream regex pattern as several
edge cases were being missed.

Signed-off-by: Weston Steimel <weston.steimel@anchore.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 24, 2023

Benchmark Test Results

Benchmark results from the latest changes vs base branch
goos: linux
goarch: amd64
pkg: github.com/anchore/syft/test/integration
cpu: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
                                                          │ ./.tmp/benchmark-ef9f135.txt │
                                                          │            sec/op            │
ImagePackageCatalogers/alpmdb-cataloger-2                                   12.00m ± 18%
ImagePackageCatalogers/ruby-gemspec-cataloger-2                             897.1µ ±  2%
ImagePackageCatalogers/python-package-cataloger-2                           3.075m ±  2%
ImagePackageCatalogers/php-composer-installed-cataloger-2                   695.2µ ±  1%
ImagePackageCatalogers/javascript-package-cataloger-2                       369.9µ ±  1%
ImagePackageCatalogers/dpkgdb-cataloger-2                                   513.5µ ±  1%
ImagePackageCatalogers/rpm-db-cataloger-2                                   494.3µ ±  3%
ImagePackageCatalogers/java-cataloger-2                                     11.23m ±  2%
ImagePackageCatalogers/graalvm-native-image-cataloger-2                     8.712µ ±  2%
ImagePackageCatalogers/apkdb-cataloger-2                                    519.5µ ±  2%
ImagePackageCatalogers/go-module-binary-cataloger-2                         19.34µ ±  4%
ImagePackageCatalogers/dotnet-deps-cataloger-2                              985.2µ ±  1%
ImagePackageCatalogers/portage-cataloger-2                                  321.4µ ±  2%
ImagePackageCatalogers/sbom-cataloger-2                                     107.3µ ±  1%
ImagePackageCatalogers/binary-cataloger-2                                   145.4µ ±  1%
geomean                                                                     465.7µ

                                                          │ ./.tmp/benchmark-ef9f135.txt │
                                                          │             B/op             │
ImagePackageCatalogers/alpmdb-cataloger-2                                   5.060Mi ± 0%
ImagePackageCatalogers/ruby-gemspec-cataloger-2                             141.8Ki ± 0%
ImagePackageCatalogers/python-package-cataloger-2                           946.3Ki ± 0%
ImagePackageCatalogers/php-composer-installed-cataloger-2                   155.9Ki ± 0%
ImagePackageCatalogers/javascript-package-cataloger-2                       95.61Ki ± 0%
ImagePackageCatalogers/dpkgdb-cataloger-2                                   144.7Ki ± 0%
ImagePackageCatalogers/rpm-db-cataloger-2                                   170.1Ki ± 0%
ImagePackageCatalogers/java-cataloger-2                                     2.721Mi ± 0%
ImagePackageCatalogers/graalvm-native-image-cataloger-2                     1.523Ki ± 0%
ImagePackageCatalogers/apkdb-cataloger-2                                    123.0Ki ± 0%
ImagePackageCatalogers/go-module-binary-cataloger-2                         3.102Ki ± 0%
ImagePackageCatalogers/dotnet-deps-cataloger-2                              314.7Ki ± 0%
ImagePackageCatalogers/portage-cataloger-2                                  75.41Ki ± 0%
ImagePackageCatalogers/sbom-cataloger-2                                     13.03Ki ± 0%
ImagePackageCatalogers/binary-cataloger-2                                   21.16Ki ± 0%
geomean                                                                     106.9Ki

                                                          │ ./.tmp/benchmark-ef9f135.txt │
                                                          │          allocs/op           │
ImagePackageCatalogers/alpmdb-cataloger-2                                    86.71k ± 0%
ImagePackageCatalogers/ruby-gemspec-cataloger-2                              2.159k ± 0%
ImagePackageCatalogers/python-package-cataloger-2                            15.49k ± 0%
ImagePackageCatalogers/php-composer-installed-cataloger-2                    3.458k ± 0%
ImagePackageCatalogers/javascript-package-cataloger-2                        1.253k ± 0%
ImagePackageCatalogers/dpkgdb-cataloger-2                                    2.646k ± 0%
ImagePackageCatalogers/rpm-db-cataloger-2                                    3.759k ± 0%
ImagePackageCatalogers/java-cataloger-2                                      38.26k ± 0%
ImagePackageCatalogers/graalvm-native-image-cataloger-2                       40.00 ± 0%
ImagePackageCatalogers/apkdb-cataloger-2                                     3.252k ± 0%
ImagePackageCatalogers/go-module-binary-cataloger-2                           101.0 ± 0%
ImagePackageCatalogers/dotnet-deps-cataloger-2                               5.011k ± 0%
ImagePackageCatalogers/portage-cataloger-2                                   1.487k ± 0%
ImagePackageCatalogers/sbom-cataloger-2                                       392.0 ± 0%
ImagePackageCatalogers/binary-cataloger-2                                     649.0 ± 0%
geomean                                                                      2.180k

Signed-off-by: Weston Steimel <weston.steimel@anchore.com>
@westonsteimel westonsteimel enabled auto-merge (squash) February 24, 2023 11:35
Signed-off-by: Weston Steimel <weston.steimel@anchore.com>
@westonsteimel westonsteimel merged commit 0c5f032 into main Feb 24, 2023
@westonsteimel westonsteimel deleted the apk-upstream-refactor branch February 24, 2023 15:59
@kzantow kzantow added enhancement New feature or request changelog-ignore do not add a entry for this when generating the changelog and removed enhancement New feature or request labels Mar 2, 2023
GijsCalis pushed a commit to GijsCalis/syft that referenced this pull request Feb 19, 2024
* refactor: move apk upstream logic to apk metadata

Export the logic for parsing upstream APK package names
so it can be accessed from apk metadata objects directly.

This also tightens the upstream regex pattern as several
edge cases were being missed.

Signed-off-by: Weston Steimel <weston.steimel@anchore.com>

* fix: ensure correct handling for apk packages beginning with digits

Signed-off-by: Weston Steimel <weston.steimel@anchore.com>

* fix: upstream generation for ruby

Signed-off-by: Weston Steimel <weston.steimel@anchore.com>

---------

Signed-off-by: Weston Steimel <weston.steimel@anchore.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog-ignore do not add a entry for this when generating the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants