Re: Building pg_xlogdump reproducibly - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Building pg_xlogdump reproducibly
Date
Msg-id 20160104155125.GD28025@awork2.anarazel.de
Whole thread Raw
In response to Building pg_xlogdump reproducibly  (Christoph Berg <christoph.berg@credativ.de>)
Responses Re: Building pg_xlogdump reproducibly  (David Fetter <david@fetter.org>)
Re: Building pg_xlogdump reproducibly  (Christoph Berg <christoph.berg@credativ.de>)
List pgsql-hackers
Hi,

On 2016-01-04 15:59:46 +0100, Christoph Berg wrote:
> The list of objects used to link pg_xlogdump is coming from
> $(wildcard *desc.c) which returns them in filesystem order. This makes
> the build result depend on this ordering, yielding different
> compilation results.

> -RMGRDESCSOURCES = $(notdir $(wildcard $(top_srcdir)/src/backend/access/rmgrdesc/*desc.c))
> +RMGRDESCSOURCES = $(sort $(notdir $(wildcard $(top_srcdir)/src/backend/access/rmgrdesc/*desc.c)))
>  RMGRDESCOBJS = $(patsubst %.c,%.o,$(RMGRDESCSOURCES))

That's probably not the only non-deterministic rule in postgres, given
nobody paid attention tot that so far? At least transform modules added
in 9.5 (hstore_plpython et al) look like they might similar issues.

Wonder if we should instead define a wildcard wrapper in
Makefile.global.in that does the sorting, including an explanation?

Andres



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: custom function for converting human readable sizes to bytes
Next
From: Robert Haas
Date:
Subject: Re: Some 9.5beta2 backend processes not terminating properly?