Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:bmwiedemann:reproducible
python-rpm-macros
151.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 151.patch of Package python-rpm-macros
From 7148831191574b86763aebc6215325038a983457 Mon Sep 17 00:00:00 2001 From: Ben Greiner <code@bnavigator.de> Date: Sat, 28 Jan 2023 11:18:20 +0100 Subject: [PATCH 1/2] Strip buildroot from pyc files: Use py_compile instead of compileall deduplicate code: make %{python_compileall} call new %{$python_compile} --- flavor.in | 7 +++++-- macros.lua | 7 +++++++ macros/010-common-defs | 13 ------------- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/flavor.in b/flavor.in index ab51047..ecae95d 100644 --- a/flavor.in +++ b/flavor.in @@ -81,11 +81,14 @@ if [ $havereq -eq 0 ]; then \ done \ fi \ %__#FLAVOR# -mpip install %{pyproject_install_args} $myargs \ +%#FLAVOR#_compile + +%#FLAVOR#_compile \ for d in %{buildroot}%{#FLAVOR#_sitelib} %{buildroot}%{#FLAVOR#_sitearch}; do \ if [ -d $d ]; then \ find $d -name '*.pyc' -delete \ - %__#FLAVOR# -m compileall $d \ - %__#FLAVOR# -O -m compileall $d \ + find $d -iname '*.py' -exec %__#FLAVOR# -c \\\ + 'import py_compile; f="{}"; [py_compile.compile(f, dfile=f[len("%{buildroot}"):], optimize=o) for o in [0, 1]]' ';' \ fi \ done diff --git a/macros.lua b/macros.lua index 486a227..9c8f54d 100644 --- a/macros.lua +++ b/macros.lua @@ -460,6 +460,13 @@ function pyproject_install(+abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ end end +function python_compileall() + rpm.expand("%_python_macro_init") + for _, python in ipairs(pythons) do + print(rpm.expand("%" .. python .. "_compile")) + end +end + function python_files() rpm.expand("%_python_macro_init") local nparams = rpm.expand("%#") diff --git a/macros/010-common-defs b/macros/010-common-defs index 8d83ee5..72da64b 100644 --- a/macros/010-common-defs +++ b/macros/010-common-defs @@ -170,19 +170,6 @@ print(rpm.expand(intro .. args .. "}")) \ } -##### Precompile scripts macro ##### - -%python_compileall \ -%{python_expand for d in %{buildroot}%{$python_sitelib} %{buildroot}%{$python_sitearch}; do \ - if [ -d $d ]; then \ - find $d -name '*.pyc' -delete; \ - $python -m compileall $d; \ - $python -O -m compileall $d; \ - fi; \ -done \ -} \ -%{nil} - ##### Find language files ##### %python_find_lang() \ From e7bd1050b89fe1484a6e4ac7adc42bb67384d675 Mon Sep 17 00:00:00 2001 From: Ben Greiner <code@bnavigator.de> Date: Sat, 28 Jan 2023 16:57:08 +0100 Subject: [PATCH 2/2] python_compile: Add output message --- flavor.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flavor.in b/flavor.in index ecae95d..a9a43f6 100644 --- a/flavor.in +++ b/flavor.in @@ -86,8 +86,8 @@ fi \ %#FLAVOR#_compile \ for d in %{buildroot}%{#FLAVOR#_sitelib} %{buildroot}%{#FLAVOR#_sitearch}; do \ if [ -d $d ]; then \ - find $d -name '*.pyc' -delete \ - find $d -iname '*.py' -exec %__#FLAVOR# -c \\\ + find $d -iname '*.pyc' -delete \ + find $d -iname '*.py' -printf 'Generating cached byte-code for %%P\\n' -exec %__#FLAVOR# -c \\\ 'import py_compile; f="{}"; [py_compile.compile(f, dfile=f[len("%{buildroot}"):], optimize=o) for o in [0, 1]]' ';' \ fi \ done
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor