Subject: Re: make dist using git archive

From: Peter Eisentraut <[email-masked]>
Date: Tue, 13 Feb 2024 07:53:57 +0100

On 12.02.24 18:26, Tristan Partin wrote:
> On Sun Feb 11, 2024 at 5:09 PM CST, Peter Eisentraut wrote:
>> Small update: I noticed that on Windows (at least the one that is 
>> running the CI job), I need to use git -c core.autocrlf=false, 
>> otherwise git archive does line-ending conversion for the files it 
>> puts into the archive.  With this fix, all the archives produced by 
>> all the CI jobs across the different platforms match, except the 
>> .tar.gz archive from the Linux job, which I suspect suffers from an 
>> old git version.  We should get the Linux images updated to a newer 
>> Debian version soon anyway, so I think that issue will go away.
> 
> I think with this change, it is unlikely I will be able to upstream 
> anything to Meson that would benefit Postgres here since setting this 
> option seems project dependent.

Meson is vulnerable to the same problem: If the person who makes the 
release had some crlf-related git setting activated in their 
environment, then that would affect the tarball.  And such a tarball 
would be genuinely broken for non-Windows users, because at least some 
parts of Unix systems can't process such CRLF files correctly.

(This is easy to test: Run meson dist with core.autocrlf=true on the 
postgresql tree on a non-Windows system.  It will fail during dist check.)