Bug 1727853

Summary: dnf download ignores destdir argument for some packages
Product: Red Hat Enterprise Linux 8 Reporter: Daniel Mach <dmach>
Component: dnf-plugins-coreAssignee: amatej
Status: CLOSED ERRATA QA Contact: Luca Berton <lberton>
Severity: medium Docs Contact:
Priority: high    
Version: 8.1CC: amatej, extras-qa, james.antill, jmracek, lberton, mblaha, packaging-team-maint, pkratoch, praiskup, rpm-software-management, tim, vmukhame
Target Milestone: rcKeywords: Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dnf-4.2.16-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1727137 Environment:
Last Closed: 2020-04-28 16:48:04 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:
Bug Depends On: 1727137    
Bug Blocks:    

Description Daniel Mach 2019-07-08 11:21:45 UTC
+++ This bug was initially created as a clone of Bug #1727137 +++

Description of problem:

dnf download ignores destdir argument when fetching remote packages through a local repository

Version-Release number of selected component (if applicable):
dnf-plugins-core-4.0.7-1.fc30

How reproducible:
Always

Steps to Reproduce:
1. Create a local repository using createrepo_c at /some/path

2. Merge a remote repository into it with mergerepo_c. Now you have a mix of some packages with just <location href="x86_64/foo-1.0.0-1.x86_64.rpm"> and some with <location xml:base="http://somewhere.else/" href="bar-2.0.0-2.x86_64.rpm">

3. dnf download --repofrompath="fred,file:///some/path" --repo fred --destdir /tmp foo bar


Actual results:

/some/path/x86_64/foo-1.0.0-1.x86_64.rpm is correctly copied to /tmp/foo-1.0.0-1.x86_64.rpm

BUT

http://somewhere.else/bar-2.0.0-2.x86_64.rpm is downloaded to /some/path/bar-2.0.0-2.x86_64.rpm

Whut?


Expected results:

Both foo-1.0.0-1.x86_64.rpm and bar-2.0.0-2.x86_64.rpm should be copied to /tmp

Additional info:

Comment 1 amatej 2019-08-21 08:54:27 UTC
I created a patch for DNF that should fix this: https://github.com/rpm-software-management/dnf/pull/1464

And here are tests for this: https://github.com/rpm-software-management/ci-dnf-stack/pull/589

Comment 7 errata-xmlrpc 2020-04-28 16:48:04 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