Bug 831716 - Bugzilla requires perl-JSON-RPC-CGI for JSON-RPC functionality which checksetup.pl does not warn about
Summary: Bugzilla requires perl-JSON-RPC-CGI for JSON-RPC functionality which checkset...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: perl-JSON-RPC
Version: 23
Hardware: All
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Emmanuel Seyman
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-06-13 16:02 UTC by Frédéric Buclin
Modified: 2016-12-14 00:51 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-12-09 22:25:42 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Frédéric Buclin 2012-06-13 16:02:35 UTC
Bugzilla still uses legacy code from JSON::RPC and despite the perl-JSON-RPC package is installed, which makes checksetup.pl happy, the JSON-RPC feature of Bugzilla fails because it cannot find the legacy code. This also prevents Apache from starting when mod_perl is enabled:

 httpd[1938]: Can't locate JSON/RPC/Legacy/Server/CGI.pm in @INC

So the legacy code is still required by Bugzilla, and checksetup.pl and Bugzilla re confused by this package split.

Comment 1 Frédéric Buclin 2012-06-13 16:11:59 UTC
To be clear: I know that the legacy code is available in two separate packages and that both are needed for Bugzilla to work. What I'm asking for is for checksetup.pl to be aware of this split and ask for the appropriate packages. Also, the -legacy-server package should depend on the other -legacy one, else Bugzilla still fails as Legacy/Procedure.pm is required by the server.

Comment 2 Petr Pisar 2012-06-14 06:46:18 UTC
> Bugzilla still uses legacy code from JSON::RPC and despite the perl-JSON-RPC
> package is installed, which makes checksetup.pl

This is wrong approach on Fedora. It should check for perl modules, not for RPM packages.

> httpd[1938]: Can't locate JSON/RPC/Legacy/Server/CGI.pm in @INC

You can check for `perl(JSON::RPC::Legacy::Server::CGI)' RPM Provides or by perl code `eval q{use JSON::RPC::Legacy::Server::CGI; 1} or die q{Missing};'

Comment 3 Frédéric Buclin 2012-06-14 16:39:30 UTC
(In reply to comment #2)
> This is wrong approach on Fedora. It should check for perl modules, not for
> RPM packages.

This is exactly what Bugzilla does. It looks for JSON::RPC. This is supposed to mean that legacy code is also installed. Bugzilla is not going to check each module individually. JSON::RPC is not supposed to be split into several pieces, which is specific to Fedora/RHEL.

Comment 4 Emmanuel Seyman 2012-06-14 22:59:56 UTC
(In reply to comment #0)
>
> So the legacy code is still required by Bugzilla, and checksetup.pl and
> Bugzilla re confused by this package split.

The split is there so that:

a) People can have the legacy code installed without having to install the new (incompatible) version along with it
b) People can have the new version installed and be sure that the old version isn't used

Obviously, this is of no use if you need both. And this module is in Fedora for the sole reason that Bugzilla uses it.

(In reply to comment #2)
> 
> You can check for `perl(JSON::RPC::Legacy::Server::CGI)' RPM Provides or by
> perl code `eval q{use JSON::RPC::Legacy::Server::CGI; 1} or die q{Missing};'

The problem here is that JSON-RPC is an optional feature in Bugzilla. I'm really not keen on making the package require optional features.

(In reply to comment #3)
> 
> This is exactly what Bugzilla does. It looks for JSON::RPC. This is supposed
> to mean that legacy code is also installed. Bugzilla is not going to check
> each module individually. JSON::RPC is not supposed to be split into several
> pieces, which is specific to Fedora/RHEL.

TBH, all Linux distributions split the core perl distribution in a number of ways. I'm not sure there's a point to arguing that this can't be done for non-core modules.

Comment 5 Petr Pisar 2012-06-15 07:23:29 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > This is wrong approach on Fedora. It should check for perl modules, not for
> > RPM packages.
> 
> This is exactly what Bugzilla does. It looks for JSON::RPC.

But it needs JSON::RPC::Legacy::Server::CGI. So checking for JSON::RPC is pointless. If you need JSON::RPC::Legacy::Server::CGI, then put `Requires perl(JSON::RPC::Legacy::Server::CGI)' into Bugzilla RPM package.

> This is supposed to mean that legacy code is also installed. Bugzilla is not
> going to check each module individually.

Use RPM dependencies.

> JSON::RPC is not supposed to be split into several pieces, which is specific to
> Fedora/RHEL.

Who does decide? perl-JSON-RPC packager. Splitting upstream into more packages is normal in binary distributions.

Comment 6 Emmanuel Seyman 2012-06-16 22:17:38 UTC
Folks, here's the game plan to be implemented soon.

* Update to 1.03
* Merge back the legacy implementation in the main package
* Split the different server implementations in their own packages

The main package will obsolete perl-JSON-RPC-legacy while the different sub-packages will obsolete perl-JSON-RPC-legacy-server. Once that's done, we patch checksetup in the bugzilla to match the split.

Comment 7 Fedora Update System 2012-07-01 14:20:18 UTC
perl-JSON-RPC-1.03-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/perl-JSON-RPC-1.03-1.fc17

Comment 8 Fedora Update System 2012-07-02 22:26:12 UTC
Package perl-JSON-RPC-1.03-1.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing perl-JSON-RPC-1.03-1.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-10145/perl-JSON-RPC-1.03-1.fc17
then log in and leave karma (feedback).

Comment 9 Fedora Update System 2012-07-11 21:07:20 UTC
perl-JSON-RPC-1.03-2.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/perl-JSON-RPC-1.03-2.fc17

Comment 10 Fedora Update System 2012-07-21 02:49:34 UTC
perl-JSON-RPC-1.03-2.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Paul Roubekas 2016-08-04 17:29:56 UTC
I am having a very similar issue in Fedora 23.  Cross posted on askFedora (https://ask.fedoraproject.org/en/question/91836/cant-locate-jsonrpclegacyservercgipm-in-inc/). 

Fedora 23  
Bugzilla 4.4.12-1.fc23 (installed via dnf)

============= /usr/share/bugzilla/checksetup.pl --check-modules =============

    /usr/share/bugzilla/checksetup.pl --check-modules
    * This is Bugzilla 4.4.12 on perl 5.22.1
    * Running on Linux 4.4.7-300.fc23.x86_64 #1 SMP Wed Apr 13 02:52:52 UTC 2016
    
    Checking perl modules...
    Checking for               CGI.pm (v3.51)     ok: found v4.21 
    Checking for           Digest-SHA (any)       ok: found v5.95 
    Checking for             TimeDate (v2.23)     ok: found v2.24 
    Checking for             DateTime (v0.28)     ok: found v1.18 
    Checking for    DateTime-TimeZone (v0.71)     ok: found v1.93 
    Checking for                  DBI (v1.614)    ok: found v1.633 
    Checking for     Template-Toolkit (v2.22)     ok: found v2.26 
    Checking for           Email-Send (v2.04)     ok: found v2.201 
    Checking for           Email-MIME (v1.904)    ok: found v1.934 
    Checking for                  URI (v1.37)     ok: found v1.69 
    Checking for       List-MoreUtils (v0.32)     ok: found v0.413 
    Checking for    Math-Random-ISAAC (v1.0.1)    ok: found v1.004 
    
    Checking available perl DBD modules...
    Checking for           DBD-SQLite (v1.29)     ok: found v1.48 
    Checking for           DBD-Oracle (v1.19)     not found 
    Checking for            DBD-mysql (v4.001)    ok: found v4.033 
    Checking for               DBD-Pg (v2.7.0)    ok: found v3.5.3 
    
    The following Perl modules are optional:
    Checking for                   GD (v1.20)     ok: found v2.56 
    Checking for                Chart (v2.1.0)    ok: found v2.4.10 
    Checking for          Template-GD (any)       ok: found v1.56 
    Checking for           GDTextUtil (any)       ok: found v0.86 
    Checking for              GDGraph (any)       ok: found v1.49 
    Checking for           MIME-tools (v5.406)    ok: found v5.506 
    Checking for          libwww-perl (any)       ok: found v6.15 
    Checking for             XML-Twig (any)       ok: found v3.49 
    Checking for          PatchReader (v0.9.6)    ok: found v0.9.6 
    Checking for            perl-ldap (any)       ok: found v0.65 
    Checking for          Authen-SASL (any)       ok: found v2.16 
    Checking for         Net-SMTP-SSL (v1.01)     ok: found v1.03 
    Checking for           RadiusPerl (any)       ok: found v0.24 
    Checking for            SOAP-Lite (v0.712)    ok: found v1.19 
    Checking for          XMLRPC-Lite (v0.712)    ok: found v0.717 
    Checking for             JSON-RPC (any)       ok: found v1.06 
    Checking for              JSON-XS (v2.0)      ok: found v3.01 
    Checking for           Test-Taint (any)       ok: found v1.06 
    Checking for          HTML-Parser (v3.67)     ok: found v3.71 
    Checking for        HTML-Scrubber (any)       ok: found v0.15 
    Checking for               Encode (v2.21)     ok: found v2.80 
    Checking for        Encode-Detect (any)       ok: found v1.01 
    Checking for          Email-Reply (any)       ok: found v1.203 
    Checking for HTML-FormatText-WithLinks (v0.13)     ok: found v0.15 
    Checking for          TheSchwartz (v1.07)     ok: found v1.12 
    Checking for       Daemon-Generic (any)       ok: found v0.84 
    Checking for           File-Slurp (v9999.13)  ok: found v9999.19 
    Checking for             mod_perl (v1.999022) ok: found v2.000009 
    Checking for     Apache-SizeLimit (v0.96)     ok: found v0.97 
    Checking for        File-MimeInfo (any)       ok: found v0.27 
    Checking for           IO-stringy (any)       ok: found v2.111 
    Checking for          mod_expires (any)       ok 
    Checking for          mod_headers (any)       ok 
    Checking for              mod_env (any)       ok 

=================== apachectl configtest ===================

    [Sun Jul 31 18:11:16.203351 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.205680 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.226969 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.260004 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.272677 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.277491 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.281460 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.283772 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.286638 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.288256 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.293450 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.298059 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.302826 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.307293 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.317745 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.325578 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.329591 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.333859 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.345971 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.352845 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.355954 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.367641 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.371655 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.375859 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.388027 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.391669 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.405253 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    [Sun Jul 31 18:11:16.444066 2016] [:warn] [pid 13092] -T switch is ignored, enable with 'PerlSwitches -T' in httpd.conf\n
    AH00526: Syntax error on line 51 of /etc/httpd/conf/httpd-vhosts.conf:
    Can't locate JSON/RPC/Legacy/Server/CGI.pm in @INC (you may need to install the JSON::RPC::Legacy::Server::CGI module) (@INC contains: /usr/share/bugzilla/lib /usr/share/bugzilla /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /etc/httpd) at /usr/share/bugzilla/Bugzilla/WebService/Server/JSONRPC.pm line 19.\nBEGIN failed--compilation aborted at /usr/share/bugzilla/Bugzilla/WebService/Server/JSONRPC.pm line 22.\nCompilation failed in require at /usr/share/bugzilla/jsonrpc.cgi line 21.\nBEGIN failed--compilation aborted at /usr/share/bugzilla/jsonrpc.cgi line 21.\nCompilation failed in require at (eval 2) line 1.\n

Comment 12 Emmanuel Seyman 2016-08-04 20:45:25 UTC
(In reply to Paul Roubekas from comment #11)
>
>     Can't locate JSON/RPC/Legacy/Server/CGI.pm in @INC (you may need to
> install the JSON::RPC::Legacy::Server::CGI module) (@INC contains:

Paul, I believe you need to install perl-JSON-RPC-CGI.

Comment 13 Paul Roubekas 2016-08-04 21:11:06 UTC
Emmanuel Seyman is correct.  Problem solved.  Does this need a ticket opened with Bugzilla that the checksetup.pl gives a false "ok: found"?

Comment 14 Emmanuel Seyman 2016-08-04 21:15:01 UTC
Let's reopen this one since this is a continuation of the same problem

Comment 15 Fedora End Of Life 2016-11-24 10:40:31 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 16 Fedora Update System 2016-11-27 14:12:41 UTC
bugzilla-4.4.12-2.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-61567637bd

Comment 17 Fedora Update System 2016-11-27 14:12:50 UTC
bugzilla-5.0.3-3.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-bccd9cf897

Comment 18 Fedora Update System 2016-11-27 14:12:56 UTC
bugzilla-5.0.3-2.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-07d15be5ed

Comment 19 Fedora Update System 2016-11-28 09:33:44 UTC
bugzilla-5.0.3-2.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-07d15be5ed

Comment 20 Fedora Update System 2016-11-28 09:36:52 UTC
bugzilla-5.0.3-3.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-bccd9cf897

Comment 21 Fedora Update System 2016-12-04 07:23:22 UTC
bugzilla-4.4.12-2.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-61567637bd

Comment 22 Fedora Update System 2016-12-09 22:25:42 UTC
bugzilla-5.0.3-3.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 23 Fedora Update System 2016-12-10 00:25:32 UTC
bugzilla-5.0.3-2.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.

Comment 24 Fedora Update System 2016-12-14 00:51:12 UTC
bugzilla-4.4.12-2.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.