Skip to content

Port RPM cataloger to new generic cataloger pattern#1321

Merged
wagoodman merged 1 commit intomainfrom
update-rpm-generic-cataloger
Nov 4, 2022
Merged

Port RPM cataloger to new generic cataloger pattern#1321
wagoodman merged 1 commit intomainfrom
update-rpm-generic-cataloger

Conversation

@wagoodman
Copy link
Copy Markdown
Contributor

@wagoodman wagoodman commented Nov 4, 2022

Follow up to #1281 , porting the RPM cataloger to the new generic.Cataloger.

Additionally fixes behavior of the rpm file cataloger such that the pkg.Package.Version is reported as [epoch:]version-release like with the rpm db cataloger.

Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
@wagoodman wagoodman requested a review from a team November 4, 2022 14:08
@wagoodman wagoodman enabled auto-merge (squash) November 4, 2022 14:09
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Nov 4, 2022

Benchmark Test Results

Benchmark results from the latest changes vs base branch
name                                                       old time/op    new time/op    delta
ImagePackageCatalogers/alpmdb-cataloger-2                    14.1ms ± 1%    13.7ms ± 5%    ~     (p=0.151 n=5+5)
ImagePackageCatalogers/ruby-gemspec-cataloger-2              1.70ms ± 8%    1.64ms ± 9%    ~     (p=0.310 n=5+5)
ImagePackageCatalogers/python-package-cataloger-2            4.07ms ± 4%    3.89ms ± 4%    ~     (p=0.151 n=5+5)
ImagePackageCatalogers/php-composer-installed-cataloger-2    1.32ms ± 1%    1.28ms ± 2%  -3.21%  (p=0.008 n=5+5)
ImagePackageCatalogers/javascript-package-cataloger-2         926µs ± 2%     912µs ± 3%    ~     (p=0.421 n=5+5)
ImagePackageCatalogers/node-binary-cataloger-2               7.99µs ± 3%    7.81µs ± 4%    ~     (p=0.222 n=5+5)
ImagePackageCatalogers/dpkgdb-cataloger-2                    1.06ms ± 2%    1.09ms ± 9%    ~     (p=0.690 n=5+5)
ImagePackageCatalogers/rpm-db-cataloger-2                    1.55ms ± 1%    1.52ms ± 6%    ~     (p=0.151 n=5+5)
ImagePackageCatalogers/java-cataloger-2                      18.4ms ± 3%    17.3ms ± 3%  -5.97%  (p=0.008 n=5+5)
ImagePackageCatalogers/apkdb-cataloger-2                     1.66ms ±23%    1.62ms ± 3%    ~     (p=0.310 n=5+5)
ImagePackageCatalogers/go-module-binary-cataloger-2          8.18µs ± 3%    7.73µs ± 1%  -5.53%  (p=0.008 n=5+5)
ImagePackageCatalogers/dotnet-deps-cataloger-2               1.76ms ± 4%    1.73ms ± 3%    ~     (p=0.222 n=5+5)
ImagePackageCatalogers/portage-cataloger-2                    916µs ± 1%     913µs ± 3%    ~     (p=1.000 n=5+5)

name                                                       old alloc/op   new alloc/op   delta
ImagePackageCatalogers/alpmdb-cataloger-2                    5.27MB ± 0%    5.27MB ± 0%    ~     (p=1.000 n=5+5)
ImagePackageCatalogers/ruby-gemspec-cataloger-2               204kB ± 0%     204kB ± 0%    ~     (p=1.000 n=5+5)
ImagePackageCatalogers/python-package-cataloger-2             962kB ± 0%     962kB ± 0%    ~     (p=0.690 n=5+5)
ImagePackageCatalogers/php-composer-installed-cataloger-2     218kB ± 0%     218kB ± 0%    ~     (p=0.056 n=5+5)
ImagePackageCatalogers/javascript-package-cataloger-2         159kB ± 0%     159kB ± 0%  -0.09%  (p=0.024 n=5+5)
ImagePackageCatalogers/node-binary-cataloger-2               1.12kB ± 0%    1.12kB ± 0%    ~     (all equal)
ImagePackageCatalogers/dpkgdb-cataloger-2                     200kB ± 0%     200kB ± 0%    ~     (p=0.421 n=5+5)
ImagePackageCatalogers/rpm-db-cataloger-2                     302kB ± 0%     302kB ± 0%  +0.13%  (p=0.016 n=5+5)
ImagePackageCatalogers/java-cataloger-2                      3.45MB ± 0%    3.45MB ± 0%    ~     (p=0.310 n=5+5)
ImagePackageCatalogers/apkdb-cataloger-2                     1.25MB ± 0%    1.25MB ± 0%  +0.04%  (p=0.032 n=5+5)
ImagePackageCatalogers/go-module-binary-cataloger-2          1.12kB ± 0%    1.12kB ± 0%    ~     (all equal)
ImagePackageCatalogers/dotnet-deps-cataloger-2                376kB ± 0%     376kB ± 0%    ~     (p=0.151 n=5+5)
ImagePackageCatalogers/portage-cataloger-2                    139kB ± 0%     138kB ± 0%  -0.13%  (p=0.008 n=5+5)

name                                                       old allocs/op  new allocs/op  delta
ImagePackageCatalogers/alpmdb-cataloger-2                     85.7k ± 0%     85.7k ± 0%    ~     (p=0.333 n=4+5)
ImagePackageCatalogers/ruby-gemspec-cataloger-2               4.24k ± 0%     4.24k ± 0%    ~     (all equal)
ImagePackageCatalogers/python-package-cataloger-2             16.6k ± 0%     16.6k ± 0%    ~     (p=1.000 n=5+5)
ImagePackageCatalogers/php-composer-installed-cataloger-2     5.53k ± 0%     5.53k ± 0%    ~     (p=1.000 n=5+5)
ImagePackageCatalogers/javascript-package-cataloger-2         3.33k ± 0%     3.33k ± 0%    ~     (p=0.444 n=5+5)
ImagePackageCatalogers/node-binary-cataloger-2                 38.0 ± 0%      38.0 ± 0%    ~     (all equal)
ImagePackageCatalogers/dpkgdb-cataloger-2                     4.51k ± 0%     4.51k ± 0%    ~     (all equal)
ImagePackageCatalogers/rpm-db-cataloger-2                     8.11k ± 0%     8.13k ± 0%  +0.28%  (p=0.008 n=5+5)
ImagePackageCatalogers/java-cataloger-2                       57.5k ± 0%     57.5k ± 0%    ~     (p=0.849 n=5+5)
ImagePackageCatalogers/apkdb-cataloger-2                      5.39k ± 0%     5.39k ± 0%    ~     (p=0.484 n=5+5)
ImagePackageCatalogers/go-module-binary-cataloger-2            38.0 ± 0%      38.0 ± 0%    ~     (all equal)
ImagePackageCatalogers/dotnet-deps-cataloger-2                7.24k ± 0%     7.24k ± 0%    ~     (p=0.444 n=5+5)
ImagePackageCatalogers/portage-cataloger-2                    3.59k ± 0%     3.58k ± 0%    ~     (p=0.095 n=5+4)

Copy link
Copy Markdown
Contributor

@kzantow kzantow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉 -140 LoC

@wagoodman wagoodman merged commit 3048382 into main Nov 4, 2022
@wagoodman wagoodman deleted the update-rpm-generic-cataloger branch November 4, 2022 14:41
GijsCalis pushed a commit to GijsCalis/syft that referenced this pull request Feb 19, 2024
Signed-off-by: Alex Goodman <alex.goodman@anchore.com>

Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
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.

2 participants