Re: make dist using git archive - Mailing list pgsql-hackers

From Tristan Partin
Subject Re: make dist using git archive
Date
Msg-id D00GG8ZIB0HM.2GA5QIFR7ACE5@neon.tech
Whole thread Raw
In response to Re: make dist using git archive  (Peter Eisentraut <peter@eisentraut.org>)
Responses Re: make dist using git archive
List pgsql-hackers
On Thu Mar 21, 2024 at 3:44 AM CDT, Peter Eisentraut wrote:
> Here is an updated version of this patch set.

You should add 'disabler: true' to the git find_program in Meson. If Git
doesn't exist on the system with the way your patch is currently
written, the targets would be defined, even though they would never
succeed.

You may also want to make sure that we are actually in a Git repository.
I don't think git-archive works outside one.

Re the autoclrf, is this something we could throw in a .gitattributes
files?

> I have removed the "dirty check" stuff.  It didn't really work well/was
> buggy under meson, and it failed mysteriously on the Linux CI tasks.  So
> let's just drop that functionality for now.
>
> I have also added a more complete commit message and some more code
> comments.

> Meson has its own distribution building command (meson dist), but we
> are not using that at this point.  The main problem is that the way
> they have implemented it, it is not deterministic in the above sense.
> Also, we want a "make" version for the time being.  But the target
> name "dist" in meson is reserved for that reason, so we call the
> custom target "pgdist" (so call something like "meson compile -C build
> pgdist").

I would suggest poisoning `meson dist` in the following way:

if not meson.is_subproject()
    # Maybe edit the comment...Maybe tell perl to print this message
    # instead and then exit non-zero?
    #
    # Meson has its own distribution building command (meson dist), but we
    # are not using that at this point.  The main problem is that the way
    # they have implemented it, it is not deterministic in the above sense.
    # Also, we want a "make" version for the time being.  But the target
    # name "dist" in meson is reserved for that reason, so we call the
    # custom target "pgdist" (so call something like "meson compile -C build
    # pgdist").
    #
    # We don't poison the dist if we are a subproject because it is
    # possible that the parent project may want to create a dist using
    # the builtin Meson method.
    meson.add_dist_script(perl, '-e', 'exit 1')
endif

> I have extracted the freebsd CI script fix into a separate patch (0002).
>   I think this is useful even if we don't take the full CI patch (0003).

0002 looks pretty reasonable to me.

> About the 0003 patch: It seems useful in principle to test these things
> continuously.  The dist script runs about 10 seconds in each task, and
> takes a bit of disk space for the artifacts.  I'm not sure to what
> degree this might bother someone.

0003 works for me :).

--
Tristan Partin
Neon (https://neon.tech)



pgsql-hackers by date:

Previous
From: Robert Treat
Date:
Subject: Re: DOCS: add helpful partitioning links
Next
From: Robert Haas
Date:
Subject: Re: Simplify documentation related to Windows builds