createrepo/readMetadata.py
[email protected] Wed, 20 Jul 2011 21:03:50 +0000 (UTC)
| Newsgroups | gmane.linux.rpm.metadata |
|---|---|
| Message-ID | <[email protected]> |
createrepo/readMetadata.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) New commits: commit 7e24b1ba2c939cff52f789b599d907c8fdac9747 Author: Seth Vidal <[email protected]> Date: Wed Jul 20 17:02:42 2011 -0400 changes to make this more robust: 1. when making a new repo - use mkdtemp() so we don't run the possibility of a race to the repo cache 2. try/except when we setup the old repodata so if the dir is not there or the repo is broken we don't traceback diff --git a/createrepo/readMetadata.py b/createrepo/readMetadata.py index a449e68..88e5d95 100644 --- a/createrepo/readMetadata.py +++ b/createrepo/readMetadata.py @@ -21,8 +21,8 @@ from utils import errorprint, _ import yum from yum import misc - - +from yum.Errors import YumBaseError +import tempfile class CreaterepoPkgOld(yum.sqlitesack.YumAvailablePackageSqlite): # special for special people like us. def _return_remote_location(self): @@ -48,13 +48,16 @@ class MetadataIndex(object): repodatadir = self.outputdir + '/repodata' self._repo = yum.yumRepo.YumRepository('garbageid') self._repo.baseurl = 'file://' + realpath - self._repo.basecachedir = misc.getCacheDir() + self._repo.basecachedir = tempfile.mkdtemp(dir='/var/tmp', prefix="createrepo") self._repo.metadata_expire = 1 self._repo.gpgcheck = 0 self._repo.repo_gpgcheck = 0 self._repo._sack = yum.sqlitesack.YumSqlitePackageSack(CreaterepoPkgOld) self.pkg_tups_by_path = {} - self.scan() + try: + self.scan() + except YumBaseError, e: + print "Could not find valid repo at: %s" % self.outputdir def scan(self):