Bug 1773483

Summary: The dnf shell will fail to load multiple transactions when using locally downloaded packages.
Product: Red Hat Enterprise Linux 8 Reporter: Parikshit Khedekar <pkhedeka>
Component: dnfAssignee: Jaroslav Mracek <jmracek>
Status: CLOSED ERRATA QA Contact: Luca Berton <lberton>
Severity: urgent Docs Contact:
Priority: high    
Version: 8.1CC: amatej, james.antill, lberton, mblaha
Target Milestone: rcKeywords: Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: dnf-4.2.17-4.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-28 16:49:06 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:
Embargoed:

Comment 1 Jaroslav Mracek 2019-11-22 14:00:31 UTC
The issue is a limitation of yum-4 and it cannot be resolved during RHEL8 life-cycle, because it would introduce incompatibility changes in API (It requires new workfows).

To resolve the issue I would recommend to use all local files as a arguments in the first line:

1. install /root/nano-2.9.8-1.el8.x86_64.rpm /root/mc-4.8.19-9.el8.x86_64.rpm 
2. run

Is my suggested work-around suitable for the customer?

Comment 3 Jaroslav Mracek 2019-11-28 20:40:17 UTC
I am really sorry, but there is a misunderstanding. You can still do multiple requests with yum shell in any order that you wish, but with one exception. Install or upgrade of local packages is limited. You can do:

1. install /root/nano-2.9.8-1.el8.x86_64.rpm /root/mc-4.8.19-9.el8.x86_64.rpm
2. remove <pkg>
3. install <another_package>
4. run

I can enhance the documentation to describe the limitation. Also I can add a warning when local packages will be added after other transaction item is already in place.

I know that this is not nice, but that nearly all what I can do without a huge redesign of DNF. In long term plan we would like to resolve the issue completely, but redesign will be accompanied with API changes that will be difficult to delivery into RHEL8.

What do you think?

Comment 5 Jaroslav Mracek 2019-12-04 13:40:52 UTC
I create a patch (https://github.com/rpm-software-management/dnf/pull/1546) that enhance documentation and add an error visible in `yum shell`:

sudo dnf shell
Last metadata expiration check: 2:10:58 ago on Wed 04 Dec 2019 11:41:44 AM CET.
> install /home/jmracek/acpi-1.7-11.fc30.x86_64.rpm
> install /home/jmracek/acpi-1.7-11.fc30.x86_64.rpm
Error: Cannot add local packages, because transaction job already exists
> run # only the first request is performed

Is it OK?

Comment 6 Parikshit Khedekar 2019-12-04 14:20:54 UTC
Perfect! Customer agreed on these facts as well.

Can be closed, thank you.

Comment 20 errata-xmlrpc 2020-04-28 16:49:06 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:1823