Skip to content
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

More dependency detection fixes with DNF5 #60

Merged
merged 1 commit into from
May 23, 2024

Conversation

yselkowitz
Copy link
Collaborator

  • DNF5 does not state "Dependencies resolved", which prevented the dependency resolver from ever moving to state==3. Instead, it states "Repositories loaded".
  • DNF5 states "Package ... is already installed" after "Repositories loaded" and before "Installing:", while state==2.
  • DNF5 includes "Installing: ## packages" in its Transaction Summary, which needs to be ignored so as to not move to state==3.

CR is not handling any dependencies from builds since the switch to dnf5, which is messing up the package count. This comes from a close analysis of the differences between root.log files generated by both dnf-4 and dnf5, but I'm not sure how to test this.

Once merged, any cached root.log containing dnf5 should be removed from the cache so as to force re-analysis of such builds.

* DNF5 does not state "Dependencies resolved", which prevented the
  dependency resolver from ever moving to state==3.  Instead, it states
  "Repositories loaded".
* DNF5 states "Package ... is already installed" after "Repositories
  loaded" and before "Installing:", while state==2.
* DNF5 includes "Installing: ## packages" in its Transaction Summary,
  which needs to be ignored so as to not move to state==3.
@asamalik
Copy link
Collaborator

Here's at least a way to run the function by itself so you can test it manually: https://github.com/minimization/content-resolver/blob/master/test_root_log_function.py

@yselkowitz
Copy link
Collaborator Author

Thanks, running that on a sample dnf5-driven root.log returns the expected results with my commit:

['rpm-build', 'cli11-devel', 'cmake', 'gcc', 'gcc-c++', 'hwloc-devel', 'json-c-devel', 'libedit-devel', 'libuuid-devel', 'make', 'numactl-devel', 'pybind11-devel', 'python3-devel', 'python3-jsonschema', 'python3-pip', 'python3-pybind11', 'python3-pyyaml', 'python3-setuptools', 'python3-wheel', 'spdlog-devel', 'systemd-devel', 'systemd-rpm-macros', 'tbb-devel']

and without my commit, only ['rpm-build'] is returned.

@asamalik asamalik merged commit e4d6c04 into minimization:master May 23, 2024
1 check passed
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