-
-
Notifications
You must be signed in to change notification settings - Fork 647
Improve package scan performance #4606
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
base: develop
Are you sure you want to change the base?
Conversation
Signed-off-by: Ayan Sinha Mahapatra <asmahapatra@aboutcode.org>
Reference: https://github.com/Quantco/multiregex Signed-off-by: Ayan Sinha Mahapatra <asmahapatra@aboutcode.org>
Signed-off-by: Ayan Sinha Mahapatra <asmahapatra@aboutcode.org>
Signed-off-by: Ayan Sinha Mahapatra <asmahapatra@aboutcode.org>
Signed-off-by: Ayan Sinha Mahapatra <asmahapatra@aboutcode.org>
Introduce a new option --binary-packages which looks for package/dependency data in binaries. Signed-off-by: Ayan Sinha Mahapatra <asmahapatra@aboutcode.org>
a99c4f8 to
dde6bc9
Compare
We do not need the license index in a --package-only scan as this is designed to do a fast package detection only scan which skips the license detection. As license index loading takes a couple seconds in each case, this makes the package only scan much faster. Signed-off-by: Ayan Sinha Mahapatra <asmahapatra@aboutcode.org>
Signed-off-by: Ayan Sinha Mahapatra <asmahapatra@aboutcode.org>
| --system-package Scan ``<input>`` for installed system package | ||
| databases. | ||
|
|
||
| -b, --binary-package Scan <input> for package and dependency related |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about this:
--package-in-exec Scan compiled executable binaries such as ELF, WinpE and Mach-O files, looking for structured package and dependency metadata as found for example in Go and Rust binaries.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or
--package-in-compiled Scan compiled executable binaries such as ELF, WinpE and Mach-O files, looking for structured package and dependency metadata as found for example in Go and Rust compiled binaries.
|
|
||
| ./configure --dev | ||
| venv/bin/scancode-reindex-licenses | ||
| venv/bin/scancode-cache-package-patterns |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about naming this venv/bin/scancode-reindex-package-patterns to be consistent?
|
|
||
|
|
||
| # These handlers are special as they use filetype to | ||
| # detect these binaries instead of datafile path patterns |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| # detect these binaries instead of datafile path patterns | |
| # detect these compiled executable binaries instead of datafile path patterns |
| PACKAGE_INDEX_DIR = 'package_patterns_index' | ||
| PACKAGE_INDEX_FILENAME = 'index_cache' | ||
| PACKAGE_LOCKFILE_NAME = 'scancode_package_index_lockfile' | ||
| PACKAGE_CHECKSUM_FILE = 'scancode_package_index_tree_checksums' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not used anymore (also should be dropped from licensing)
| PACKAGE_CHECKSUM_FILE = 'scancode_package_index_tree_checksums' |
pombredanne
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here are some nits for your consideration!
| --system-package Scan ``<input>`` for installed system package | ||
| databases. | ||
|
|
||
| -b, --binary-package Scan <input> for package and dependency related |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or
--package-in-compiled Scan compiled executable binaries such as ELF, WinpE and Mach-O files, looking for structured package and dependency metadata as found for example in Go and Rust compiled binaries.
This PR improve package scan performance by....
References:
Tasks
Run tests locally to check for errors.