Re: missing perl test modules in postgresqlXX-devel ? - Mailing list pgsql-pkg-yum

From Craig Ringer
Subject Re: missing perl test modules in postgresqlXX-devel ?
Date
Msg-id CAGRY4nz+xcczzYXVuNva8=r+ucgp5pYMt0_eM-nBv4iPNCmyKw@mail.gmail.com
Whole thread Raw
In response to Re: missing perl test modules in postgresqlXX-devel ?  (Jehan-Guillaume de Rorthais <jgdr@dalibo.com>)
Responses Re: missing perl test modules in postgresqlXX-devel ?  (Jehan-Guillaume de Rorthais <jgdr@dalibo.com>)
List pgsql-pkg-yum

On Mon, Nov 9, 2020 at 6:40 PM Jehan-Guillaume de Rorthais <jgdr@dalibo.com> wrote:

So it looks like at least EL7 packages are broken/different from fedora 32. Here
are some more informations from a CentOS Linux 7 (vagrant box "centos/7"):

  # repoquery -f /usr/pgsql-12/bin/postgres
  postgresql12-server-0:12.2-1PGDG.rhel7.x86_64
  postgresql12-server-0:12.1-2PGDG.rhel7.x86_64
  postgresql12-server-0:12.2-2PGDG.rhel7.x86_64
  postgresql12-server-0:12.3-1PGDG.rhel7.x86_64
  postgresql12-server-0:12.3-5PGDG.rhel7.x86_64
  postgresql12-server-0:12.4-1PGDG.rhel7.x86_64

  # repoquery -f /usr/pgsql-13/bin/postgres
  postgresql13-server-0:13.0-1PGDG.rhel7.x86_64

  # repoquery -f /usr/pgsql-12/lib/pgxs/src/test/perl/PostgresNode.pm
  (nothing)

  # repoquery -f /usr/pgsql-13/lib/pgxs/src/test/perl/PostgresNode.pm
  (nothing)

Yeah, that seems wrong.

You can find concrete (non-symlink) spec files for current releases with:

     find -type f -regex '.*/postgresql-\(9\.[456]\|1[0-9]\).spec'

e.g.

    rpm/redhat/master/non-common/postgresql-13/master/postgresql-13.spec

You'll note that while they're shared across distro variants, there's a separate specfile for each major release.

In rpm/redhat/master/non-common/postgresql-13/master/postgresql-13.spec you'll see

    %files devel -f pg_devel.lst
    ....
    %{pgbaseinstdir}/lib/pgxs/*
    ....

so anything installed in pgxs/* should be packaged.

TAP tests get installed if they are enabled. They are enabled if --enable-tap-tests is passed to configure. That is controlled by the stanza

    %if %enabletaptests
            --enable-tap-tests \
    %endif

which in turn is controlled by

    %if 0%{?rhel} || 0%{?suse_version} >= 1315
    %{!?enabletaptests:%global enabletaptests 0}
    %else
    %{!?enabletaptests:%global enabletaptests 1}
    %endif

so apparently the TAP tests aren't built/enabled for any RHEL/CentOS versions in -13. The same is true for 10 and up, at least.

That's ... surprising. There's no comment to indicate why.

Git logs suggest the cause is commit 511834297 "Disable tap tests  on RHEL 7" . I think the package in question is perl-Test-Simple a.k.a 'perl(Test::Simple)'.

It looks like the test should be updated to enable them for RHEL 8 at least.

I don't really feel like wrestling builds for an obsolete OS version to get these packaged for EL-7 though.

pgsql-pkg-yum by date:

Previous
From: Craig Ringer
Date:
Subject: Re: missing perl test modules in postgresqlXX-devel ?
Next
From: Cameron Murdoch
Date:
Subject: python3-barman missing gpg signature