public inbox for [email protected]  
help / color / mirror / Atom feed
From: Tristan Partin <[email protected]>
To: Peter Eisentraut <[email protected]>
Cc: pgsql-hackers <[email protected]>
Subject: Re: make dist using git archive
Date: Fri, 22 Mar 2024 12:29:21 -0500
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>

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)






view thread (6+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: make dist using git archive
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox