public inbox for [email protected]  
help / color / mirror / Atom feed
From: Devrim Gündüz <[email protected]>
To: Marcin Cieslak <[email protected]>
To: [email protected]
Subject: Re: postgresql13-devel vs libpq-devel
Date: Tue, 15 Apr 2025 15:52:22 +0300
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>

Hi Marcin,

On Mon, 2025-04-14 at 16:24 +0000, Marcin Cieslak wrote:
> 

> The RHEL 9 machine I have has postgresql13, -libs, -server and -devel
> installed from the PGDG repository (all at the 13.20-1PGDG revision).
> 
> Today I have tried to rebuild a package provided by Red Hat (rsyslog)
> and it has a build time dependency on libpq-devel [1].
> 
> dnf --enablerepo pgdg-common --enablerepo pgdg13 install libpq-devel
> 
> does nothing since "postgresql13-devel" already "obsoletes" libpq-deve
> but it does not full replace it (it does not "provide" libpq-devel).

That's because I never thought of replacing libpq-devel (not that I did
not want to, I missed that) 

> 
> This is kind of expected, I could install postgresql13-devel,
> postgresdql14-devel
> up to the 18 if I really like in parallel. I can't do this with libpq-
> devel.
> 
> However, the RPM packages obviously want to have it Red Hat way, no
> the Postgres way.
> 
> Today, as it happens, RHEL 9 has 13.20 in their base, and I have
> 13.20-1PGDG
> installed, but this is just a nice coincidene - I have simply done
> 
> dnf erase --noautoremove postgresql13-devel
> dbf install libpq-devel
> 
> Is there any elegant solution to this problem? For example, is there
> any clean way to say "please using my postgresql13-devel and instead
> of libpq-devel?"
> to rpmbuild? That would require telling PATH and pkgconf to go
> somewhere else...

There are two options in here:

1. Edit the spec file and replace libpq-devel BR with libpq5-devel.

2. (As you suggested): Export PATH like this (and line 45):

https://git.postgresql.org/gitweb/?p=pgrpms.git;a=blob;f=rpm/redhat/main/non-common/plxslt/main/plxs...

In your case replace %{pginstdir} with /usr/pgsql-13

I'd do the latter (see below)


> Or maybe postgresql13-devel and libpq-devel should get along with each
> other?
> I think postgresql13-libs and RHEL's libpq do, and both provide
> "libpq.so.5()".

So, history first: After introducing multiple version installation about
15 years ago (I know, I know...) my plan was to wait until 8.4 is EOLed
so that I could build a common libpq/libpq-devel package in our repo. It
never happened as I did not want to break any builds. But that is now
past.

In the last couple weeks I made a few attempts to build a libpq5-devel
which provides all pieces of a postgresql$latestMajorVersion-devel . It
is still WIP. Once that is done I can *also* obsolete libpq-devel.

-HTH

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


Attachments:

  [application/pgp-signature] signature.asc (858B, 2-signature.asc)
  download

view thread (2+ messages)

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], [email protected]
  Subject: Re: postgresql13-devel vs libpq-devel
  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