Skip to content

Update portage cataloger to new generic cataloger#1316

Merged
wagoodman merged 3 commits intomainfrom
update-portage-generic-cataloger
Nov 3, 2022
Merged

Update portage cataloger to new generic cataloger#1316
wagoodman merged 3 commits intomainfrom
update-portage-generic-cataloger

Conversation

@wagoodman
Copy link
Copy Markdown
Contributor

@wagoodman wagoodman commented Nov 3, 2022

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

I've also removed two unused fields from the portage metadata struct, leading to a json schema change.

Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
@wagoodman wagoodman requested a review from a team November 3, 2022 14:41
@wagoodman
Copy link
Copy Markdown
Contributor Author

JSON schema diff

❯ diff schema/json/schema-4.1.0.json schema/json/schema-5.0.0.json
232a233
>         "virtual_path",
238a240,242
>         "virtual_path": {
>           "type": "string"
>         },
1236,1237d1239
<         "package",
<         "version",
1242,1247d1243
<         "package": {
<           "type": "string"
<         },
<         "version": {
<           "type": "string"
<         },

Note: there seems to be changes from previous PRs that did not update the JSON schema.

@wagoodman wagoodman enabled auto-merge (squash) November 3, 2022 14:43
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Nov 3, 2022

Benchmark Test Results

Benchmark results from the latest changes vs base branch
name                                                       time/op
ImagePackageCatalogers/alpmdb-cataloger-2                  12.2ms ± 1%
ImagePackageCatalogers/ruby-gemspec-cataloger-2            1.41ms ± 8%
ImagePackageCatalogers/python-package-cataloger-2          3.43ms ± 1%
ImagePackageCatalogers/php-composer-installed-cataloger-2  1.10ms ± 1%
ImagePackageCatalogers/javascript-package-cataloger-2       777µs ± 0%
ImagePackageCatalogers/node-binary-cataloger-2             6.80µs ± 1%
ImagePackageCatalogers/dpkgdb-cataloger-2                   913µs ± 0%
ImagePackageCatalogers/rpm-db-cataloger-2                  1.33ms ± 0%
ImagePackageCatalogers/java-cataloger-2                    15.4ms ± 0%
ImagePackageCatalogers/apkdb-cataloger-2                   1.41ms ± 1%
ImagePackageCatalogers/go-module-binary-cataloger-2        6.86µs ± 1%
ImagePackageCatalogers/dotnet-deps-cataloger-2             1.43ms ± 0%
ImagePackageCatalogers/portage-cataloger-2                  740µs ± 0%

name                                                       alloc/op
ImagePackageCatalogers/alpmdb-cataloger-2                  5.27MB ± 0%
ImagePackageCatalogers/ruby-gemspec-cataloger-2             204kB ± 0%
ImagePackageCatalogers/python-package-cataloger-2           960kB ± 0%
ImagePackageCatalogers/php-composer-installed-cataloger-2   216kB ± 0%
ImagePackageCatalogers/javascript-package-cataloger-2       159kB ± 0%
ImagePackageCatalogers/node-binary-cataloger-2             1.12kB ± 0%
ImagePackageCatalogers/dpkgdb-cataloger-2                   200kB ± 0%
ImagePackageCatalogers/rpm-db-cataloger-2                   302kB ± 0%
ImagePackageCatalogers/java-cataloger-2                    3.45MB ± 0%
ImagePackageCatalogers/apkdb-cataloger-2                   1.26MB ± 0%
ImagePackageCatalogers/go-module-binary-cataloger-2        1.12kB ± 0%
ImagePackageCatalogers/dotnet-deps-cataloger-2              376kB ± 0%
ImagePackageCatalogers/portage-cataloger-2                  139kB ± 0%

name                                                       allocs/op
ImagePackageCatalogers/alpmdb-cataloger-2                   85.7k ± 0%
ImagePackageCatalogers/ruby-gemspec-cataloger-2             4.24k ± 0%
ImagePackageCatalogers/python-package-cataloger-2           16.5k ± 0%
ImagePackageCatalogers/php-composer-installed-cataloger-2   5.51k ± 0%
ImagePackageCatalogers/javascript-package-cataloger-2       3.33k ± 0%
ImagePackageCatalogers/node-binary-cataloger-2               38.0 ± 0%
ImagePackageCatalogers/dpkgdb-cataloger-2                   4.51k ± 0%
ImagePackageCatalogers/rpm-db-cataloger-2                   8.11k ± 0%
ImagePackageCatalogers/java-cataloger-2                     57.5k ± 0%
ImagePackageCatalogers/apkdb-cataloger-2                    5.39k ± 0%
ImagePackageCatalogers/go-module-binary-cataloger-2          38.0 ± 0%
ImagePackageCatalogers/dotnet-deps-cataloger-2              7.24k ± 0%
ImagePackageCatalogers/portage-cataloger-2                  3.58k ± 0%

Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
@wagoodman wagoodman merged commit 2deb96a into main Nov 3, 2022
@wagoodman wagoodman deleted the update-portage-generic-cataloger branch November 3, 2022 18:49
GijsCalis pushed a commit to GijsCalis/syft that referenced this pull request Feb 19, 2024
* port portage (ha) cataloger to new generic cataloger pattern

Signed-off-by: Alex Goodman <alex.goodman@anchore.com>

* update JSON schema to account for removing portage fields

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