Re: [OE-core] [PATCH 04/11] ruby: fix reproducibility

Khem Raj
2020-12-03T19:16:20Z

On Thu, Dec 3, 2020 at 5:37 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
> ...e.in-do-not-write-host-cross-cc-item.patch | 32 +++++++++++++++++++
> meta/recipes-devtools/ruby/ruby_2.7.2.bb | 1 +
> 2 files changed, 33 insertions(+)
> create mode 100644 meta/recipes-devtools/ruby/ruby/0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch
>
> diff --git a/meta/recipes-devtools/ruby/ruby/0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch b/meta/recipes-devtools/ruby/ruby/0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch
> new file mode 100644
> index 0000000000..826daf2cda
> --- /dev/null
> +++ b/meta/recipes-devtools/ruby/ruby/0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch
> @@ -0,0 +1,32 @@
> +From 2368d07660a93a2c41d63f3ab6054ca4daeef820 Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin@gmail.com>
> +Date: Tue, 17 Nov 2020 18:31:40 +0000
> +Subject: [PATCH] template/Makefile.in: do not write host cross-cc items into
> + target config
> +
> +This helps reproducibility.
> +
> +Upstream-Status: Inapproppriate [oe-core specific]
> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> +---
> + template/Makefile.in | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/template/Makefile.in b/template/Makefile.in
> +index 10dc826..940ee07 100644
> +--- a/template/Makefile.in
> ++++ b/template/Makefile.in
> +@@ -657,11 +657,11 @@ mjit_config.h:
> + echo '#endif'; \
> + quote MJIT_MIN_HEADER_NAME "$(MJIT_MIN_HEADER_NAME)"; \
> + sep=,; \
> +- quote "MJIT_CC_COMMON " $(MJIT_CC); \
> ++ quote "MJIT_CC_COMMON " ; \

where is this template used ? is it used on target ? is it possible to
just all bare compiler name then since it will still work on target
although not as important as if it was needed during cross builds.

> + quote "MJIT_CFLAGS MJIT_ARCHFLAG" $(MJIT_CFLAGS); \
> + quote "MJIT_OPTFLAGS " $(MJIT_OPTFLAGS); \
> + quote "MJIT_DEBUGFLAGS " $(MJIT_DEBUGFLAGS); \
> +- quote "MJIT_LDSHARED " $(MJIT_LDSHARED); \
> ++ quote "MJIT_LDSHARED " ; \
> + quote "MJIT_DLDFLAGS MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \
> + quote "MJIT_LIBS " $(LIBRUBYARG_SHARED); \
> + quote 'PRELOADENV "@PRELOADENV@"'; \
> diff --git a/meta/recipes-devtools/ruby/ruby_2.7.2.bb b/meta/recipes-devtools/ruby/ruby_2.7.2.bb
> index 055ea9343f..db6d672985 100644
> --- a/meta/recipes-devtools/ruby/ruby_2.7.2.bb
> +++ b/meta/recipes-devtools/ruby/ruby_2.7.2.bb
> @@ -6,6 +6,7 @@ SRC_URI += " \
> file://remove_has_include_macros.patch \
> file://run-ptest \
> file://0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch \
> + file://0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch \
> "
>
> SRC_URI[md5sum] = "2d4a28dcfa38352a627a597f6057c465"
> --
> 2.29.2
>
>
>
>