Subject: Broken deps on PostgreSQL 14.13 package update

From: Allen Hewes <[email-masked]>
Date: Thu, 8 Aug 2024 15:53:05 +0000

Hi!

It appears there's a package dep issue with the recent PostgreSQL 14.13
packing update. Not sure on where to get
"perl(PostgreSQL::Test::Utils)" from...

Dependencies resolved.

 Problem 1: cannot install the best update candidate for package
postgresql14-devel-14.12-1PGDG.f39.x86_64
  - nothing provides perl(PostgreSQL::Test::Utils) needed by
postgresql14-devel-14.13-1PGDG.f39.x86_64 from pgdg14
 Problem 2: problem with installed package postgresql14-devel-14.12-
1PGDG.f39.x86_64
  - package postgresql14-devel-14.12-1PGDG.f39.x86_64 from @System
requires postgresql14(x86-64) = 14.12-1PGDG.f39, but none of the
providers can be installed
  - package postgresql14-devel-14.12-1PGDG.f39.x86_64 from pgdg14
requires postgresql14(x86-64) = 14.12-1PGDG.f39, but none of the
providers can be installed
  - cannot install both postgresql14-14.13-1PGDG.f39.x86_64 from pgdg14
and postgresql14-14.12-1PGDG.f39.x86_64 from @System
  - cannot install both postgresql14-14.13-1PGDG.f39.x86_64 from pgdg14
and postgresql14-14.12-1PGDG.f39.x86_64 from pgdg14
  - cannot install the best update candidate for package postgresql14-
14.12-1PGDG.f39.x86_64
  - nothing provides perl(PostgreSQL::Test::Utils) needed by
postgresql14-devel-14.13-1PGDG.f39.x86_64 from pgdg14
=======================================================================
=============================================================
 Package                               Architecture
Version                            Repository                 Size
=======================================================================
=============================================================
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
 postgresql14                          x86_64                    14.13-
1PGDG.f39                    pgdg14                    1.5 M
Skipping packages with broken dependencies:
 postgresql14-devel                    x86_64                    14.13-
1PGDG.f39                    pgdg14                    5.1 M

Transaction Summary
=======================================================================
=============================================================
Skip  2 Packages

Nothing to do.
Complete!

/allen

________________________________

Disclaimer Confidentiality Notice: This e-mail, and any attachments and/or documents linked to this email, are intended for the addressee and may contain information that is privileged, confidential, proprietary, or otherwise protected by law. Any dissemination, distribution, or copying is prohibited. This notice serves as a confidentiality marking for the purpose of any confidentiality or nondisclosure agreement. If you have received this communication in error, please contact the original sender.

---

From: Devrim Gündüz <[email-masked]>
Date: Fri, 09 Aug 2024 00:14:02 +0300

Hi,

On Thu, 2024-08-08 at 15:53 +0000, Allen Hewes wrote:
> It appears there's a package dep issue with the recent PostgreSQL
> 14.13 packing update. Not sure on where to get

It took me some time to be able to reproduce it... Works on all of my
instances but fails on a new installation when I disabled PG 15 and PG
16 repos.

John: Do I need to apply the patch that Noah wrote?

Regards,

-- 
Devrim Gündüz
Open Source Solution Architect, PostgreSQL Major Contributor
Twitter: @DevrimGunduz , @DevrimGunduzTR

---

From: Allen Hewes <[email-masked]>
Date: Thu, 8 Aug 2024 21:20:10 +0000

> instances but fails on a new installation when I disabled PG 15 and

Interesting, b/c it's failing on all of my Fedora's and Rocky 9's with
the same error. I'm interested to know why it works for you.

I took a look at the packaging and it seems to need a exclusion for the
dynamic dependency step, unless there is a package for these files?

rpm -qp ~/Downloads/postgresql14-devel-14.13-1PGDG.f39.x86_64.rpm -l|
grep '\.pm'
/usr/pgsql-14/lib/pgxs/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm
/usr/pgsql-14/lib/pgxs/src/test/perl/PostgreSQL/Test/Cluster.pm
/usr/pgsql-14/lib/pgxs/src/test/perl/PostgreSQL/Test/Utils.pm
/usr/pgsql-14/lib/pgxs/src/test/perl/PostgresNode.pm
/usr/pgsql-14/lib/pgxs/src/test/perl/PostgresVersion.pm
/usr/pgsql-14/lib/pgxs/src/test/perl/RecursiveCopy.pm
/usr/pgsql-14/lib/pgxs/src/test/perl/SimpleTee.pm
/usr/pgsql-14/lib/pgxs/src/test/perl/TestLib.pm

And checking the differences between 14.12 and 14.13 -devel packaging,
I find:

diff -Nuarp <(rpm -q postgresql14-devel --requires | grep perl | sort -
d) <(rpm -qp ~/Downloads/postgresql14-devel-14.13-1PGDG.f39.x86_64.rpm
--requires | grep perl | sort -d)
--- /dev/fd/63  2024-08-08 17:15:35.357090545 -0400
+++ /dev/fd/62  2024-08-08 17:15:35.358090518 -0400
@@ -13,6 +13,8 @@ perl(File::Temp)
 perl(IPC::Run)
 perl-IPC-Run
 perl(overload)
+perl(PostgreSQL::Test::BackgroundPsql)
+perl(PostgreSQL::Test::Utils)
 perl(Scalar::Util)
 perl(Socket)
 perl(strict)

/allen

---

From: Devrim Gündüz <[email-masked]>
Date: Fri, 09 Aug 2024 01:28:00 +0300

Hi,

> the same error. I'm interested to know why it works for you.

postgresql15-devel and/or postgresql16-devel packages provide this
dependency, and in my boxes I have every single version so that I did
not see anything during tests.

Anyway, 14.13-2 , 13.16-2 and 12.20-2 are in the repos which fix this
problem. Thanks for the report.

Regards,

---

From: John Harvey <[email-masked]>
Date: Thu, 8 Aug 2024 19:16:38 -0400

Hi Devrim.

> John: Do I need to apply the patch that Noah wrote?

Yes-- this patch should fix the PG12-14 issues with
perl(PostgreSQL::Test::Utils).  I see it has already been committed, so
thanks!

Regards,
  -John

---

From: Devrim Gündüz <[email-masked]>
Date: Fri, 09 Aug 2024 10:20:51 +0300

Hi,

On Thu, 2024-08-08 at 19:16 -0400, John Harvey wrote:
> perl(PostgreSQL::Test::Utils).  I see it has already been committed,
> so thanks!

Thanks!

So I was actually thinking if I should apply the patch or use this hack
that I use in 15+:

https://git.postgresql.org/gitweb/?p=pgrpms.git;a=blob;f=rpm/redhat/main/non-common/postgresql-15/main/postgresql-15.spec;h=6c3243c50e376ea2dade22b5c203dd35cddec1ac;hb=HEAD#l73

I decided to apply the patch as it was already committed anyway.

Cheers,