⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.184
Server IP:
65.21.180.239
Server:
Linux gowhm.eplangoweb.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.0.30
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
lib
/
x86_64-linux-gnu
/
perl5
/
5.30
/
List
/
MoreUtils
/
View File Name :
Contributing.pod
=head1 NAME List::MoreUtils::Contributing - Gives rough introduction into contributing to List::MoreUtils =head1 DESCRIPTION List::Moreutils has a turbulent history and a strong approach. Before going further, please step to L<Open Source Contribution Etiquette|http://tirania.org/blog/archive/2010/Dec-31.html> and then come back. The current distribution is a balance between finishing the history and claiming for future requirements. Therefore some components will receive a rewrite on purpose - others won't. For the moment - it's not the primary goal to clean up the configuration stage, until the primary goals and prerequisites are done. To contribute to List::MoreUtils, one has to arrange with the current situation, dig into details and ask for clarifying when parts are incomprehensible. =head2 Primary Goals The very first primary goal is to clear the backlog. These are primarily the open issues, feature requests and missing infrastructure elements. As example see RT#93207 or RT#75672 for missing configure time checks, while RT#93207 radiates until test - but doesn't affect runtime nor installation (beside test failures). =head2 Secondary Goals Secondary goals are harmonizing the function names and calling convention (see RT#102673), tidying the infrastructure of the distribution and remove unnecessary complexity (while protecting the necessary). One example of removing unnecessary infrastructure could be to move L<Data::Tumbler> and L<Test::WriteVariants> into authoring mode, when imrpoved test for RT#93207 could be reasonably done by a module which is recommended for test. The recommendation of L<Graham Knop's Makefile.PL#L82|https://github.com/haarg/List-MoreUtils/blob/dd877f963deead742fc90005636c72c6be9060fc/Makefile.PL#L82> in L<PR#9|https://github.com/perl5-utils/List-MoreUtils/pull/9> a desirable one. =head2 Orientation Guide List::MoreUtils configuration stage heavily depends on L<Config::AutoConf> and L<Data::Tumbler>. A few prerequisites of both modules aren't available for Perl 5.6 - which leads to a tiny emulation layer t the begin of C<Makefile.PL>. The reason for L<Config::AutoConf> is quite simple - the opportunities for checking the environment cover a much wider range than a simple test whether there is a working compiler. It requires a lot of improvements since it's fundament L<ExtUtils::CBuilder> was never designed to support that kind of solutions - but there is I<Work In Progress>. To finally solve issues as RT#75672 even in cross-compile environments - there is no way around such a checking tool. The reason for L<Data::Tumbler> in combination with L<Test::WriteVariants> are extensible tests with reasonable effort and easy figuring out which extra condition causes failures. Also - missing pre-conditions should result in failing tests i some cases - what is fully supported by the logic behind L<Data::Tumbler> in combination with L<Test::WriteVariants>. Finally - L<inc::latest> glues the stuff in a bundle together to allow people with older toolchains to use List::MoreUtils out of the box (maybe with reduced quantity but full quality). =head1 SEE ALSO L<Config::AutoConf>, L<Data::Tumbler>, L<Test::WriteVariants>, L<ExtUtils::MakeMaker::Extensions> =head1 AUTHOR Jens Rehsack E<lt>rehsack AT cpan.orgE<gt> =head1 COPYRIGHT AND LICENSE Copyright 2015,2016 by Jens Rehsack This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available. =cut