Red Hat Bugzilla – Bug 1463723
Unable to fetch RPM with repotrack in file:// mode - Issue in _getFile call
Last modified: 2017-08-09 09:40:05 EDT
When using the tool repotrack for fetching some RPMS provided on a repository reachable in file mode (file:///), the download fails with the error file:///<XXXXX>/GeoIP-1.4.8-1.el6.x86_64.rpm: [Errno -1] Package does not match
Version-Release number of selected component (if applicable): yum-3.4.3-150.el7
How reproducible: Configure yum.conf with a repository with an URI starting by file:/// and try to fetch a RPM with the repotrack command.
Actual results: The download fails with the following stack trace !
Traceback (most recent call last):
File "/usr/bin/repotrack", line 256, in <module>
File "/usr/bin/repotrack", line 250, in main
path = repo.getPackage(pkg)
File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1070, in getPackage
File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1037, in _getFile
yum.Errors.NoMoreMirrorsRepoError: failure: GeoIP-1.4.8-1.el6.x86_64.rpm from cots: [Errno 256] No more mirrors to try.
file:///<XXXXX>/GeoIP-1.4.8-1.el6.x86_64.rpm: [Errno -1] Package does not match intended download.
The RPM and all its dependencies are downloading successfully.
Additional info: I viewed the yum code and the errors seems to be into the yumRepo.py file when URLGrabber is called. The copy_local parameter is missing whereas it is used on all others calls.
Patching that call adding copy_local parameter with value 1 resolves the issue.
--- yumRepo.py.orig 2017-06-21 14:52:53.378000000 +0000
+++ yumRepo.py 2017-06-21 14:56:26.995000000 +0000
@@ -1062,6 +1062,7 @@
ret = self._getFile(url=basepath,
Any news ?