# HG changeset patch # User John Beck # Date 1421891700 28800 # Node ID 91f76aae11551e1cf7f5f4a510138cdc7b931621 # Parent 91c379bcac7e261cb2191c378ca1e8a458296d32 20381830 ctypes module unable to obtain default library path diff -r 91c379bcac7e -r 91f76aae1155 components/python/python26/patches/Python26-14-ctypes-util-find-library.patch --- a/components/python/python26/patches/Python26-14-ctypes-util-find-library.patch Thu Jan 22 11:26:32 2015 -0800 +++ b/components/python/python26/patches/Python26-14-ctypes-util-find-library.patch Wed Jan 21 17:55:00 2015 -0800 @@ -1,28 +1,19 @@ -diff --git Python-2.6.4/Lib/ctypes/util.py Python-2.6.4/Lib/ctypes/util.py ---- Python-2.6.4/Lib/ctypes/util.py -+++ Python-2.6.4/Lib/ctypes/util.py -@@ -164,6 +164,35 @@ +This patch was developed in-house, but not contributed upstream because +Python 2.6 has been abandoned by the community. + +--- Python-2.6.8/Lib/ctypes/util.py.~1~ 2012-04-10 08:32:04.000000000 -0700 ++++ Python-2.6.8/Lib/ctypes/util.py 2015-01-20 15:17:51.156728249 -0800 +@@ -164,6 +164,24 @@ res.sort(cmp= lambda x,y: cmp(_num_version(x), _num_version(y))) return res[-1] + elif sys.platform == "sunos5": + -+ def _findLib_crle(name, is64): -+ if not os.path.exists('/usr/bin/crle'): -+ return None -+ ++ def _findLib_path(name, is64): + if is64: -+ cmd = 'env LC_ALL=C /usr/bin/crle -64 2>/dev/null' ++ paths = "/lib/64:/usr/lib/64" + else: -+ cmd = 'env LC_ALL=C /usr/bin/crle 2>/dev/null' -+ -+ for line in os.popen(cmd).readlines(): -+ line = line.strip() -+ if (line.startswith('Default Library Path (ELF):')): -+ paths = line.split()[4] -+ -+ if not paths: -+ return None ++ paths = "/lib:/usr/lib" + + for dir in paths.split(":"): + libfile = os.path.join(dir, "lib%s.so" % name) @@ -32,7 +23,7 @@ + return None + + def find_library(name, is64 = False): -+ return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name)) ++ return _get_soname(_findLib_path(name, is64) or _findLib_gcc(name)) + else: diff -r 91c379bcac7e -r 91f76aae1155 components/python/python27/patches/22-default-lib-path.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/python/python27/patches/22-default-lib-path.patch Wed Jan 21 17:55:00 2015 -0800 @@ -0,0 +1,40 @@ +This patch was developed in-house. It has been submitted upstream: +http://bugs.python.org/issue23287 + +--- Python-2.7.9/Lib/ctypes/util.py.~1~ 2014-12-10 07:59:34.000000000 -0800 ++++ Python-2.7.9/Lib/ctypes/util.py 2015-01-20 15:22:03.139588641 -0800 +@@ -182,22 +182,11 @@ + + elif sys.platform == "sunos5": + +- def _findLib_crle(name, is64): +- if not os.path.exists('/usr/bin/crle'): +- return None +- ++ def _findLib_path(name, is64): + if is64: +- cmd = 'env LC_ALL=C /usr/bin/crle -64 2>/dev/null' ++ paths = "/lib/64:/usr/lib/64" + else: +- cmd = 'env LC_ALL=C /usr/bin/crle 2>/dev/null' +- +- for line in os.popen(cmd).readlines(): +- line = line.strip() +- if line.startswith('Default Library Path (ELF):'): +- paths = line.split()[4] +- +- if not paths: +- return None ++ paths = "/lib:/usr/lib" + + for dir in paths.split(":"): + libfile = os.path.join(dir, "lib%s.so" % name) +@@ -207,7 +196,7 @@ + return None + + def find_library(name, is64 = False): +- return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name)) ++ return _get_soname(_findLib_path(name, is64) or _findLib_gcc(name)) + + else: + diff -r 91c379bcac7e -r 91f76aae1155 components/python/python34/patches/21-default-lib-path.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/python/python34/patches/21-default-lib-path.patch Wed Jan 21 17:55:00 2015 -0800 @@ -0,0 +1,41 @@ +This patch was developed in-house. It has been submitted upstream: +http://bugs.python.org/issue23287 + +--- Python-3.4.2/Lib/ctypes/util.py.~1~ 2014-10-08 01:18:12.000000000 -0700 ++++ Python-3.4.2/Lib/ctypes/util.py 2015-01-20 15:51:09.024341756 -0800 +@@ -169,23 +169,11 @@ + + elif sys.platform == "sunos5": + +- def _findLib_crle(name, is64): +- if not os.path.exists('/usr/bin/crle'): +- return None +- ++ def _findLib_path(name, is64): + if is64: +- cmd = 'env LC_ALL=C /usr/bin/crle -64 2>/dev/null' ++ paths = "/lib/64:/usr/lib/64" + else: +- cmd = 'env LC_ALL=C /usr/bin/crle 2>/dev/null' +- +- with contextlib.closing(os.popen(cmd)) as f: +- for line in f.readlines(): +- line = line.strip() +- if line.startswith('Default Library Path (ELF):'): +- paths = line.split()[4] +- +- if not paths: +- return None ++ paths = "/lib:/usr/lib" + + for dir in paths.split(":"): + libfile = os.path.join(dir, "lib%s.so" % name) +@@ -195,7 +183,7 @@ + return None + + def find_library(name, is64 = False): +- return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name)) ++ return _get_soname(_findLib_path(name, is64) or _findLib_gcc(name)) + + else: + diff -r 91c379bcac7e -r 91f76aae1155 doc/makefile-variables.txt --- a/doc/makefile-variables.txt Thu Jan 22 11:26:32 2015 -0800 +++ b/doc/makefile-variables.txt Wed Jan 21 17:55:00 2015 -0800 @@ -23,7 +23,14 @@ tools/.gnupg/pubring.pgp, then as part of your code review, please show the diffs of the text version of the file by running gpg2 --homedir $WS/tools/.gnupg --fingerprint - both before and after the change. + both before and after the change. Note that when merging, because + $WS/tools/.gnupg/pubring.gpg is a binary file, you will have to choose + the parent or child version. Pick one, then run: + for cset in $(hg log -r 'parents()' -T '{node} '); do + hg cat -r $cset $WS/tools/.gnupg/pubring.gpg | \ + gpg2 --homedir=$WS/tools/.gnupg --import; + done + before you 'hg commit' your merge. * COMPONENT_BUGDB is the lower-case rendering of the BugDB cat/subcat. These two are both initialized in make-rules/shared-macros.mk rather than any diff -r 91c379bcac7e -r 91f76aae1155 tools/.gnupg/pubring.gpg Binary file tools/.gnupg/pubring.gpg has changed