From: Zac Medico Date: Sun, 12 Feb 2006 03:09:38 +0000 (-0000) Subject: catch possible ENOENT error from portage_checksum.perform_md5 for bug 24374 X-Git-Tag: v2.1_pre5_2760~55 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=cc21af8b923aeb27b7f3068d00dfe20b344d9cc9;p=portage.git catch possible ENOENT error from portage_checksum.perform_md5 for bug 24374 svn path=/main/trunk/; revision=2695 --- diff --git a/pym/portage.py b/pym/portage.py index 143371a48..0a9186b5a 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -5777,8 +5777,16 @@ class dblink: if statobj is None or not stat.S_ISREG(statobj.st_mode): writemsg_stdout("--- !obj %s %s\n" % ("obj", obj)) continue - mymd5=portage_checksum.perform_md5(obj, calc_prelink=1) - + mymd5 = None + try: + mymd5 = portage_checksum.perform_md5(obj, calc_prelink=1) + except (OSError,IOError), e: + if e.errno == errno.ENOENT: + # the file has disappeared between now and our stat call + writemsg_stdout("--- !obj %s %s\n" % ("obj", obj)) + continue + else: + raise e # string.lower is needed because db entries used to be in upper-case. The # string.lower allows for backwards compatibility. if mymd5 != string.lower(pkgfiles[objkey][2]):