Define and use %{_py3_shebang_s} in the shebang macros for easier opt-out
This is in-line with https://fedoraproject.org/wiki/Changes/PythonSafePath#Opting_out Backported from https://src.fedoraproject.org/rpms/python-rpm-macros/pull-request/141
This commit is contained in:
parent
bb20c6908e
commit
d83a32823c
|
@ -12,7 +12,8 @@
|
|||
%python_cache_tag %(RPM_BUILD_ROOT= %{__python} -Esc "import sys; print(sys.implementation.cache_tag)")
|
||||
|
||||
%py_setup setup.py
|
||||
%py_shbang_opts -s
|
||||
%_py_shebang_s s
|
||||
%py_shbang_opts -%{?_py_shebang_s}
|
||||
%py_shbang_opts_nodash %(opts=%{py_shbang_opts}; echo ${opts#-})
|
||||
%py_shebang_flags %(opts=%{py_shbang_opts}; echo ${opts#-})
|
||||
%py_shebang_fix %{expand:\\\
|
||||
|
|
|
@ -10,7 +10,8 @@
|
|||
%python3_cache_tag %(RPM_BUILD_ROOT= %{__python3} -Ic "import sys; print(sys.implementation.cache_tag)")
|
||||
%py3dir %{_builddir}/python3-%{name}-%{version}-%{release}
|
||||
|
||||
%py3_shbang_opts -s
|
||||
%_py3_shebang_s s
|
||||
%py3_shbang_opts -%{?_py3_shebang_s}
|
||||
%py3_shbang_opts_nodash %(opts=%{py3_shbang_opts}; echo ${opts#-})
|
||||
%py3_shebang_flags %(opts=%{py3_shbang_opts}; echo ${opts#-})
|
||||
%py3_shebang_fix %{expand:\\\
|
||||
|
|
|
@ -148,6 +148,7 @@ install -m 755 brp-* %{buildroot}%{_rpmconfigdir}/redhat/
|
|||
%changelog
|
||||
* Tue Jul 19 2022 Miro Hrončok <mhroncok@redhat.com> - 3.10-12
|
||||
- Define %%python3_cache_tag / %%python_cache_tag, e.g. cpython-311
|
||||
- Define and use %%{_py3_shebang_s} in the shebang macros for easier opt-out
|
||||
|
||||
* Mon Feb 07 2022 Miro Hrončok <mhroncok@redhat.com> - 3.10-11
|
||||
- Set $RPM_BUILD_ROOT in %%{python3_...} macros
|
||||
|
|
|
@ -334,6 +334,13 @@ def test_py3_shebang_fix_custom_shebang_flags():
|
|||
assert shell_stdout('\n'.join(lines)) == '-kaEs'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('_py3_shebang_s', [None, '%{nil}'])
|
||||
def test_py3_shebang_fix_undefined_py3_shebang_s(_py3_shebang_s):
|
||||
lines = rpm_eval('%py3_shebang_fix arg1 arg2', _py3_shebang_s=_py3_shebang_s)
|
||||
lines[-1] = 'echo $shebang_flags'
|
||||
assert shell_stdout('\n'.join(lines)) == '-k'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('flags', [None, '%{nil}'])
|
||||
def test_py3_shebang_fix_no_shebang_flags(flags):
|
||||
lines = rpm_eval('%py3_shebang_fix arg1 arg2', py3_shebang_flags=flags)
|
||||
|
|
Loading…
Reference in New Issue