Description of problem: Pup dies with this backtrace: Component: pirut Summary: TB78433da9 yumRepo.py:360:check:RepoError: Cannot find a valid baseurl for repo: updates Traceback (most recent call last): File "/usr/sbin/pup", line 650, in <module> main() File "/usr/sbin/pup", line 643, in main pup = PackageUpdater(not options.autoapply, options.config) File "/usr/sbin/pup", line 88, in __init__ GraphicalYumBase.__init__(self, False, config) File "/usr/lib/python2.5/site-packages/pirut/__init__.py", line 124, in __init__ self.reset() File "/usr/lib/python2.5/site-packages/pirut/__init__.py", line 223, in reset self.doTsSetup() File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 64, in doTsSetup return self._getTs() File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 78, in _getTs self._tsInfo.setDatabases(self.rpmdb, self.pkgSack) File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 517, in <lambda> pkgSack = property(fget=lambda self: self._getSacks(), File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 377, in _getSacks self.repos.populateSack(which=repos) File "/usr/lib/python2.5/site-packages/yum/repos.py", line 211, in populateSack self.doSetup() File "/usr/lib/python2.5/site-packages/yum/repos.py", line 66, in doSetup self.ayum.plugins.run('postreposetup') File "/usr/lib/python2.5/site-packages/yum/plugins.py", line 169, in run func(conduitcls(self, self.base, conf, **kwargs)) File "/usr/lib/yum-plugins/fastestmirror.py", line 80, in postreposetup_hook repomirrors[str(repo)] = FastestMirror(repo.urls).get_mirrorlist() File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 512, in <lambda> urls = property(fget=lambda self: self._geturls(), File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 509, in _geturls self._baseurlSetup() File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 492, in _baseurlSetup self.check() File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 360, in check 'Cannot find a valid baseurl for repo: %s' % self.id RepoError: Cannot find a valid baseurl for repo: updates Local variables in innermost frame: self: updates Version-Release number of selected component (if applicable): 1.3.9-1.fc7 How reproducible: When valid baseurl cannot be found. Steps to Reproduce: 1. Run pup with baseurl offline. Actual results: Pup crashes. Expected results: Should handle errors gracefully. Additional info:
And which version of yum do you have installed?
3.2.4-2.fc7
Clean install of F7 with single "yum upgrade -y" run after install on September 8 2007, the Applications -> Add/Remove Software command appears to do nothing for a while (say 1 or 2 minutes) then an exception box pops up asking me to file a bug report. Looks like this might be a similar thing so I'm filing here as a comment. No problem running yum at the command line. Crash dump follows: Component: pirut Summary: TB8f5a3431 yumRepo.py:749:_getRepoXML:RepoError: Cannot retrieve repository metadata (repomd.xml) for repository: %s. Please verify its path and try again Traceback (most recent call last): File "/usr/sbin/pirut", line 441, in <module> main() File "/usr/sbin/pirut", line 434, in main pm = PackageManager(options.config, options.onlyrepo) File "/usr/sbin/pirut", line 61, in __init__ GraphicalYumBase.__init__(self, False, config) File "/usr/lib/python2.5/site-packages/pirut/__init__.py", line 124, in __init__ self.reset() File "/usr/lib/python2.5/site-packages/pirut/__init__.py", line 223, in reset self.doTsSetup() File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 64, in doTsSetup return self._getTs() File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 78, in _getTs self._tsInfo.setDatabases(self.rpmdb, self.pkgSack) File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 517, in <lambda> pkgSack = property(fget=lambda self: self._getSacks(), File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 377, in _getSacks self.repos.populateSack(which=repos) File "/usr/lib/python2.5/site-packages/yum/repos.py", line 239, in populateSack sack.populate(repo, mdtype, callback, cacheonly) File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 142, in populate if self._check_db_version(repo, mydbtype): File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 199, in _check_db_version if repo.repoXML.repoData.has_key(mdtype): File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 753, in <lambda> repoXML = property(fget=lambda self: self._getRepoXML(), File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 749, in _getRepoXML raise Errors.RepoError, (msg) RepoError: Cannot retrieve repository metadata (repomd.xml) for repository: %s. Please verify its path and try again Local variables in innermost frame: msg: Cannot retrieve repository metadata (repomd.xml) for repository: %s. Please verify its path and try again self: fedora e: Cannot find a valid baseurl for repo: fedora
What are the contents of /etc/yum.conf and /etc/yum.repos.d/* ?
/etc/yum.conf is default. /etc/yum.repos.d contains (in their default forms): adobe-linux-i386.repo fedora-updates.repo livna-devel.repo fedora-development.repo fedora-updates.repo.original livna.repo fedora.repo fedora-updates-testing.repo livna-testing.repo
Something isn't original -- fedora-updates.repo.original ? Can you cat the contents of the files please.
That file is an old copy that I preserved, but it should not be considered as it doesn't have .repo extension, right? Anyway, rpm says (for i in *; do echo -n "$i: "; rpm -qf $i; done): adobe-linux-i386.repo: adobe-release-i386-1.0-1 fedora-development.repo: fedora-release-7-3 fedora.repo: fedora-release-7-3 fedora-updates.repo: fedora-release-7-3 fedora-updates.repo.original: file /etc/yum.repos.d/fedora-updates.repo.original is not owned by any package fedora-updates-testing.repo: fedora-release-7-3 livna-devel.repo: livna-release-7-2 livna.repo: livna-release-7-2 livna-testing.repo: livna-release-7-2 Verification of packages shows no output (rpm -V adobe-release-i386-1.0-1 fedora-release-7-3 livna-release-7-2), so they should be all original. Anyhow, I'll attach the tarball containing files.
Created attachment 194061 [details] Contents of /etc/yum.repos.d directory
Aha, I see what it is. yum is now doing something a lot earlier than expected and thus we're getting an error when we don't expect to. I've got a fix in CVS, will be pushed out for Fedora 7 within the next week or two.
Another trace: -------------------------------- Component: pirut Summary: TB5cf90941 yumRepo.py:612:_getFile:NoMoreMirrorsRepoError: failure: repodata/primary.sqlite.bz2 from updates: [Errno 256] No more mirrors to try. Traceback (most recent call last): File "/usr/sbin/pup", line 650, in <module> main() File "/usr/sbin/pup", line 643, in main pup = PackageUpdater(not options.autoapply, options.config) File "/usr/sbin/pup", line 88, in __init__ GraphicalYumBase.__init__(self, False, config) File "/usr/lib/python2.5/site-packages/pirut/__init__.py", line 124, in __init__ self.reset() File "/usr/lib/python2.5/site-packages/pirut/__init__.py", line 223, in reset self.doTsSetup() File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 64, in doTsSetup return self._getTs() File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 78, in _getTs self._tsInfo.setDatabases(self.rpmdb, self.pkgSack) File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 517, in <lambda> pkgSack = property(fget=lambda self: self._getSacks(), File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 377, in _getSacks self.repos.populateSack(which=repos) File "/usr/lib/python2.5/site-packages/yum/repos.py", line 239, in populateSack sack.populate(repo, mdtype, callback, cacheonly) File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 151, in populate db_fn = repo.retrieveMD(mydbtype) File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 839, in retrieveMD cache=self.http_caching == 'all') File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 612, in _getFile raise Errors.NoMoreMirrorsRepoError, errstr NoMoreMirrorsRepoError: failure: repodata/primary.sqlite.bz2 from updates: [Errno 256] No more mirrors to try. Local variables in innermost frame: e: [Errno 256] No more mirrors to try. start: None url: None text: None self: updates cache: True reget: None relative: repodata/primary.sqlite.bz2 headers: () --------------------------------
*** Bug 291951 has been marked as a duplicate of this bug. ***