HEX
Server: nginx/1.22.0
System: Linux iZuf6jdxbygmf6cco977lcZ 5.10.84-10.4.al8.x86_64 #1 SMP Tue Apr 12 12:31:07 CST 2022 x86_64
User: root (0)
PHP: 7.4.29
Disabled: passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen
Upload Files
File: //lib/rpm/macros.d/macros.pybytecompile
# Note that the path could itself be a python file, or a directory

# Python's compile_all module only works on directories, and requires a max
# recursion depth

# Usage:
#    %py_byte_compile <interpereter> <path>
# Example:
#    %py_byte_compile %{__python3} %{buildroot}%{_datadir}/spam/plugins/

# This will terminate build on SyntaxErrors, if you want to avoid that,
# use it in a subshell like this:
#    (%{py_byte_compile <interpereter> <path>}) || :

%py_byte_compile()\
python_binary="%1"\
buildroot_path="%2"\
bytecode_compilation_path=".${buildroot_path/#$RPM_BUILD_ROOT}"\
failure=0\
pushd $RPM_BUILD_ROOT\
find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -O -m py_compile || failure=1\
find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -m py_compile || failure=1\
popd\
test $failure -eq 0