From baecf07ec888f338b8f628d2c0358d3d70d24f8f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 11 Jul 2011 14:02:40 -0700 Subject: [PATCH] elog/mod_save: fix permissions for logrotate These permissions should be compatible with our default logrotate config as discussed in bug 374287. --- pym/portage/elog/mod_save.py | 6 ++++-- pym/portage/elog/mod_save_summary.py | 6 ++++-- pym/portage/package/ebuild/prepare_build_dirs.py | 5 +++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/pym/portage/elog/mod_save.py b/pym/portage/elog/mod_save.py index 36654b3f2..9350a6e58 100644 --- a/pym/portage/elog/mod_save.py +++ b/pym/portage/elog/mod_save.py @@ -8,7 +8,7 @@ from portage import os from portage import _encodings from portage import _unicode_decode from portage import _unicode_encode -from portage.data import portage_gid +from portage.data import portage_gid, portage_uid from portage.package.ebuild.prepare_build_dirs import _ensure_log_subdirs from portage.util import ensure_dirs, normalize_path @@ -23,7 +23,9 @@ def process(mysettings, key, logentries, fulltext): # Only initialize group/mode if the directory doesn't # exist, so that we don't override permissions if they # were previously set by the administrator. - ensure_dirs(logdir, gid=portage_gid, mode=0o2770) + # NOTE: These permissions should be compatible with our + # default logrotate config as discussed in bug 374287. + ensure_dirs(logdir, uid=portage_uid, gid=portage_gid, mode=0o2770) cat = mysettings['CATEGORY'] pf = mysettings['PF'] diff --git a/pym/portage/elog/mod_save_summary.py b/pym/portage/elog/mod_save_summary.py index f090deaf0..4adc6f34c 100644 --- a/pym/portage/elog/mod_save_summary.py +++ b/pym/portage/elog/mod_save_summary.py @@ -8,7 +8,7 @@ from portage import os from portage import _encodings from portage import _unicode_decode from portage import _unicode_encode -from portage.data import portage_gid +from portage.data import portage_gid, portage_uid from portage.localization import _ from portage.package.ebuild.prepare_build_dirs import _ensure_log_subdirs from portage.util import apply_permissions, ensure_dirs, normalize_path @@ -23,7 +23,9 @@ def process(mysettings, key, logentries, fulltext): # Only initialize group/mode if the directory doesn't # exist, so that we don't override permissions if they # were previously set by the administrator. - ensure_dirs(logdir, gid=portage_gid, mode=0o2770) + # NOTE: These permissions should be compatible with our + # default logrotate config as discussed in bug 374287. + ensure_dirs(logdir, uid=portage_uid, gid=portage_gid, mode=0o2770) elogdir = os.path.join(logdir, "elog") _ensure_log_subdirs(logdir, elogdir) diff --git a/pym/portage/package/ebuild/prepare_build_dirs.py b/pym/portage/package/ebuild/prepare_build_dirs.py index aaf0740d8..616dc2e06 100644 --- a/pym/portage/package/ebuild/prepare_build_dirs.py +++ b/pym/portage/package/ebuild/prepare_build_dirs.py @@ -286,6 +286,11 @@ def _prepare_workdir(mysettings): try: modified = ensure_dirs(mysettings["PORT_LOGDIR"]) if modified: + # Only initialize group/mode if the directory doesn't + # exist, so that we don't override permissions if they + # were previously set by the administrator. + # NOTE: These permissions should be compatible with our + # default logrotate config as discussed in bug 374287. apply_secpass_permissions(mysettings["PORT_LOGDIR"], uid=portage_uid, gid=portage_gid, mode=0o2770) except PortageException as e: -- 2.26.2