[Pkg-postgresql-public] Bug#795984: Bug#795984: postgresql-plproxy: please make the build reproducible

Peter Eisentraut petere at debian.org
Fri Aug 28 02:28:09 UTC 2015


On 8/23/15 2:48 PM, Jérémy Bobbio wrote:
> Hi Peter,
> 
> Peter Eisentraut:
>> On 8/18/15 9:15 AM, Dhole wrote:
>>> The attached patch sets the timezone to UTC before calling asciidoc to
>>> avoid timezone differences in the generated docs. Once applied,
>>> postgresql-plproxy can be built reproducibly in our current experimental
>>> framework.
>>
>> Stupid question: Couldn't dpkg-buildpackage set the time zone?
> 
> This is a legitimate question. :)
> 
> `dpkg-buildpackage` is not mandatory to build Debian package. It would
> be confusing to developers if `fakeroot debian/rules binary` would
> create different packages than `dpkg-buildpackage.`

Well, nothing is mandatory for building a Debian package, since you can
just assemble the archives manually.  But you could say, if you want a
reproducible build, you need to use dpkg-buildpackage.

I feel the environment variable issue in particular could use a
centralized solution, instead of patching each package individually.
You guys have identified a few environment variables that are common
culprits, such as local and time zone, because those are very often set
by users.  But that doesn't address that infinite number of other
environment variables that users could set.  Nothing technically
prevents a package from being built with LD_PRELOAD set or a nonstandard
JAVA_HOME, for example.

> The other thing is that it might break some packages or test suites in
> subtle ways. Overriding the timezone in a local manner avoids any
> surprises.

The problem here in particular is that I don't know whether setting the
time zone in this way is portable to non-Linux, non-GNU systems.  So a
patch like this might not be acceptable upstream.



More information about the Pkg-postgresql-public mailing list