summaryrefslogtreecommitdiffstats
path: root/pym/portage/package/ebuild/prepare_build_dirs.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-04-22 10:56:01 -0700
committerZac Medico <zmedico@gentoo.org>2012-04-22 10:56:01 -0700
commitb93b24f9fa1b2761aa0768274bd93ade9b526961 (patch)
treedfe3d7409184b6c140ded3dba3d4460b9be25312 /pym/portage/package/ebuild/prepare_build_dirs.py
parente706a3dbc922130fe52a6513e9b91af7afc843aa (diff)
downloadportage-b93b24f9fa1b2761aa0768274bd93ade9b526961.tar.gz
portage-b93b24f9fa1b2761aa0768274bd93ade9b526961.tar.bz2
portage-b93b24f9fa1b2761aa0768274bd93ade9b526961.zip
Add ${T}/build.log symlink to PORT_LOGDIR.
This will fix bug #412865. This makes it easier on people who `emerge foo`, do stuff, `emerge foo`, do stuff, etc... to have the same path to the log in between runs.
Diffstat (limited to 'pym/portage/package/ebuild/prepare_build_dirs.py')
-rw-r--r--pym/portage/package/ebuild/prepare_build_dirs.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/pym/portage/package/ebuild/prepare_build_dirs.py b/pym/portage/package/ebuild/prepare_build_dirs.py
index 50b14ec91..b8fbdc5cf 100644
--- a/pym/portage/package/ebuild/prepare_build_dirs.py
+++ b/pym/portage/package/ebuild/prepare_build_dirs.py
@@ -346,13 +346,31 @@ def _prepare_workdir(mysettings):
writemsg(_unicode_decode("!!! %s: %s\n") %
(_("Permission Denied"), log_subdir), noiselevel=-1)
+ tmpdir_log_path = os.path.join(
+ mysettings["T"], "build.log%s" % compress_log_ext)
if not logdir_subdir_ok:
# NOTE: When sesandbox is enabled, the local SELinux security policies
# may not allow output to be piped out of the sesandbox domain. The
# current policy will allow it to work when a pty is available, but
# not through a normal pipe. See bug #162404.
- mysettings["PORTAGE_LOG_FILE"] = os.path.join(
- mysettings["T"], "build.log%s" % compress_log_ext)
+ mysettings["PORTAGE_LOG_FILE"] = tmpdir_log_path
+ else:
+ # Create a symlink from tmpdir_log_path to PORTAGE_LOG_FILE, as
+ # requested in bug #412865.
+ make_new_symlink = False
+ try:
+ target = os.readlink(tmpdir_log_path)
+ except OSError:
+ make_new_symlink = True
+ else:
+ if target != mysettings["PORTAGE_LOG_FILE"]:
+ make_new_symlink = True
+ if make_new_symlink:
+ try:
+ os.unlink(tmpdir_log_path)
+ except OSError:
+ pass
+ os.symlink(mysettings["PORTAGE_LOG_FILE"], tmpdir_log_path)
def _ensure_log_subdirs(logdir, subdir):
"""