Support dnf5: libdnf5 actions plugin hook and needs-restarting subcommand - #12
Merged
Merged
Conversation
…mand dnf5-only systems (e.g. Amazon Linux 2027) drop the dnf4 post-transaction-actions plugin, leaving smart-restart uninstallable and its hook mechanism gone. Add first-class dnf5 support: - Makefile: pkg_manager=dnf5 installs the hook through the libdnf5 actions plugin (*.actions file under /etc/dnf/libdnf5-plugins/actions.d) from a new conf/install.actions.in template - smart-restart.sh: when dnf5 is present, default NEEDS_RESTARTING_COMMAND to 'dnf5 needs-restarting --skip-file-locks'. The actions plugin runs the hook synchronously inside the dnf transaction, which still holds the system repository lock, so the inner dnf5 must skip file locking or it deadlocks on its own parent (verified live: the hook child sat in 'Waiting for a lock on the system repository' naming its ancestor until killed) - spec: on amzn >= 2027, require dnf5-plugins and libdnf5-plugin-actions, package the actions.d hook file yum and dnf4 behavior is unchanged; the existing test suite passes and 'make install' output is identical for the default and yum modes. Note: dnf5 < a3dcdacdc93c has a needs-restarting D-Bus regression (rpm-software-management/dnf5#2562) that breaks service detection in hook contexts regardless of this change; distros need that fix for the hook to be fully functional.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
dnf5-only systems (e.g. Amazon Linux 2027) drop the dnf4 post-transaction-actions plugin, leaving smart-restart uninstallable and its hook mechanism gone. Add first-class dnf5 support:
yum and dnf4 behavior is unchanged; the existing test suite passes and 'make install' output is identical for the default and yum modes.
Note: dnf5 < a3dcdacdc93c has a needs-restarting D-Bus regression (rpm-software-management/dnf5#2562) that breaks service detection in hook contexts regardless of this change; distros need that fix for the hook to be fully functional.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.