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

From Jehan-Guillaume de Rorthais
Subject Re: missing perl test modules in postgresqlXX-devel ?
Date
Msg-id 20201112113632.627b8749@firost
Whole thread Raw
In response to Re: missing perl test modules in postgresqlXX-devel ?  (Craig Ringer <craig.ringer@enterprisedb.com>)
Responses Re: missing perl test modules in postgresqlXX-devel ?
List pgsql-pkg-yum
On Wed, 11 Nov 2020 11:29:49 +0800
Craig Ringer <craig.ringer@enterprisedb.com> wrote:

> On Tue, Nov 10, 2020 at 9:56 PM Jehan-Guillaume de Rorthais <jgdr@dalibo.com>
> wrote:
> 
> > On Tue, 10 Nov 2020 13:57:22 +0800
> > Craig Ringer <craig.ringer@enterprisedb.com> wrote:
> >  
> > > [...]
> > >
> > > 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)'.  
> >
> > That's surprising. Grep'ing postgresql source doesn't catch anything about
> > Test::Simple. TAP tests in PostgreSQL sources rely on Test::More which is
> > part
> > of the official Perl core modules at least since 5.8.0... Do I miss
> > something?
> >  
> 
> Yep.
> 
> Perl test frameworks are an insane messy tangle of WTFery, so it's not
> surprising.
> 
> Test::More became part of Test::Simple at some point.

Oh, I didn't noticed that.


> [...] Anyway, we should probably be declaring
> 
>     Requires 'perl(Test::More)'
> 
> instead of
> 
>     Requires perl-Test-Simple

I believe you are right.


> [...}
> Would you mind firing up a RHEL7 AWS EC2 instance and checking if
> 
>     yum -y install 'perl(Test::More)'
> 
> runs?

I fired the vagrant generic/rhel7 box and registered it using my dev account:

  $ head -2 /etc/os-release 
  NAME="Red Hat Enterprise Linux Server"
  VERSION="7.8 (Maipo)"

  $ sudo -i yum -y install 'perl(Test::More)'"
  [...]
  ---> Package perl-Test-Simple.noarch 0:0.98-243.el7 will be installed
  [...]
  Installed:
    perl-Test-Simple.noarch 0:0.98-243.el7

  $ source /etc/os-release
  $ export VERSION NAME
  $ perl -MTest::More -le '
    like $ENV{VERSION}, qr/7\./, "version is $ENV{VERSION}"; 
    like $ENV{NAME}, qr/Red Hat Enterprise/, "OS is $ENV{NAME}"; 
    done_testing'

  ok 1 - version is 7.8 (Maipo)
  ok 2 - OS is Red Hat Enterprise Linux Server
  1..2
  
Note that the package came from rhel-7-server-rpms:

  $ sudo yum history packages-info perl-Test-Simple|grep ^From
  From repo      : rhel-7-server-rpms

RHEL official documentation confirm the package is available in base repository:


https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/package_manifest/package_lists_base_repository

I checked in RHEL 7 changelog and couldn't find anything about
removing/adding/deprecating this package.

I couldn't find the original discussion deciding to remove --enable-tap-tests
for RHEL packages after a quick look at archives, but it seems the package IS
actually available for RHEL 7. Is it really because of this package the perl
modules are not build RHEL?

> If so, we can probably restore the dependency, and then restore
> --enable-tap-tests support.
> 
> Alternatively we might be able to build with --enable-tap-tests and make
> 'perl(Test::More)' a build-time-only dependency when built on EL7. This
> means that TAP test running would have an undeclared dependency that won't
> actually work on EL7 without a separate package install step, which kind of
> sucks. But so long as it doesn't break other functionality in
> Makefile.global it's probably actually OK.
> 
> If EL7's yum and rpm aren't too stupid to cope, we can possibly use a
> Recommends: dependency for 'perl(Test::More)' there.

Since Test::More is available in EL7, it doesn't look necessary in my opinion.

> I'd need you to run some tests on a real RHEL 7 VM or host if you want to
> pursue this. I can help but can't take this on right now. I'll be able to
> send you a toy specfile to use rpmbuilds commands with to check things.

Sure, I'm available.

Regards,



pgsql-pkg-yum by date:

Previous
From: Devrim Gündüz
Date:
Subject: Re: yum.postgresql.org user experience
Next
From: Christoph Berg
Date:
Subject: Re: yum.postgresql.org user experience