WIP: coreos-assembler analyze
New coreos-assembler command. Should be run after coreos-assembler init. Loads a dependency tree to analyze packages to be committed:
Will:
- Throw exceptions if an interpreted language is detected similar to chromium emerge.
- Throw warnings if packages existing in minimal/base-layer are dependencies of other packages existing in minimal/base-layer.
- Provide total package size.
- Provide misc statistics of packages.
Will-not:
- Provide package change diffs.
- Make persistent changes to packages or repos.
Did you forget a git add maybe? :)
@jlebon Possibly! This PR is formatted like a placeholder while I work on the tooling; kind of like how PR113 was created.
If you're trying to have this answer questions like "what would the size increase be if I added package foo"...that's going to create a lot of overlap with what rpm-ostree is doing.
I think the best technical approach here is to have an analyze process run on ostree commits. So rather than asking "what if", you just add the package, then do a diff of the resulting ostree commits afterwards.
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 ./build_image.sh. Here, we have the chance to run a dependency check before performing a build. This would save time and effort since rpm-ostree wouldn't have to perform work.
@Promaethius what's the status on this PR? Do you want to update this, or should we close it out?
@Promaethius: PR needs rebase.
Instructions 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.
Instructions 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.
Instructions 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.
Instructions 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