-
Notifications
You must be signed in to change notification settings - Fork 416
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
history: Keep reinstall action when reverting merged transaction items #2048
Conversation
When we have a sequence of transactions involving the reinstallation, upgrading, or downgrading of a package, which ultimately results in the package remaining at the same version, the expected behavior, when reverting the entire merged transaction, is that the package is reinstalled. This differs from the previous behavior, where the package would be removed from the system. Resolves: https://issues.redhat.com/browse/RHEL-17494
An alternative solution could be also to "do nothing" instead of the reinstall action. |
The only failing CI test is to be fixed by #2047. |
I will also attach CI test scenario in the following days, so we have this covered. |
This is interesting, because the original issue does not contain reinstall step |
If you mean the RHEL-17494 issue, there the merged transaction of the "rollbacking twice" use case results in the |
But anyway, I must say the whole workflow of merging transactions and reverting it through the map is definitely not clear and intuitive from the source code. |
The On the other hand the patch is probably going in the right direction. The current implementation is really not flexible enough. |
Undo is not flexible because reverse transaction are also required to be valid.
|
I believe that the problem is here:
It think it creates the reinstall item and not reinstalled. It results in the problem. The question is whether this case when in and out have the same versions, it should make the transaction empty rather then to create reinstall package action. What do you think? |
I see, I will dive into that again and try to find the issues already existing in the library code. |
@j-mracek I've reviewed the code and agree with you. If a package of a particular version is installed, and it would also be installed after multiple subsequent transactions, it seems more user-friendly to result in no operation rather than triggering a reinstallation. While I don't have a strong opinion on this, it appears to be a less invasive option for users. Merging of transaction items is indeed used only for the |
When we have a sequence of transactions involving the reinstallation, upgrading, or downgrading of a package, which ultimately results in the package remaining at the same version, the expected behavior, when reverting the entire merged transaction, is that the package is reinstalled. This differs from the previous behavior, where the package would be removed from the system.
Resolves: https://issues.redhat.com/browse/RHEL-17494
Closes: #2031