Optional Perl modules related to REST should now be mandatory

RESOLVED FIXED in Bugzilla 6.0

Status

()

--
enhancement
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: LpSolit, Assigned: gerv)

Tracking

({relnote})

unspecified
Bugzilla 6.0
relnote

Details

Attachments

(1 attachment)

(Reporter)

Description

3 years ago
More and more features will depend on JSON-RPC/REST to make pages more interactive. One example is comment tagging (bug 1183227). So modules such as Test::Taint, JSON::RPC, Moo, Module::Runtime, HTTP::Request and HTTP::Response should be listed as mandatory modules, not optional ones, else Bugzilla won't be fully functional.

If we are sure that no new features will depend on JSON-RPC, we could leave JSON::RPC as an optional module and let it go away once support for XMLRPC and JSON-RPC is over.
(Reporter)

Updated

3 years ago
Duplicate of this bug: 1191818
I would have known how to fix this before Dylan's changes, but now I'm not so sure. Dylan: have you documented anywhere how to change Bugzilla's dependencies? If not, I'll do you a deal: you write the doc, and I'll fix this bug :-)

Gerv
Flags: needinfo?(dylan)
You'd edit Makefile.PL, in particular the call to WriteMakefile().
This is documented: https://metacpan.org/pod/ExtUtils::MakeMaker

Since PREREQ_PM has to be modified for windows, it gets declared here:
https://github.com/bugzilla/bugzilla/blob/master/Makefile.PL#L49

The REST deps on here: https://github.com/bugzilla/bugzilla/blob/master/Makefile.PL#L265-L278

Note that if we're removing a feature you would need to remove Bugzilla->feature('rest')
checks. ->feature() loads the modules too, so you'd need to make sure all those modules are loaded
when the feature check is removed.
Flags: needinfo?(dylan)
Created attachment 8774349 [details] [diff] [review]
Patch v.1

Thanks for clueing me in. Will this do?

I loaded a bug via REST, so I assume all the necessary modules are loaded at the right time to make this work.

Gerv
Assignee: installation → gerv
Status: NEW → ASSIGNED
Attachment #8774349 - Flags: review?(dylan)
Comment on attachment 8774349 [details] [diff] [review]
Patch v.1

Review of attachment 8774349 [details] [diff] [review]:
-----------------------------------------------------------------

Minor problem which I fixed. This means that the CSP feature doesn't need to depend on Moo, which is good. I'll commit it with the comma fix (and update the META.* files)

::: Makefile.PL
@@ +61,5 @@
>      'JSON::XS'            => '2.01',
>      'List::MoreUtils'     => '0.32',
>      'Math::Random::ISAAC' => '1.0.1',
> +    'Moo'                 => 2,
> +    'Module::Runtime'     => 0

missing comma here. You didn't even run this, did you? ;)
Attachment #8774349 - Flags: review?(dylan) → review+
To git@github.com:bugzilla/bugzilla.git
   df83e52..2f3b867  master -> master
Status: ASSIGNED → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED
(Reporter)

Updated

2 years ago
Blocks: 1294596
You need to log in before you can comment on or make changes to this bug.