summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/__init__.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-06-18 19:55:17 +0000
committerZac Medico <zmedico@gentoo.org>2009-06-18 19:55:17 +0000
commitf188808244e7f24589825ce470d59df77b9d754b (patch)
tree9e05b1c45e87ec208fa2d9a60f20c46a6187f999 /pym/_emerge/__init__.py
parent758d31b247052e5658e4bb9e1273e230e2a6a9f1 (diff)
downloadportage-f188808244e7f24589825ce470d59df77b9d754b.tar.gz
portage-f188808244e7f24589825ce470d59df77b9d754b.tar.bz2
portage-f188808244e7f24589825ce470d59df77b9d754b.zip
Add a EMERGE_LOG_DIR variable to control the location of emerge.log and
emerge-fetch.log. This was requested by Eitan Mosenkis <eitan@mosenkis.net> for use in his 'online image builder' soc project. svn path=/main/trunk/; revision=13652
Diffstat (limited to 'pym/_emerge/__init__.py')
-rw-r--r--pym/_emerge/__init__.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 8ef667a07..a3921b629 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -238,13 +238,15 @@ shortmapping={
"v":"--verbose", "V":"--version"
}
+_emerge_log_dir = '/var/log'
+
def emergelog(xterm_titles, mystr, short_msg=None):
if xterm_titles and short_msg:
if "HOSTNAME" in os.environ:
short_msg = os.environ["HOSTNAME"]+": "+short_msg
xtermTitle(short_msg)
try:
- file_path = "/var/log/emerge.log"
+ file_path = os.path.join(_emerge_log_dir, 'emerge.log')
mylogfile = open(file_path, "a")
portage.util.apply_secpass_permissions(file_path,
uid=portage.portage_uid, gid=portage.portage_gid,
@@ -10137,7 +10139,7 @@ class Scheduler(PollScheduler):
_bad_resume_opts = set(["--ask", "--changelog",
"--resume", "--skipfirst"])
- _fetch_log = "/var/log/emerge-fetch.log"
+ _fetch_log = os.path.join(_emerge_log_dir, 'emerge-fetch.log')
class _iface_class(SlotObject):
__slots__ = ("dblinkEbuildPhase", "dblinkDisplayMerge",
@@ -16181,6 +16183,20 @@ def emerge_main():
def emergelog(*pargs, **kargs):
pass
+ else:
+ if 'EMERGE_LOG_DIR' in settings:
+ try:
+ # At least the parent needs to exist for the lock file.
+ portage.util.ensure_dirs(settings['EMERGE_LOG_DIR'])
+ except portage.exception.PortageException, e:
+ writemsg_level("!!! Error creating directory for " + \
+ "EMERGE_LOG_DIR='%s':\n!!! %s\n" % \
+ (settings['EMERGE_LOG_DIR'], e),
+ noiselevel=-1, level=logging.ERROR)
+ else:
+ global _emerge_log_dir
+ _emerge_log_dir = settings['EMERGE_LOG_DIR']
+
if not "--pretend" in myopts:
emergelog(xterm_titles, "Started emerge on: "+\
time.strftime("%b %d, %Y %H:%M:%S", time.localtime()))