WIP: coreos-assembler analyze#121
Conversation
|
Did you forget a |
shell script to act as interface between init filesystem and the dnf python program. analyze.py will take a list of comma separated packages, repos, and output formatting flags.
Added analyze to the build command list
This script uses the libdnf library to download repo metadata into a sack and run queries off of the packages. Specifically, the tree sizes, repetition, and interpreted language dependencies.
Flesh out the arguments required for dnf-analyze
Continuation
Finished base.conf which searches for .repo files to add in the passed --repo-dir. Fill sack based off those repos.
|
If you're trying to have this answer questions like "what would the size increase be if I added package I think the best technical approach here is to have an There's some code for doing things like this in ostree-releng-scripts which we actually include in coreos-assembler today. rpm-ostree also has a gobject-introspectable shared library for gathering the rpmdb from an ostree commit. |
|
Size is just some extra functionality I wanted to throw in. In designing this tool, I'm trying to focus on analyzing package dependencies before they're pulled and committed. As an example, I found it frustrating using the old SDK to test packages. If there was a perl or python dependency, there'd be a mask rule to block it through |
Implement a node tree which prevents infinite recursive dependency loops. Class type contains a list of children, a generation number (for printed tree indentation), and pkg_meta which contains dnf.package.Package class.
Display the children in a tree
Reformatted how the hawkey objects are handled. Query is now global which saves memory space per package.
Miscellaneous corrections. Global variables and classes. Changed printChildren to printTree for a cleaner traversal.
Print: Base packages introduce interpreted dependencies. Packages which require interpreted dependencies.
Added validation for CLI inputs except for the string representing the package list. Added exit commands for CLI exceptions and --exit-on
Change log-dir logic to default during validation. Changed cache dir to system default (prevents having to download metadata twice).
|
@Promaethius what's the status on this PR? Do you want to update this, or should we close it out? |
|
@Promaethius: PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
3 similar comments
|
@Promaethius: PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
@Promaethius: PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
@Promaethius: PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
Closing because no updates since 2020 |
New coreos-assembler command.
Should be run after coreos-assembler init.
Loads a dependency tree to analyze packages to be committed:
Will:
Will-not: