[python3] Rewrite the config wrapper from Bash to Python, so it can be interpreted with Python

Miro Hrončok churchyard at fedoraproject.org
Mon Jun 30 16:54:04 UTC 2014


commit 95a55939d74997721acfb6e9b190a815c3e41fc1
Author: Miro Hrončok <miro at hroncok.cz>
Date:   Mon Jun 30 18:53:45 2014 +0200

    Rewrite the config wrapper from Bash to Python, so it can be interpreted with Python

 config.py    |    9 +++++++++
 python3.spec |   15 +++++++++------
 2 files changed, 18 insertions(+), 6 deletions(-)
---
diff --git a/config.py b/config.py
new file mode 100644
index 0000000..964d5d9
--- /dev/null
+++ b/config.py
@@ -0,0 +1,9 @@
+#!/bin/python3
+import sys
+import subprocess
+ver = sys.version[:3]
+arch = subprocess.check_output('uname -m'.split()).decode("utf-8").rstrip()
+call = ['python{ver}m-{arch}-config'.format(ver=ver, arch=arch)] + sys.argv[1:]
+retval = subprocess.call(call)
+if retval == 127:
+    print('Could not find python{ver}m-{arch}-config. Look around to see available arches.'.format(ver=ver, arch=arch), file=sys.stderr)
diff --git a/python3.spec b/python3.spec
index 2596e4f..e956ab5 100644
--- a/python3.spec
+++ b/python3.spec
@@ -140,7 +140,7 @@
 Summary: Version 3 of the Python programming language aka Python 3000
 Name: python3
 Version: %{pybasever}.1
-Release: 12%{?dist}
+Release: 13%{?dist}
 License: Python
 Group: Development/Languages
 
@@ -243,6 +243,9 @@ Source7: pyfuntop.stp
 # Written by bkabrda
 Source8: check-pyc-and-pyo-timestamps.py
 
+# Python wrapper arounf pythonXXm-config to be able to keep python3-devel multiarch
+Source9: config.py
+
 # Fixup distutils/unixccompiler.py to remove standard library path from rpath:
 # Was Patch0 in ivazquez' python3000 specfile:
 Patch1:         Python-3.1.1-rpath.patch
@@ -1381,11 +1384,8 @@ sed \
 
 # Rename the script that differs on different arches to arch specific name
 mv %{buildroot}%{_bindir}/python%{LDVERSION_optimized}-{,`uname -m`-}config
-echo -e '#!/bin/sh\nexec `dirname $0`/python%{LDVERSION_optimized}-`uname -m`-config "$@"' > \
-  %{buildroot}%{_bindir}/python%{LDVERSION_optimized}-config
-echo '[ $? -eq 127 ] && echo "Could not find python%{LDVERSION_optimized}-`uname -m`-config. Look around to see available arches." >&2' >> \
-  %{buildroot}%{_bindir}/python%{LDVERSION_optimized}-config
-  chmod +x %{buildroot}%{_bindir}/python%{LDVERSION_optimized}-config
+cp %{SOURCE9} %{buildroot}%{_bindir}/python%{LDVERSION_optimized}-config
+chmod +x %{buildroot}%{_bindir}/python%{LDVERSION_optimized}-config
 
 # ======================================================
 # Running the upstream test suite
@@ -1853,6 +1853,9 @@ rm -fr %{buildroot}
 # ======================================================
 
 %changelog
+* Mon Jun 30 2014 Miro Hrončok <mhroncok at redhat.com> - 3.4.1-13
+- Rewrite the config wrapper from Bash to Python, so it can be interpreted with Python
+
 * Sun Jun  8 2014 Peter Robinson <pbrobinson at fedoraproject.org> 3.4.1-12
 - aarch64 has valgrind, just list those that don't support it
 


More information about the scm-commits mailing list