Thread: 9.4.19 devel packages pg_config.h broken

9.4.19 devel packages pg_config.h broken

From
Craig Ringer
Date:
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

Re: 9.4.19 devel packages pg_config.h broken

From
Craig Ringer
Date:
I see this fixed by commit

commit f448ded3a79dccfc1a95f032aa80ab228c2c7a09 (HEAD -> master, pgrpms/master)
Author: John K. Harvey <john.harvey@crunchydata.com>
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.


Re: 9.4.19 devel packages pg_config.h broken

From
Devrim Gündüz
Date:
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

On Wed, 2018-08-15 at 16:58 +0800, Craig Ringer wrote:
> 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.
>
>
>
>

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

Attachment