Обсуждение: postgresql94 f20 plperl, pgjdbc packages broken: java too new, perl requires typo

Поиск
Список
Период
Сортировка

postgresql94 f20 plperl, pgjdbc packages broken: java too new, perl requires typo

От
Craig Ringer
Дата:
When installing plperl and PgJDBC from PGDG postgresql94 on F20, the
install fails with:

Error: Package: postgresql94-plperl-9.4beta2-2PGDG.f20.x86_64 (pgdg94)
           Requires: perl(:MODULE_COMPAT_5.18.2}
 You could try using --skip-broken to work around the problem
Error: Package: postgresql94-jdbc-9.3.1101-1.f20.noarch (pgdg94)
           Requires: java-headless >= 1:1.8
           Available:
1:java-1.7.0-openjdk-headless-1.7.0.60-2.4.3.0.fc20.x86_64 (fedora)
               java-headless = 1:1.7.0
           Available:
1:java-1.7.0-openjdk-headless-1.7.0.65-2.5.1.3.fc20.i686 (updates)
               java-headless = 1:1.7.0

For java, it looks like it's just been built against 1.8, which isn't in
Fedora 20:

$ repoquery --whatprovides  java-headless
java-1.7.0-openjdk-headless-1:1.7.0.65-2.5.1.3.fc20.i686
java-1.7.0-openjdk-headless-1:1.7.0.65-2.5.1.3.fc20.x86_64
java-1.7.0-openjdk-headless-1:1.7.0.60-2.4.3.0.fc20.x86_64

For Perl, it's a packaging error.

$ repoquery --whatprovides  'perl(:MODULE_COMPAT_5.18.2}'
$

$ repoquery --whatprovides  'perl(:MODULE_COMPAT_*'
perl-4:5.18.1-288.fc20.x86_64
perl-4:5.18.2-289.fc20.x86_64

$ repoquery --provides perl-4:5.18.2-289.fc20.x86_64 | grep COMPAT
perl(:MODULE_COMPAT_5.18.0)
perl(:MODULE_COMPAT_5.18.1)
perl(:MODULE_COMPAT_5.18.2)

Compare:

    perl(:MODULE_COMPAT_5.18.2)     # provided by Perl
    perl(:MODULE_COMPAT_5.18.2}     # required by PGDG

It's a mistake in the plperl subpackage, it uses the wrong perl requires
incantation.

It should be: (all on one line):

Requires:
 perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))


I found these issues by installing the packages with mock, while testing
my own to make sure mine interoperated with and didn't conflict with
PGDG's. I got a surprise when the stock PGDG packages wouldn't install.

I'm doing test runs for the other arches and distros now and will report
back.

(BTW, the perl issue is already fixed in the unified spec file)

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


Re: postgresql94 f20 plperl, pgjdbc packages broken: java too new, perl requires typo

От
Devrim Gündüz
Дата:
Hi Craig,


On Thu, 2014-08-14 at 12:20 +0800, Craig Ringer wrote:
> When installing plperl and PgJDBC from PGDG postgresql94 on F20, the
> install fails with:
>
> Error: Package: postgresql94-plperl-9.4beta2-2PGDG.f20.x86_64 (pgdg94)
>            Requires: perl(:MODULE_COMPAT_5.18.2}
>  You could try using --skip-broken to work around the problem
> Error: Package: postgresql94-jdbc-9.3.1101-1.f20.noarch (pgdg94)
>            Requires: java-headless >= 1:1.8
>            Available:
> 1:java-1.7.0-openjdk-headless-1.7.0.60-2.4.3.0.fc20.x86_64 (fedora)
>                java-headless = 1:1.7.0
>            Available:
> 1:java-1.7.0-openjdk-headless-1.7.0.65-2.5.1.3.fc20.i686 (updates)
>                java-headless = 1:1.7.0
>
> For java, it looks like it's just been built against 1.8, which isn't in
> Fedora 20:

Pff... I wonder when this was broken.

> $ repoquery --whatprovides  java-headless
> java-1.7.0-openjdk-headless-1:1.7.0.65-2.5.1.3.fc20.i686
> java-1.7.0-openjdk-headless-1:1.7.0.65-2.5.1.3.fc20.x86_64
> java-1.7.0-openjdk-headless-1:1.7.0.60-2.4.3.0.fc20.x86_64

This may be an rsync issue. Will look.

> For Perl, it's a packaging error.
>
> $ repoquery --whatprovides  'perl(:MODULE_COMPAT_5.18.2}'
> $
>
> $ repoquery --whatprovides  'perl(:MODULE_COMPAT_*'
> perl-4:5.18.1-288.fc20.x86_64
> perl-4:5.18.2-289.fc20.x86_64
>
> $ repoquery --provides perl-4:5.18.2-289.fc20.x86_64 | grep COMPAT
> perl(:MODULE_COMPAT_5.18.0)
> perl(:MODULE_COMPAT_5.18.1)
> perl(:MODULE_COMPAT_5.18.2)
>
> Compare:
>
>     perl(:MODULE_COMPAT_5.18.2)     # provided by Perl
>     perl(:MODULE_COMPAT_5.18.2}     # required by PGDG

:(

> It's a mistake in the plperl subpackage, it uses the wrong perl requires
> incantation.
>
> It should be: (all on one line):
>
> Requires:
>  perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))

Fixed in SVN. Thanks for the report!

Regards,
--
Devrim GÜNDÜZ
Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR


Вложения