[Rpm-metadata] createrepo/readMetadata.py
skvidal at osuosl.org
skvidal at osuosl.org
Wed Jul 20 21:03:50 UTC 2011
createrepo/readMetadata.py | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
New commits:
commit 7e24b1ba2c939cff52f789b599d907c8fdac9747
Author: Seth Vidal <skvidal at fedoraproject.org>
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):
More information about the Rpm-metadata
mailing list