tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Building pkgsrc packages reproducibly



		Hi maya, tech-pkg@, (Thomas)

On 12/11/2017 12:49, maya%netbsd.org@localhost wrote:
> On Sun, Nov 12, 2017 at 09:47:30AM +0100, Thomas Klausner wrote:
>> Is ar(1) in /usr/bin on all systems supported by pkgsrc?
> 
> We have TOOLS_PATH.ar already set for some platforms, so it's a sensible
> option.

TOOLS_PATH.ar is the variable that I use to override the default ar(1),
so even though it would be nicer, I cannot use it at the moment :/

Also, from what I can tell, TOOLS_PATH.ar is only set when
cross-compiling at the moment (on FreeMiNT, QNX and NetBSD). So this
aspect of PKGSRC_MKREPRO and cross-compilation are currently
incompatible together.

A possible solution to make it all work together would be to move the
cross-compilation logic for ar(1) in a common shell wrapper with
PKGSRC_MKREPRO. I do not find it very elegant though.

Therefore for the moment I have opted for setting $PATH to $_PATH_ORIG
in the wrapper, thus looking for ar(1) there, as performed without
PKGSRC_MKREPRO.

>> Do we need a minimum version of ar(1) to support "D"?
> 
> 2.20
> 
> [binutils/ChangeLog]
> 2009-03-11  Chris Demetriou  <cgd%google.com@localhost>
> 
> 	* ar.c (deterministic): New global variable.
> 	(main): Recognize new 'D' option, which enables 'deterministic mode'.
> 	(usage): Document new 'D' option.
> 	(write_archive): Set BFD_DETERMINISTIC_OUTPUT in output archive's
> 	flags if deterministic mode was requested.
> 	* doc/binutils.texi (ar): Document deterministic mode ('D' option).

Good catch :)

We can consider forcing a recent binutils and GCC when building
reproducibly. For the time being it will fail to build when
PKGSRC_MKREPRO is explicitly set and this option to ar(1) is not
supported; I believe this is the best possible behaviour in this context.

Cheers,
-- 
khorben

Attachment: signature.asc
Description: OpenPGP digital signature



Home | Main Index | Thread Index | Old Index