Subject: 9.4.19 devel packages pg_config.h broken

From: Craig Ringer <[email-masked]>
Date: Wed, 15 Aug 2018 16:58:27 +0800

Hi folks

The 9.4.19 devel package appears to have a misplaced pg_config.h. Compare:

$ rpm -qlp ~/Downloads/postgresql94-devel-9.4.19-1PGDG.f27.x86_64.rpm |grep
'pg_config.h'
/usr/pgsql-9.4/include/postgresql-94-ecpg_config.h
/usr/pgsql-9.4/include/postgresql-94-pg_config.h
/usr/pgsql-9.4/include/server/postgresql-94-pg_config.h

with

$ rpm -qlp ~/Downloads/postgresql96-devel-9.6.10-1PGDG.f27.x86_64.rpm |grep
'pg_config.h'
/usr/pgsql-9.6/include/ecpg_config.h
/usr/pgsql-9.6/include/pg_config.h
/usr/pgsql-9.6/include/server/pg_config.h

Note we have postgresql-94-pg_config.h in 9.4, and pg_config.h in 9.6.

I suspect this was an unintended change. I can't see where it came from in
any recent commits, which is a bit surprising.

There's

Source5:    %{sname}-%{pgmajorversion}-pg_config.h

in the redhat master packages for postgresql, but that's fine/normal.
Changes in 3a4b12670 on May 10 added unified Makefile for PostgreSQL 9.4,
which seems to have changed

Source5:    pg_config.h
to
Source5:    %{sname}-%{pgmajorversion}-pg_config.h

and I'm guessing the problem got introduced there somehow.

I suspect the issue is that the 9.4
spec rpm/redhat/9.4/postgresql/master/postgresql-9.4.spec has

                %{__install} -m 644 %{SOURCE5}
%{buildroot}%{pgbaseinstdir}/include/

(line 715)

wheras the pg10 spec rpm/redhat/10/postgresql/master/postgresql-10.spec has

                %{__install} -m 644 %{SOURCE5}
%{buildroot}%{pgbaseinstdir}/include/pg_config.h

Note the destination file name specified for pg10 but not 9.4.

-- 
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

---

From: Craig Ringer <[email-masked]>
Date: Thu, 16 Aug 2018 10:41:08 +0800

I see this fixed by commit

commit f448ded3a79dccfc1a95f032aa80ab228c2c7a09 (HEAD -> master,
pgrpms/master)
Author: John K. Harvey <[email-masked]>
Date:   Wed Aug 15 15:32:56 2018 -0400

    Fix broken PGXS=1 builds in -devel package (missing pg_config.h error)

so thanks. Unclear if you noticed this independently or from my mail, but
either way, thanks.

---

From: Devrim Gündüz <[email-masked]>
Date: Thu, 16 Aug 2018 08:58:48 +0100

Hi Craig,

Petr also pinged me privately about this, and John fixed it yesterday. The new
packages are up. Thanks for the report!

I broke it while unifying the spec file, as you guessed.

Regards, Devrim

-- 
Devrim Gündüz
EnterpriseDB: https://www.enterprisedb.com
PostgreSQL Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR