Re: make dist using git archive

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Tristan Partin <tristan@neon.tech>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2024-02-13T06:53:57Z
Lists: pgsql-hackers
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.)




Commits

  1. make dist uses git archive

  2. ci: freebsd repartition script didn't copy .git directory