[Koha-bugs] [Bug 26893] New version of JSON::Validator (D11) break our REST API routes

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Mon Nov 16 00:18:24 CET 2020


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26893

--- Comment #12 from David Cook <dcook at prosentient.com.au> ---
(In reply to Jonathan Druart from comment #11)
> (In reply to David Cook from comment #10)
> > Alternatively, could we pin JSON::Validator to an older version? 
> 
> See comment 6, that does not work.

After doing a bit of digging, comment 6 appears to likely be mistaken. I'll
include my detailed comments below.

(In reply to Jonathan Druart from comment #6)
> Looks like we cannot force the version:
> 
> % apt install libjson-validator-perl=3.25+dfsg-1+koha3
> 
> Error while loading /etc/koha/sites/kohadev/plack.psgi: Can't load
> application from file "/kohadevbox/koha/api/v1/app.pl": Can't locate
> JSON/Validator/Util.pm in @INC (you may need to install the
> JSON::Validator::Util module) (@INC contains: /kohadevbox/koha
> /kohadevbox/koha/installer /kohadevbox/koha/lib/installer /etc/perl
> /usr/local/lib/x86_64-linux-gnu/perl/5.30.3 /usr/local/share/perl/5.30.3
> /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5
> /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.30
> /usr/share/perl/5.30 /usr/local/lib/site_perl /var/lib/koha/kohadev/plugins)
> at /usr/local/share/perl/5.30.3/JSON/Validator/OpenAPI/Mojolicious.pm line 5.
> 

According to https://metacpan.org/release/JHTHORSEN/JSON-Validator-3.25,
JSON::Validator::Util should have been installed. 

I've downloaded the package from
http://debian.koha-community.org/koha-staging/pool/main/libj/libjson-validator-perl/libjson-validator-perl_3.25+dfsg-1+koha3_all.deb.
Using 7-zip, I've opened the files and I see that Validator.pm is *not*
actually version 3.25 but *is* actually version 3.14. JSON::Validator::Util is
not included until JSON::Validator version 3.20 it seems.

I'm looking at "apt-cache show libmojolicious-plugin-openapi-perl" on
debian:bullseye, and it indicates this dependency: libjson-validator-perl (>=
3.15).

So it's not surprising that libjson-validator-perl=3.25+dfsg-1+koha3 didn't
work since it's actually been mis-packaged it seems. 

I think that if we re-package libjson-validator-perl to actually be 3.15+ then
it'll probably work. 

In your example, it's interesting that JSON::Validator::OpenAPI::Mojolicious is
at /usr/local/share/perl/5.30.3/JSON/Validator/OpenAPI/Mojolicious.pm instead
of /usr/share/perl5/JSON/Validator/OpenAPI/Mojolicious.pm. Did you install it
using CPAN instead of DEB package?

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.


More information about the Koha-bugs mailing list