commit:     5e3e84b4fc4dc75d520b8e0e894811e3e2c88f56
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Sat Sep 20 03:48:23 2014 +0000
Commit:     Arfrever Frehtes Taifersar Arahesis <arfrever <AT> apache <DOT> org>
CommitDate: Sat Sep 20 03:48:23 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=5e3e84b4

Update sys.path in scripts only when using not installed instance of Portage.

Modules of installed instance of Portage are now placed in standard location,
which is included in default sys.path.

---
 bin/archive-conf     |  4 ++--
 bin/binhost-snapshot |  4 ++--
 bin/clean_locks      |  4 ++--
 bin/dispatch-conf    |  4 ++--
 bin/ebuild           |  4 ++--
 bin/ebuild-ipc.py    | 20 +++++++++++++-------
 bin/egencache        |  4 ++--
 bin/emaint           |  4 ++--
 bin/emerge           |  5 ++---
 bin/env-update       |  4 ++--
 bin/fixpackages      |  4 ++--
 bin/glsa-check       |  4 ++--
 bin/portageq         | 22 +++++++++++++---------
 bin/quickpkg         |  4 ++--
 bin/regenworld       |  4 ++--
 bin/repoman          |  4 ++--
 16 files changed, 54 insertions(+), 45 deletions(-)

diff --git a/bin/archive-conf b/bin/archive-conf
index f73ca42..59350a0 100755
--- a/bin/archive-conf
+++ b/bin/archive-conf
@@ -14,8 +14,8 @@ from __future__ import print_function
 import sys
 
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 

diff --git a/bin/binhost-snapshot b/bin/binhost-snapshot
index c2204f0..3a34643 100755
--- a/bin/binhost-snapshot
+++ b/bin/binhost-snapshot
@@ -13,8 +13,8 @@ except ImportError:
        from urlparse import urlparse
 
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 from portage.util._argparse import ArgumentParser

diff --git a/bin/clean_locks b/bin/clean_locks
index 3e969f2..13af061 100755
--- a/bin/clean_locks
+++ b/bin/clean_locks
@@ -6,8 +6,8 @@ from __future__ import print_function
 
 import sys, errno
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 

diff --git a/bin/dispatch-conf b/bin/dispatch-conf
index 4b0c0ac..fb0a8af 100755
--- a/bin/dispatch-conf
+++ b/bin/dispatch-conf
@@ -17,8 +17,8 @@ from stat import ST_GID, ST_MODE, ST_UID
 from random import random
 import atexit, re, shutil, stat, sys
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 from portage import os

diff --git a/bin/ebuild b/bin/ebuild
index 8f4b103..02ee022 100755
--- a/bin/ebuild
+++ b/bin/ebuild
@@ -38,8 +38,8 @@ signal.signal(debug_signum, debug_signal)
 import io
 import os
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 from portage import os

diff --git a/bin/ebuild-ipc.py b/bin/ebuild-ipc.py
index 00337ee..3e6d90c 100755
--- a/bin/ebuild-ipc.py
+++ b/bin/ebuild-ipc.py
@@ -24,15 +24,21 @@ else:
 
 signal.signal(debug_signum, debug_signal)
 
-# Avoid sandbox violations after python upgrade.
-pym_path = os.path.join(os.path.dirname(
-       os.path.dirname(os.path.realpath(__file__))), "pym")
+if 
os.path.isfile(os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))),
 ".portage_not_installed")):
+       pym_paths = 
[os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 
"pym")]
+       sys.path.insert(0, pym_paths[0])
+else:
+       import distutils.sysconfig
+       pym_paths = [os.path.join(distutils.sysconfig.get_python_lib(), x) for 
x in ("_emerge", "portage")]
+# Avoid sandbox violations after Python upgrade.
 if os.environ.get("SANDBOX_ON") == "1":
        sandbox_write = os.environ.get("SANDBOX_WRITE", "").split(":")
-       if pym_path not in sandbox_write:
-               sandbox_write.append(pym_path)
-               os.environ["SANDBOX_WRITE"] = \
-                       ":".join(filter(None, sandbox_write))
+       for pym_path in pym_paths:
+               if pym_path not in sandbox_write:
+                       sandbox_write.append(pym_path)
+                       os.environ["SANDBOX_WRITE"] = ":".join(filter(None, 
sandbox_write))
+       del pym_path, sandbox_write
+del pym_paths
 
 import portage
 portage._internal_caller = True

diff --git a/bin/egencache b/bin/egencache
index c14be93..e366058 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -41,8 +41,8 @@ import textwrap
 import re
 
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 from portage import os, _encodings, _unicode_encode, _unicode_decode

diff --git a/bin/emaint b/bin/emaint
index aeeb183..a634c0e 100755
--- a/bin/emaint
+++ b/bin/emaint
@@ -26,8 +26,8 @@ except KeyboardInterrupt:
        sys.exit(1)
 
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 from portage.emaint.main import emaint_main

diff --git a/bin/emerge b/bin/emerge
index 7773f7f..43cfdcd 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -36,9 +36,8 @@ try:
        signal.signal(debug_signum, debug_signal)
 
        from os import path as osp
-       pym_path = osp.join(osp.dirname(osp.dirname(
-               osp.realpath(__file__))), "pym")
-       sys.path.insert(0, pym_path)
+       if 
osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+               sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
        import portage
        portage._internal_caller = True
        portage._disable_legacy_globals()

diff --git a/bin/env-update b/bin/env-update
index 7651ef9..c43459b 100755
--- a/bin/env-update
+++ b/bin/env-update
@@ -26,8 +26,8 @@ if len(sys.argv) > 1:
        usage(1)
 
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 

diff --git a/bin/fixpackages b/bin/fixpackages
index cec0030..8a0c444 100755
--- a/bin/fixpackages
+++ b/bin/fixpackages
@@ -8,8 +8,8 @@ import os
 import sys
 
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 from portage import os

diff --git a/bin/glsa-check b/bin/glsa-check
index 972679a..94dea73 100755
--- a/bin/glsa-check
+++ b/bin/glsa-check
@@ -8,8 +8,8 @@ import sys
 import codecs
 
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 from portage import os

diff --git a/bin/portageq b/bin/portageq
index 79818f6..4d5cc19 100755
--- a/bin/portageq
+++ b/bin/portageq
@@ -23,18 +23,22 @@ except KeyboardInterrupt:
 import os
 import types
 
-# Avoid sandbox violations after python upgrade.
-pym_path = os.path.join(os.path.dirname(
-       os.path.dirname(os.path.realpath(__file__))), "pym")
+if 
os.path.isfile(os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))),
 ".portage_not_installed")):
+       pym_paths = 
[os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 
"pym")]
+       sys.path.insert(0, pym_paths[0])
+else:
+       import distutils.sysconfig
+       pym_paths = [os.path.join(distutils.sysconfig.get_python_lib(), x) for 
x in ("_emerge", "portage")]
+# Avoid sandbox violations after Python upgrade.
 if os.environ.get("SANDBOX_ON") == "1":
        sandbox_write = os.environ.get("SANDBOX_WRITE", "").split(":")
-       if pym_path not in sandbox_write:
-               sandbox_write.append(pym_path)
-               os.environ["SANDBOX_WRITE"] = \
-                       ":".join(filter(None, sandbox_write))
-       del sandbox_write
+       for pym_path in pym_paths:
+               if pym_path not in sandbox_write:
+                       sandbox_write.append(pym_path)
+                       os.environ["SANDBOX_WRITE"] = ":".join(filter(None, 
sandbox_write))
+       del pym_path, sandbox_write
+del pym_paths
 
-sys.path.insert(0, pym_path)
 import portage
 portage._internal_caller = True
 from portage import os

diff --git a/bin/quickpkg b/bin/quickpkg
index 035131e..cf75791 100755
--- a/bin/quickpkg
+++ b/bin/quickpkg
@@ -11,8 +11,8 @@ import sys
 import tarfile
 
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 from portage import os

diff --git a/bin/regenworld b/bin/regenworld
index 32e8e5c..e07424d 100755
--- a/bin/regenworld
+++ b/bin/regenworld
@@ -6,8 +6,8 @@ from __future__ import print_function
 
 import sys
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 from portage import os

diff --git a/bin/repoman b/bin/repoman
index 5a6ee5b..ddd2e92 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -32,8 +32,8 @@ except ImportError:
        from urlparse import urlparse
 
 from os import path as osp
-pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym")
-sys.path.insert(0, pym_path)
+if osp.isfile(osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), 
".portage_not_installed")):
+       sys.path.insert(0, 
osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 import portage
 portage._internal_caller = True
 portage._disable_legacy_globals()

Reply via email to