diff --git a/epel-rpm-macros.spec b/epel-rpm-macros.spec index b5e9190..0ce65e9 100644 --- a/epel-rpm-macros.spec +++ b/epel-rpm-macros.spec @@ -60,6 +60,7 @@ install -Dpm 644 %{SOURCE3} \ %changelog * Tue Apr 14 2020 Miro HronĨok - 8-10 - Define %%python, but make it work only if %%__python is redefined +- Add the %%pycached macro * Fri Apr 03 2020 Troy Dawson - 8-9 - Add %qt5_qtwebengine_arches to macros diff --git a/macros.epel-rpm-macros b/macros.epel-rpm-macros index ac5376f..e7edbba 100644 --- a/macros.epel-rpm-macros +++ b/macros.epel-rpm-macros @@ -30,6 +30,21 @@ end\ } +# This only supports Python 3.5+ and will never work with Python 2. +# Hence, it has no Python version in the name. +%pycached() %{lua: + path = rpm.expand("%{?1}") + if (string.sub(path, "-3") ~= ".py") then + rpm.expand("%{error:%%pycached can only be used with paths explicitly ending with .py}") + else + print(path) + pyminor = path:match("/python3.(%d+)/") or "*" + dirname = path:match("(.*/)") + modulename = path:match(".*/([^/]+).py") + print("\\n" .. dirname .. "__pycache__/" .. modulename .. ".cpython-3" .. pyminor .. "{,.opt-?}.pyc") + end +} + # gpgverify verifies signed sources. There is documentation in the script. %gpgverify %{_rpmconfigdir}/gpgverify