Subject: pgBackRest 2.52 - New upstream version

From: Bradford Boyle <[email-masked]>
Date: Sun, 26 May 2024 22:03:25 -0700

Hi All,

I've pushed a commit [1] updating the package version pgbackrest to 2.52
to salsa.debian.org. The GitLab CI is green and the package is ready for
review and upload.

--Bradford

[1]: https://salsa.debian.org/postgresql/pgbackrest/-/commit/4bed3fd233fae4bd09487d559b9251786b3260c4

---

From: Bradford Boyle <[email-masked]>
Date: Mon, 3 Jun 2024 12:52:50 -0700

Hi All,

Just following up to see if there are any blockers to having pgbackrest
uploaded.

--Bradford

---

From: Christoph Berg <[email-masked]>
Date: Mon, 3 Jun 2024 22:38:24 +0200

Re: Bradford Boyle
> Just following up to see if there are any blockers to having pgbackrest

Hi Bradford,

mostly me hiking in the woods for the last days...

But unfortunately, bullseye and focal are not happy:

../meson.build:117:0: ERROR: <ExternalProgram 'python3' -> ['/usr/bin/python3']> is not a valid python or it is missing setuptools

(Interestingly, buster is happy with the meson+python3 combination)

Christoph

---

From: Bradford Boyle <[email-masked]>
Date: Mon, 3 Jun 2024 13:41:48 -0700

Hi Christoph,

> (Interestingly, buster is happy with the meson+python3 combination)

I will take a look at this later today and see if I can identify and
push a fix.

Thanks,
--Bradford

---

From: David Steele <[email-masked]>
Date: Tue, 4 Jun 2024 08:33:29 +1000

> I will take a look at this later today and see if I can identify and

This is actually a bug/typo in older versions of meson. What is actually 
required (in some cases) is python3-distutils. See 
https://github.com/pgbackrest/pgbackrest/commit/e00e33b52. The purpose 
of this commit is to not hardcode the python bin.

However, this requirement is only for certain older (but not too old) 
versions of Debian/Ubuntu. Ubuntu 24.04, for instance, does not have 
this package and works fine without it. Of the Ubuntu versions only 
focal seems to require it. The only Debian version we currently have in 
CI, stretch, does not require it.

It's a bit of a mess, but looks like we need to install 
python3-distutils just for bullseye and focal as a build dependency. Is 
that possible?

Regards,
-David

---

From: Bradford Boyle <[email-masked]>
Date: Mon, 3 Jun 2024 20:36:17 -0700

Hi David and Christoph,

> required (in some cases) is python3-distutils.

I found [this issue][1] on GitHub repo for meson which indicates that
meson 0.48.0 added a dependency on python's setuptools module. This
issue is quite old but it was referenced by a [newer pull request][2]
that seems to indicate that at some point meson depended on python's
distutils module. This PR was referenced by an even [newer PR][3] that
seems to indicate that meson moved away from using the distutils module.
This is probably why this is only an issue in bullseye or focal and not
older or newer dists.

> python3-distutils just for bullseye and focal as a build dependency. Is

Adding python3-distutils for just bullseye and focal should be doable. I
believe the scripts used to build the packages for the PGDG apt repo has
an existing pattern for tweaking the package. Attached is a patch that
should add python3-distutils to pgbackrest's list of build dependencies
only on bullseye or focal.

--Bradford

[1]: https://github.com/mesonbuild/meson/issues/4267
[2]: https://github.com/mesonbuild/meson/pull/9288
[3]: https://github.com/mesonbuild/meson/pull/11133

---

From: Christoph Berg <[email-masked]>
Date: Tue, 4 Jun 2024 11:43:41 +0200

Re: Bradford Boyle
> > python3-distutils just for bullseye and focal as a build dependency. Is

We should keep it simple and add it unconditionally. python3-distutils
is needed on python < 3.10, so I used this:

    python3 (>= 3.10) | python3-distutils

Christoph

---

From: David Steele <[email-masked]>
Date: Wed, 5 Jun 2024 10:55:43 +1000

>      python3 (>= 3.10) | python3-distutils

This seems reasonable, though I do wish there was a meson-specific way 
to fix this. I guess their answer would be to upgrade.

Regards,
-David