Re: make dist using git archive

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Junwang Zhao <zhjwpku@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2024-01-22T18:35:56Z
Lists: pgsql-hackers
On 22.01.24 13:10, Junwang Zhao wrote:
> I played this with meson build on macOS, the packages are generated
> in source root but not build root, I'm sure if this is by design but I think
> polluting *working directory* is not good.

Yes, it's not good, but I couldn't find a way to make it work.

This is part of the complications with meson I referred to.  The 
@BUILD_ROOT@ placeholder in custom_target() is apparently always a 
relative path, but it doesn't know that git -C changes the current 
directory.

> Another thing I'd like to point out is, should we also introduce *git commit*
> or maybe *git tag* to package name, something like:
> 
> git archive --format tar.gz --prefix postgresql-17devel/ HEAD -o
> postgresql-17devel-`git rev-parse --short HEAD`.tar.gz
> git archive --format tar.gz --prefix postgresql-17devel/ HEAD -o
> postgresql-`git describe --tags`.tar.gz

I'm not sure why we would need it built-in.  It can be done by hand, of 
course.




Commits

  1. make dist uses git archive

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