From e5f4159f8f90b5b2836af3af921a9d80c7df1b86 Mon Sep 17 00:00:00 2001 From: Miro Hrončok Date: Mar 15 2018 22:10:56 +0000 Subject: Fix the py_byte_compile macro to work on Python 2 See https://bugzilla.redhat.com/show_bug.cgi?id=1484993 Inspired by Terje Røsten's workaround from that bugzilla --- diff --git a/macros.pybytecompile3.6 b/macros.pybytecompile3.6 index 3968c6e..f319979 100644 --- a/macros.pybytecompile3.6 +++ b/macros.pybytecompile3.6 @@ -3,8 +3,23 @@ # Python's compile_all module only works on directories, and requires a max # recursion depth +# Note that the py_byte_compile macro should work for python2 as well +# Which unfortunately makes the definition more complicated than it should be +# The condition should be reversed once /usr/bin/python is python3! + %py_byte_compile()\ -python_binary="%1"\ -bytecode_compilation_path="%2"\ -find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2], optimize=opt) for opt in range(2) for f in sys.argv[1:]]' || :\ +py2_byte_compile () {\ + python_binary="%1"\ + bytecode_compilation_path="%2"\ + find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || :\ + find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || :\ +}\ +\ +py3_byte_compile () {\ + python_binary="%1"\ + bytecode_compilation_path="%2"\ + find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2], optimize=opt) for opt in range(2) for f in sys.argv[1:]]' || :\ +}\ +\ +[[ "%1" == *python3* ]] || py2_byte_compile "%1" "%2" && py3_byte_compile "%1" "%2" \ %{nil} diff --git a/python3.spec b/python3.spec index b649cd9..a81494f 100644 --- a/python3.spec +++ b/python3.spec @@ -14,7 +14,7 @@ URL: https://www.python.org/ # WARNING When rebasing to a new Python version, # remember to update the python3-docs package as well Version: %{pybasever}.4 -Release: 17%{?dist} +Release: 18%{?dist} License: Python @@ -1513,6 +1513,11 @@ CheckPython optimized # ====================================================== %changelog +* Thu Mar 15 2018 Miro Hrončok - 3.6.4-18 +- Fix the py_byte_compile macro to work on Python 2 +- Remove the pybytecompile macro file from the flat package +Resolves: rhbz#1484993 + * Tue Mar 13 2018 Charalampos Stratakis - 3.6.4-17 - Do not send IP addresses in SNI TLS extension