summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-07-11 14:02:40 -0700
committerZac Medico <zmedico@gentoo.org>2011-07-11 14:02:40 -0700
commitbaecf07ec888f338b8f628d2c0358d3d70d24f8f (patch)
treed9f53ac3fdf9a5121733400b94e54e05381a83d7
parentd20cc273f670d4141ba94a860bfbafa80e223dad (diff)
downloadportage-baecf07ec888f338b8f628d2c0358d3d70d24f8f.tar.gz
portage-baecf07ec888f338b8f628d2c0358d3d70d24f8f.tar.bz2
portage-baecf07ec888f338b8f628d2c0358d3d70d24f8f.zip
elog/mod_save: fix permissions for logrotate
These permissions should be compatible with our default logrotate config as discussed in bug 374287.
-rw-r--r--pym/portage/elog/mod_save.py6
-rw-r--r--pym/portage/elog/mod_save_summary.py6
-rw-r--r--pym/portage/package/ebuild/prepare_build_dirs.py5
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: