Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'jb49761-aarch64' into 'master'
Fixes for aarch64 See merge request mer-core/python3!19
- Loading branch information
Showing
7 changed files
with
515 additions
and
53 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
33 changes: 33 additions & 0 deletions
33
rpm/0003-00001-Fixup-distutils-unixccompiler.py-to-remove-sta.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
From d13eeaf8b92ee9d360afb05551b97c362751014c Mon Sep 17 00:00:00 2001 | ||
From: David Malcolm <dmalcolm@redhat.com> | ||
Date: Wed, 13 Jan 2010 21:25:18 +0000 | ||
Subject: [PATCH 3/4] 00001: Fixup distutils/unixccompiler.py to remove | ||
standard library path from rpath Was Patch0 in ivazquez' python3000 specfile | ||
|
||
--- | ||
Lib/distutils/unixccompiler.py | 9 +++++++++ | ||
1 file changed, 9 insertions(+) | ||
|
||
diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py | ||
index d10a78da31..4df4b67810 100644 | ||
--- a/Lib/distutils/unixccompiler.py | ||
+++ b/Lib/distutils/unixccompiler.py | ||
@@ -82,6 +82,15 @@ class UnixCCompiler(CCompiler): | ||
if sys.platform == "cygwin": | ||
exe_extension = ".exe" | ||
|
||
+ def _fix_lib_args(self, libraries, library_dirs, runtime_library_dirs): | ||
+ """Remove standard library path from rpath""" | ||
+ libraries, library_dirs, runtime_library_dirs = super()._fix_lib_args( | ||
+ libraries, library_dirs, runtime_library_dirs) | ||
+ libdir = sysconfig.get_config_var('LIBDIR') | ||
+ if runtime_library_dirs and (libdir in runtime_library_dirs): | ||
+ runtime_library_dirs.remove(libdir) | ||
+ return libraries, library_dirs, runtime_library_dirs | ||
+ | ||
def preprocess(self, source, output_file=None, macros=None, | ||
include_dirs=None, extra_preargs=None, extra_postargs=None): | ||
fixed_args = self._fix_compile_args(None, macros, include_dirs) | ||
-- | ||
2.26.2 | ||
|
261 changes: 261 additions & 0 deletions
261
rpm/0004-00102-Change-the-various-install-paths-to-use-usr-li.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,261 @@ | ||
From a72d6dbaad6e5010ad1b305a9921f77ba920aabc Mon Sep 17 00:00:00 2001 | ||
From: David Malcolm <dmalcolm@redhat.com> | ||
Date: Wed, 13 Jan 2010 21:25:18 +0000 | ||
Subject: [PATCH 4/4] 00102: Change the various install paths to use | ||
/usr/lib64/ instead or /usr/lib/ | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
Only used when "%{_lib}" == "lib64". | ||
|
||
Co-authored-by: David Malcolm <dmalcolm@redhat.com> | ||
Co-authored-by: Thomas Spura <tomspur@fedoraproject.org> | ||
Co-authored-by: Slavek Kabrda <bkabrda@redhat.com> | ||
Co-authored-by: Matej Stuchlik <mstuchli@redhat.com> | ||
Co-authored-by: Tomas Orsava <torsava@redhat.com> | ||
Co-authored-by: Charalampos Stratakis <cstratak@redhat.com> | ||
Co-authored-by: Petr Viktorin <pviktori@redhat.com> | ||
Co-authored-by: Miro Hrončok <miro@hroncok.cz> | ||
Co-authored-by: Iryna Shcherbina <shcherbina.iryna@gmail.com> | ||
--- | ||
Lib/distutils/command/install.py | 4 ++-- | ||
Lib/distutils/sysconfig.py | 6 +++++- | ||
Lib/distutils/tests/test_install.py | 3 ++- | ||
Lib/site.py | 4 ++++ | ||
Lib/sysconfig.py | 12 ++++++------ | ||
Lib/test/test_site.py | 4 ++-- | ||
Makefile.pre.in | 2 +- | ||
Modules/getpath.c | 6 +++--- | ||
configure | 4 ++-- | ||
configure.ac | 4 ++-- | ||
setup.py | 6 +++--- | ||
11 files changed, 32 insertions(+), 23 deletions(-) | ||
|
||
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py | ||
index c625c95bf7..ae4f915669 100644 | ||
--- a/Lib/distutils/command/install.py | ||
+++ b/Lib/distutils/command/install.py | ||
@@ -30,14 +30,14 @@ WINDOWS_SCHEME = { | ||
INSTALL_SCHEMES = { | ||
'unix_prefix': { | ||
'purelib': '$base/lib/python$py_version_short/site-packages', | ||
- 'platlib': '$platbase/lib/python$py_version_short/site-packages', | ||
+ 'platlib': '$platbase/lib64/python$py_version_short/site-packages', | ||
'headers': '$base/include/python$py_version_short$abiflags/$dist_name', | ||
'scripts': '$base/bin', | ||
'data' : '$base', | ||
}, | ||
'unix_home': { | ||
'purelib': '$base/lib/python', | ||
- 'platlib': '$base/lib/python', | ||
+ 'platlib': '$base/lib64/python', | ||
'headers': '$base/include/python/$dist_name', | ||
'scripts': '$base/bin', | ||
'data' : '$base', | ||
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py | ||
index b51629eb94..9a4892a737 100644 | ||
--- a/Lib/distutils/sysconfig.py | ||
+++ b/Lib/distutils/sysconfig.py | ||
@@ -146,8 +146,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): | ||
prefix = plat_specific and EXEC_PREFIX or PREFIX | ||
|
||
if os.name == "posix": | ||
+ if plat_specific or standard_lib: | ||
+ lib = "lib64" | ||
+ else: | ||
+ lib = "lib" | ||
libpython = os.path.join(prefix, | ||
- "lib", "python" + get_python_version()) | ||
+ lib, "python" + get_python_version()) | ||
if standard_lib: | ||
return libpython | ||
else: | ||
diff --git a/Lib/distutils/tests/test_install.py b/Lib/distutils/tests/test_install.py | ||
index 287ab1989e..d4c05e0ab1 100644 | ||
--- a/Lib/distutils/tests/test_install.py | ||
+++ b/Lib/distutils/tests/test_install.py | ||
@@ -57,8 +57,9 @@ class InstallTestCase(support.TempdirManager, | ||
self.assertEqual(got, expected) | ||
|
||
libdir = os.path.join(destination, "lib", "python") | ||
+ platlibdir = os.path.join(destination, "lib64", "python") | ||
check_path(cmd.install_lib, libdir) | ||
- check_path(cmd.install_platlib, libdir) | ||
+ check_path(cmd.install_platlib, platlibdir) | ||
check_path(cmd.install_purelib, libdir) | ||
check_path(cmd.install_headers, | ||
os.path.join(destination, "include", "python", "foopkg")) | ||
diff --git a/Lib/site.py b/Lib/site.py | ||
index a065ab0b5d..22d53fa562 100644 | ||
--- a/Lib/site.py | ||
+++ b/Lib/site.py | ||
@@ -335,11 +335,15 @@ def getsitepackages(prefixes=None): | ||
seen.add(prefix) | ||
|
||
if os.sep == '/': | ||
+ sitepackages.append(os.path.join(prefix, "lib64", | ||
+ "python" + sys.version[:3], | ||
+ "site-packages")) | ||
sitepackages.append(os.path.join(prefix, "lib", | ||
"python%d.%d" % sys.version_info[:2], | ||
"site-packages")) | ||
else: | ||
sitepackages.append(prefix) | ||
+ sitepackages.append(os.path.join(prefix, "lib64", "site-packages")) | ||
sitepackages.append(os.path.join(prefix, "lib", "site-packages")) | ||
return sitepackages | ||
|
||
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py | ||
index b9e2fafbc0..0ae6d35b69 100644 | ||
--- a/Lib/sysconfig.py | ||
+++ b/Lib/sysconfig.py | ||
@@ -20,10 +20,10 @@ __all__ = [ | ||
|
||
_INSTALL_SCHEMES = { | ||
'posix_prefix': { | ||
- 'stdlib': '{installed_base}/lib/python{py_version_short}', | ||
- 'platstdlib': '{platbase}/lib/python{py_version_short}', | ||
+ 'stdlib': '{installed_base}/lib64/python{py_version_short}', | ||
+ 'platstdlib': '{platbase}/lib64/python{py_version_short}', | ||
'purelib': '{base}/lib/python{py_version_short}/site-packages', | ||
- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', | ||
+ 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages', | ||
'include': | ||
'{installed_base}/include/python{py_version_short}{abiflags}', | ||
'platinclude': | ||
@@ -62,10 +62,10 @@ _INSTALL_SCHEMES = { | ||
'data': '{userbase}', | ||
}, | ||
'posix_user': { | ||
- 'stdlib': '{userbase}/lib/python{py_version_short}', | ||
- 'platstdlib': '{userbase}/lib/python{py_version_short}', | ||
+ 'stdlib': '{userbase}/lib64/python{py_version_short}', | ||
+ 'platstdlib': '{userbase}/lib64/python{py_version_short}', | ||
'purelib': '{userbase}/lib/python{py_version_short}/site-packages', | ||
- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', | ||
+ 'platlib': '{userbase}/lib64/python{py_version_short}/site-packages', | ||
'include': '{userbase}/include/python{py_version_short}', | ||
'scripts': '{userbase}/bin', | ||
'data': '{userbase}', | ||
diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py | ||
index 41c4229919..543c88432a 100644 | ||
--- a/Lib/test/test_site.py | ||
+++ b/Lib/test/test_site.py | ||
@@ -266,8 +266,8 @@ class HelperFunctionsTests(unittest.TestCase): | ||
dirs = site.getsitepackages() | ||
if os.sep == '/': | ||
# OS X, Linux, FreeBSD, etc | ||
- self.assertEqual(len(dirs), 1) | ||
- wanted = os.path.join('xoxo', 'lib', | ||
+ self.assertEqual(len(dirs), 2) | ||
+ wanted = os.path.join('xoxo', 'lib64', | ||
'python%d.%d' % sys.version_info[:2], | ||
'site-packages') | ||
self.assertEqual(dirs[0], wanted) | ||
diff --git a/Makefile.pre.in b/Makefile.pre.in | ||
index ff37ecb53e..895e945667 100644 | ||
--- a/Makefile.pre.in | ||
+++ b/Makefile.pre.in | ||
@@ -143,7 +143,7 @@ LIBDIR= @libdir@ | ||
MANDIR= @mandir@ | ||
INCLUDEDIR= @includedir@ | ||
CONFINCLUDEDIR= $(exec_prefix)/include | ||
-SCRIPTDIR= $(prefix)/lib | ||
+SCRIPTDIR= $(prefix)/lib64 | ||
ABIFLAGS= @ABIFLAGS@ | ||
|
||
# Detailed destination directories | ||
diff --git a/Modules/getpath.c b/Modules/getpath.c | ||
index b727f66953..a0c5fb6139 100644 | ||
--- a/Modules/getpath.c | ||
+++ b/Modules/getpath.c | ||
@@ -730,7 +730,7 @@ calculate_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, | ||
if (safe_wcscpy(exec_prefix, calculate->exec_prefix, exec_prefix_len) < 0) { | ||
return PATHLEN_ERR(); | ||
} | ||
- status = joinpath(exec_prefix, L"lib/lib-dynload", exec_prefix_len); | ||
+ status = joinpath(exec_prefix, L"lib64/lib-dynload", exec_prefix_len); | ||
if (_PyStatus_EXCEPTION(status)) { | ||
return status; | ||
} | ||
@@ -1067,7 +1067,7 @@ calculate_zip_path(PyCalculatePath *calculate, const wchar_t *prefix, | ||
return PATHLEN_ERR(); | ||
} | ||
} | ||
- status = joinpath(zip_path, L"lib/python00.zip", zip_path_len); | ||
+ status = joinpath(zip_path, L"lib64/python00.zip", zip_path_len); | ||
if (_PyStatus_EXCEPTION(status)) { | ||
return status; | ||
} | ||
@@ -1197,7 +1197,7 @@ calculate_init(PyCalculatePath *calculate, const PyConfig *config) | ||
if (!calculate->exec_prefix) { | ||
return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); | ||
} | ||
- calculate->lib_python = Py_DecodeLocale("lib/python" VERSION, &len); | ||
+ calculate->lib_python = Py_DecodeLocale("lib64/python" VERSION, &len); | ||
if (!calculate->lib_python) { | ||
return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); | ||
} | ||
diff --git a/configure b/configure | ||
index 0914e24704..889d6b6a7f 100755 | ||
--- a/configure | ||
+++ b/configure | ||
@@ -15170,9 +15170,9 @@ fi | ||
|
||
|
||
if test x$PLATFORM_TRIPLET = x; then | ||
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" | ||
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}" | ||
else | ||
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" | ||
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" | ||
fi | ||
|
||
|
||
diff --git a/configure.ac b/configure.ac | ||
index b348fb9c1d..019552529c 100644 | ||
--- a/configure.ac | ||
+++ b/configure.ac | ||
@@ -4668,9 +4668,9 @@ fi | ||
dnl define LIBPL after ABIFLAGS and LDVERSION is defined. | ||
AC_SUBST(PY_ENABLE_SHARED) | ||
if test x$PLATFORM_TRIPLET = x; then | ||
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" | ||
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}" | ||
else | ||
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" | ||
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" | ||
fi | ||
AC_SUBST(LIBPL) | ||
|
||
diff --git a/setup.py b/setup.py | ||
index 20d7f35652..024a1035c0 100644 | ||
--- a/setup.py | ||
+++ b/setup.py | ||
@@ -649,7 +649,7 @@ class PyBuildExt(build_ext): | ||
# directories (i.e. '.' and 'Include') must be first. See issue | ||
# 10520. | ||
if not CROSS_COMPILING: | ||
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') | ||
+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64') | ||
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') | ||
# only change this for cross builds for 3.3, issues on Mageia | ||
if CROSS_COMPILING: | ||
@@ -953,11 +953,11 @@ class PyBuildExt(build_ext): | ||
elif curses_library: | ||
readline_libs.append(curses_library) | ||
elif self.compiler.find_library_file(self.lib_dirs + | ||
- ['/usr/lib/termcap'], | ||
+ ['/usr/lib64/termcap'], | ||
'termcap'): | ||
readline_libs.append('termcap') | ||
self.add(Extension('readline', ['readline.c'], | ||
- library_dirs=['/usr/lib/termcap'], | ||
+ library_dirs=['/usr/lib64/termcap'], | ||
extra_link_args=readline_extra_link_args, | ||
libraries=readline_libs)) | ||
else: | ||
-- | ||
2.26.2 | ||
|
Oops, something went wrong.