From b730f94b2edff17b4f9d985e20a86987ad4a5948 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 15 Jun 2007 20:42:32 +0000 Subject: Handle another case where removing a symlink to a directory can be harmful. svn path=/main/trunk/; revision=6852 --- pym/portage/dbapi/vartree.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'pym') diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index a773f8a50..5e397f099 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -1224,6 +1224,11 @@ class dblink(object): if not islink: writemsg_stdout("--- !sym %s %s\n" % ("sym", obj)) continue + # Don't unlink symlinks to directories here since that can + # remove /lib and /usr/lib symlinks. + if statobj and stat.S_ISDIR(statobj.st_mode): + writemsg_stdout("--- !sym %s %s\n" % ("sym", obj)) + continue try: os.unlink(obj) writemsg_stdout("<<< %s %s\n" % ("sym", obj)) -- cgit v1.2.3-1-g7c22