On 2020-12-28, Nick Black wrote:
> Hey there Reproducible Builds team!
>
> I'd like to make my package "notcurses" reproducible. First off,
> I love the interface at
> https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/notcurses.html,
> the clearest output I've seen yet from diffoscope(?).
>
> All my differences seem to be due to small changes in dynamic
> symbol sizes. See for example data.tar.xz's 'readelf --wide
> --dynamic {}' output:
>
> 18  ·0x000000000000000a·(STRSZ)··············3446·(bytes)
> 18  ·0x000000000000000a·(STRSZ)··············3450·(bytes)
>
> What might be causing these symbol sizes to change?

Since it seems to historically consistently build reproducibly in
bullseye, my first guess would be that it is build path related; build
paths are not tested in our infrastructure on bullseye.

In unstable and experimental we do test build paths, but also pass
DEB_BUILD_OPTIONS=reproducible=+fixfilepath, which passes the
-ffile-prefix-map=BUILDPATH=. argument, stripping the build path, but
sometimes leaves traces; the length of the build path is different
(e.g. /1/2/3 vs. /1/2/3/4), so it leaves a different amount of
padded/empty space.


Does notcurses use __FILE__ macros anywhere (either directly in the
source code, or indirectly via some other build system)? Something along
those lines would be needed to completely fix the issue.


> I also have some _NT_GNU_BUILD_ID changes, but I think I can
> handle those myself. Thanks!

The build id will most likely be a result of any differences, such as
those above.


Thanks for asking about reproducible builds in notcurses!


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to