Openembedded Core Discussions
 help / color / mirror / Atom feed
* [OE-core][PATCH] python: prevent build failure when pycache files missing
@ 2022-01-22 17:15 Athanasios Oikonomou
  2022-01-25 12:15 ` Richard Purdie
  0 siblings, 1 reply; 2+ messages in thread
From: Athanasios Oikonomou @ 2022-01-22 17:15 UTC (permalink / raw)
  To: openembedded-core; +Cc: Athanasios Oikonomou

Building a patched version of python3 with byte-code files saved to their legacy locations and names causes the following errors:

| rm: cannot remove '/.../build/tmp/work/x86_64-linux/python3-native/3.9.9-r0/recipe-sysroot-native/usr/lib/python3.9/test/__pycache__/test_range.cpython*': No such file or directory
| rm: cannot remove '/.../build/tmp/work/x86_64-linux/meson-native/0.57.1-r1/recipe-sysroot-native/usr/lib/python*/site-packages/mesonbuild/dependencies/__pycache__/mpi.cpython*': No such file or directory

Force remove pycache files, preventing build failure in case they are absent.

Python3 patched with legacy byte-code locations in order to create a sourceless .pyc deployment for small flash boxes. Unappropriate for upstream.

Signed-off-by: Athanasios Oikonomou <athoik@gmail.com>
---
 meta/recipes-devtools/meson/meson.inc         | 2 +-
 meta/recipes-devtools/python/python3_3.9.9.bb | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc
index e186dede92..bc8ff2bcdc 100644
--- a/meta/recipes-devtools/meson/meson.inc
+++ b/meta/recipes-devtools/meson/meson.inc
@@ -44,5 +44,5 @@ do_install_append () {
 	# Upstream is discussing ways to solve the issue properly, until then let's
 	# just not install the problematic files.
 	# More info: http://benno.id.au/blog/2013/01/15/python-determinism
-	rm ${D}${libdir}/python*/site-packages/mesonbuild/dependencies/__pycache__/mpi.cpython*
+	rm -f ${D}${libdir}/python*/site-packages/mesonbuild/dependencies/__pycache__/mpi.cpython*
 }
diff --git a/meta/recipes-devtools/python/python3_3.9.9.bb b/meta/recipes-devtools/python/python3_3.9.9.bb
index f41529833c..7d0bef06d5 100644
--- a/meta/recipes-devtools/python/python3_3.9.9.bb
+++ b/meta/recipes-devtools/python/python3_3.9.9.bb
@@ -174,8 +174,8 @@ do_install_append() {
         # Upstream is discussing ways to solve the issue properly, until then let's
         # just not install the problematic files.
         # More info: http://benno.id.au/blog/2013/01/15/python-determinism
-        rm ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_range.cpython*
-        rm ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_xml_etree.cpython*
+        rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_range.cpython*
+        rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_xml_etree.cpython*
 }
 
 do_install_append_class-nativesdk () {
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [OE-core][PATCH] python: prevent build failure when pycache files missing
  2022-01-22 17:15 [OE-core][PATCH] python: prevent build failure when pycache files missing Athanasios Oikonomou
@ 2022-01-25 12:15 ` Richard Purdie
  0 siblings, 0 replies; 2+ messages in thread
From: Richard Purdie @ 2022-01-25 12:15 UTC (permalink / raw)
  To: Athanasios Oikonomou, openembedded-core

On Sat, 2022-01-22 at 19:15 +0200, Athanasios Oikonomou wrote:
> Building a patched version of python3 with byte-code files saved to their
> legacy locations and names causes the following errors:
> 
> > rm: cannot remove '/.../build/tmp/work/x86_64-linux/python3-native/3.9.9-
> > r0/recipe-sysroot-
> > native/usr/lib/python3.9/test/__pycache__/test_range.cpython*': No such file
> > or directory
> > rm: cannot remove '/.../build/tmp/work/x86_64-linux/meson-native/0.57.1-
> > r1/recipe-sysroot-native/usr/lib/python*/site-
> > packages/mesonbuild/dependencies/__pycache__/mpi.cpython*': No such file or
> > directory
> 
> Force remove pycache files, preventing build failure in case they are absent.
> 
> Python3 patched with legacy byte-code locations in order to create a
> sourceless .pyc deployment for small flash boxes. Unappropriate for upstream.

Do people commonly patch python to build with legacy byte-code locations? If you
do that aren't files generated at a different location and hence break
reproduciblity? This seems to be a rather niche requirement?

I'm a little worried we add the -f and then if files change location, we don't
realise...

Cheers,

Richard




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-01-25 12:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-22 17:15 [OE-core][PATCH] python: prevent build failure when pycache files missing Athanasios Oikonomou
2022-01-25 12:15 ` Richard Purdie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox