Bug 1415687

Summary: [RFE] ability to specify multiple actions in a single transaction
Product: [Fedora] Fedora Reporter: Jan Pokorný [poki] <jpokorny>
Component: dnfAssignee: rpm-software-management
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: packaging-team-maint, rpm-software-management, vmukhame
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-06 12:22:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jan Pokorný [poki] 2017-01-23 12:44:46 UTC
I've run into a following roadblock removal of which should be intuitively
done combining two actions in one transactions:
- downgrading package A with brought package B on its preceding update
- removal of package B

This might have worked natively using "dnf history undo <transaction>"
where transaction refers to the one that previouslu updated A and brought
B as a new dependency, but unfortunately, the old packages are no longer
tracked in the (rawhide) repository.  This means I have to run:

dnf downgrade https://kojipkgs.fedoraproject.org//packages/A/...rpm

explicitly, but that will not remove package B along, not even after
I provide --allowerasing option to dnf.

What I would really need is to run a dnf transaction that is a composition
of two intertwined actions that will result in a dependencies-satisfying
state: downgrade + removal of particular package(s).

There does not seem to be any way to achieve this ATM.

In my particular case, packages are:
A:
mesa-{dri-drivers,filesystem,libEGL,libGL,libGLES,libgbm,libglapi,libwayland-egl,libEGL-devel,libGL-devel,libwayland-egl-devel
- new: 13.0.3-3.fc26, old: 13.0.3-2.fc26
B:
libglvnd-{glx,egl,devel}
and I am trying to check the circumstances of [bug 1413579 comment 14]

dnf version:
dnf-2.0.0-2.fc26.noarch

Comment 1 Igor Gnatenko 2017-02-06 12:22:35 UTC
That's dnf shell is for...

It should appear in rawhide in couple of days or week.

Comment 2 Jan Pokorný [poki] 2017-03-29 19:53:01 UTC
Ah, correct, haven't used "yum shell" before but have just run into it
as the only solution for an unrelated problem.  Thanks.

Comment 3 Jan Pokorný [poki] 2017-03-29 20:43:07 UTC
I can conclude that "dnf shell" (in cooperation with its [new, right?]
depsolving) handles some cases yum won't ([bug 1437230]).