From f9a657aa401f4d13b5c1dc7fc787b5535e6561f3 Mon Sep 17 00:00:00 2001 From: Seth Vidal Date: Thu, 15 Apr 2010 10:23:07 -0400 Subject: [PATCH] - catch errors when moving the olddir out/back - if we get a yumLocalPackage object in our pkglist we should record we read it. --- createrepo/__init__.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/createrepo/__init__.py b/createrepo/__init__.py index 8704562..e2402ae 100644 --- a/createrepo/__init__.py +++ b/createrepo/__init__.py @@ -29,7 +29,7 @@ import stat from yum import misc, Errors, to_unicode from yum.sqlutils import executeSQL from yum.packageSack import MetaSack -from yum.packages import YumAvailablePackage +from yum.packages import YumAvailablePackage, YumLocalPackage import rpmUtils.transaction from utils import _, errorprint, MDError @@ -529,7 +529,8 @@ class MetaDataGenerator: else: po = pkg - self.read_pkgs.append(po.localpath) + if isinstance(pkg, YumLocalPackage): + self.read_pkgs.append(po.localpath) if self.conf.database_only: pass # disabled right now for sanity reasons (mine) @@ -1046,6 +1047,11 @@ class MetaDataGenerator: 'Could not remove old metadata file: %s: %s') % (oldfile, e) # Move everything else back from olddir (eg. repoview files) + try: + old_contents = os.listdir(output_old_dir) + except (OSError, IOError), e: + old_contents = [] + for f in os.listdir(output_old_dir): oldfile = os.path.join(output_old_dir, f) finalfile = os.path.join(output_final_dir, f) -- 2.34.1