Thanks Jacob. When looking at this patchset I kept asking myself, why is
this or that change necessary for -native but not for -target. I think it
would help if you include that information in the commits, particularly, in
1/9 as it is the most invasive change of all. Maybe we can then figure out
a better way.

Alex

On Sun, 28 Nov 2021 at 10:46, Jacob Kroon <jacob.kr...@gmail.com> wrote:

> This patch series is not intended for merge. I only send it out to
> highlight where the problems are and to get some discussion going on
> how/if we want to improve the sitation.
>
> This is a patch series that tries to improve the reproducibility of the
> native/cross binaries when building in different directories. This has
> been tested on a Fedora 35 system which uses gcc 11.2.1 at the time of
> writing.
>
> The RUNTIME hack is questionable, maybe there is a better way to enforce
> a fixed RUNTIME entry size during linking. It probably breaks for
> recipes that do additional rpath manipulations at link-time.
>
> If in the end we do come up with a solution, then it should be tested on
> the autobuilders, since otherwise this is going to degrade overtime. It
> would then be important that the build paths are of significantly different
> lengths. TMPDIR=/tmp/sysrootA/ and TMPDIR=/tmp/sysrootB/ will *not*
> uncover all
> rpath problems.
>
> The end result of this patch series is that I can build python3-native
> in two different build paths, and the resuling sysroot-components/x86_64/
> directories are identical, except for the 'fixmepath.cmd' files, which
> are not included in the hash equiv calculations. Even so, there remains a
> lot of
> other native builds that are going to need to be fixed in similar ways
> as the ones in this patch series.
>
> For my images to build I had to avoid the rpath-hack for icedtea7-native
> and openjdk-8-native.
>
> /Jacob
>
> Jacob Kroon (9):
>   bitbake.conf: Pad rpath and remove build ID in native binaries
>   libtool: Improve native reproducibility
>   openssl: Improve native reproducibility
>   perl/perlcross: Improve native reproducability
>   pkgconfig: Improve native reproducibility
>   ncurses: Improve native reproducibility
>   util-linux: Improve native reproducibility
>   python3: Improve native reproducibility
>   bitbake.conf: Avoid rpath hack for Java recipes
>
>  meta/classes/chrpath.bbclass                  |  3 +
>  meta/conf/bitbake.conf                        |  8 +-
>  ...sysroot-and-debug-prefix-map-from-co.patch | 78 -------------------
>  .../openssl/openssl/strip-buildinfo.patch     | 13 ++++
>  .../openssl/openssl_3.0.0.bb                  | 10 +--
>  meta/recipes-core/ncurses/ncurses.inc         |  4 +
>  .../util-linux/util-linux_2.37.2.bb           |  2 +-
>  .../libtool/libtool-native_2.4.6.bb           |  1 +
>  ...ism.patch => perl-cross-determinism.patch} |  0
>  .../perl-cross/perlcross_1.3.6.bb             |  4 +-
>  meta/recipes-devtools/perl/perl_5.34.0.bb     |  5 ++
>  .../pkgconfig/pkgconfig_git.bb                |  1 +
>  .../python/python3/determinism.patch          | 15 ++++
>  .../recipes-devtools/python/python3_3.10.0.bb |  8 ++
>  14 files changed, 65 insertions(+), 87 deletions(-)
>  delete mode 100644
> meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
>  create mode 100644
> meta/recipes-connectivity/openssl/openssl/strip-buildinfo.patch
>  rename meta/recipes-devtools/perl-cross/files/{determinism.patch =>
> perl-cross-determinism.patch} (100%)
>  create mode 100644 meta/recipes-devtools/python/python3/determinism.patch
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#158933): 
https://lists.openembedded.org/g/openembedded-core/message/158933
Mute This Topic: https://lists.openembedded.org/mt/87352786/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to