Description of problem: Upgraded from F-10 to F-11. newman ~ $ yumdownloader --source cairo Loaded plugins: dellsysidplugin2, refresh-packagekit, upgrade-helper Enabling rpmfusion-nonfree-updates-testing-source repository Enabling updates-testing-source repository Enabling rpmfusion-nonfree-updates-source repository Enabling updates-source repository Enabling rpmfusion-nonfree-source repository Enabling rpmfusion-free-updates-source repository Enabling rpmfusion-free-updates-testing-source repository Enabling fedora-source repository Enabling rpmfusion-free-source repository Traceback (most recent call last): File "/usr/bin/yumdownloader", line 315, in <module> util = YumDownloader() File "/usr/bin/yumdownloader", line 50, in __init__ self.main() File "/usr/bin/yumdownloader", line 87, in main self.downloadPackages(opts) File "/usr/bin/yumdownloader", line 244, in downloadPackages path = repo.getPackage(download, checkfunc=checkfunc) File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 798, in getPackage cache=cache File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 770, in _getFile result = self.grab.urlgrab(misc.to_utf8(relative), local, File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 496, in <lambda> grab = property(lambda self: self._getgrab()) File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 491, in _getgrab self._setupGrab() File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 480, in _setupGrab self._grab = mgclass(self._grabfunc, self.urls, File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 628, in <lambda> urls = property(fget=lambda self: self._geturls(), File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 625, in _geturls self._baseurlSetup() File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 579, in _baseurlSetup mirrorurls.extend(list(self.metalink_data.urls())) File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 672, in <lambda> metalink_data = property(fget=lambda self: self._getMetalink(), File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 668, in _getMetalink self._metalink = metalink.MetaLinkRepoMD(self.metalink_filename) File "/usr/lib/python2.6/site-packages/yum/metalink.py", line 184, in __init__ raise MetaLinkRepoErrorParseFail, "File %s does not exist" %filename yum.metalink.MetaLinkRepoErrorParseFail: File /var/tmp/yum-newman-PhoCVC/fedora-source/metalink.xml does not exist Version-Release number of selected component (if applicable): yum-utils-1.1.22-1.fc11.noarch yum-3.2.23-3.fc11.noarch How reproducible: always Actual results: trace back + downloading is not working Expected results: Simple "File /var/tmp/yum-newman-PhoCVC/fedora-source/metalink.xml does not exist" is enough, I guess. Not sure from which file is the not existing file being referenced, though.
While I understand that the problem might happen due to wrong permissions in tmp o yum cache, it looks like yumdownloader might run better and do not write out backtraces when permissions are not ideal.
I've changed what the MetaLinkRepoErrorParseFail derives from. The next update to yum should include a patch which will allow yumdownloader to output a sensible-ish error and not traceback.
thanks, seth. but it should still -- methinks -- not be a repoerror -- if the file is not found, it should be an ioerror or an oserror (never quite understood the diff between the two).