when running out of space bunzipping a file - if you hit an IOError it would just kinda vanish. This is ultimately due to exIOError() in yummain.py but it would be good to make a better error message so we know where the file is that had the error, etc
fixes rh bug https://bugzilla.redhat.com/show_bug.cgi?id=518720 and probably A LOT more that went away b/c someone ran 'yum clean all' and freed up the space --- yum/misc.py | 8 +++++++- yummain.py | 2 ++ 2 files changed, 9 insertions(+), 1 deletions(-) diff --git a/yum/misc.py b/yum/misc.py index ab92b78..68ab9e4 100644 --- a/yum/misc.py +++ b/yum/misc.py @@ -10,6 +10,7 @@ import base64 import struct import re import errno +import Errors import pgpmsg import tempfile import glob @@ -629,8 +630,13 @@ def bunzipFile(source,dest): break if not data: break - destination.write(data) + try: + destination.write(data) + except (OSError, IOError), e: + msg = "Error writing to file %s: %s" % (dest, str(e)) + raise Errors.MiscError, msg + destination.close() s_fn.close() diff --git a/yummain.py b/yummain.py index 281d0fc..964975b 100755 --- a/yummain.py +++ b/yummain.py @@ -46,6 +46,8 @@ def main(args): def exIOError(e): if e.errno == 32: logger.critical(_('\n\nExiting on Broken Pipe')) + else: + logger.critical(_('\n\n%s') % str(e)) if unlock(): return 200 return 1 -- 1.6.2.5 _______________________________________________ Yum-devel mailing list [email protected] http://lists.baseurl.org/mailman/listinfo/yum-devel
