From 86f26cbbc88e216fb0efcbac7eac819ec5c95317 Mon Sep 17 00:00:00 2001 From: Henning Schild Date: Fri, 20 Sep 2024 13:54:03 +0200 Subject: [PATCH] vartree: update owner and mode on replaced directories Signed-off-by: Henning Schild --- lib/portage/dbapi/vartree.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/portage/dbapi/vartree.py b/lib/portage/dbapi/vartree.py index 0c41d408c3..a18445b2d4 100644 --- a/lib/portage/dbapi/vartree.py +++ b/lib/portage/dbapi/vartree.py @@ -5703,6 +5703,15 @@ def mergeme( ): # a symlink to an existing directory will work for us; keep it: showMessage(f"--- {mydest}/\n") + # update owner and mode on existing directories + if stat.S_ISDIR(mydmode): + if ( + mydstat.st_uid != mystat.st_uid + or mydstat.st_gid != mystat.st_gid + ): + os.chown(mydest, mystat[4], mystat[5]) + if mydmode != mymode: + os.chmod(mydest, mystat[0]) if bsd_chflags: bsd_chflags.lchflags(mydest, dflags) else: