diff options
-rw-r--r-- | pym/portage/dbapi/vartree.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index 7122fcac1..1213712ef 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -1777,12 +1777,14 @@ class dblink(object): # handy variables; mydest is the target object on the live filesystems; # mysrc is the source object in the temporary install dir try: - mydmode = os.lstat(mydest).st_mode + mydstat = os.lstat(mydest) + mydmode = mydstat.st_mode except OSError, e: if e.errno != errno.ENOENT: raise del e #dest file doesn't exist + mydstat = None mydmode = None if stat.S_ISLNK(mymode): @@ -1902,6 +1904,7 @@ class dblink(object): mydestdir = os.path.dirname(mydest) moveme = 1 zing = "!!!" + mymtime = None if mydmode != None: # destination file exists if stat.S_ISDIR(mydmode): @@ -1925,9 +1928,11 @@ class dblink(object): """ An identical update has previously been merged. Skip it unless the user has chosen --noconfmem.""" - zing = "-o-" moveme = cfgfiledict["IGNORE"] cfgprot = cfgfiledict["IGNORE"] + if not moveme: + zing = "-o-" + mymtime = long(mydstat.st_mtime) else: moveme = 1 cfgprot = 1 |