1*f2a19305Safresh1# vim: syntax=pod 2*f2a19305Safresh1 35759b3d2Safresh1If you read this file _as_is_, just ignore the funny characters you 45759b3d2Safresh1see. It is written in the POD format (see pod/perlpod.pod) which is 55759b3d2Safresh1specifically designed to be readable as is. 65759b3d2Safresh1 75759b3d2Safresh1=head1 NAME 85759b3d2Safresh1 95759b3d2Safresh1PACKAGING - notes and best practice for packaging perl 5 105759b3d2Safresh1 115759b3d2Safresh1=head1 SYNOPSIS 125759b3d2Safresh1 135759b3d2Safresh1This document is aimed at anyone who is producing their own version of 145759b3d2Safresh1perl for distribution to other users. It is intended as a collection 155759b3d2Safresh1of useful tips, advice and best practice, rather than being a complete 165759b3d2Safresh1packaging manual. The starting point for installing perl remains 175759b3d2Safresh1F<INSTALL>. 185759b3d2Safresh1 195759b3d2Safresh1=head1 Customizing test running 205759b3d2Safresh1 215759b3d2Safresh1A small number of porting tests (those in t/porting) are not well suited 225759b3d2Safresh1to typical distribution packaging scenarios. For example, they assume 235759b3d2Safresh1they are working in a git clone of the upstream Perl repository, or 245759b3d2Safresh1enforce rules which are not relevant to downstream packagers. These can 255759b3d2Safresh1be skipped by setting the environment variable PERL_BUILD_PACKAGING. 265759b3d2Safresh1A complete list of tests which this applied to can be found by searching 275759b3d2Safresh1the codebase for this string. 285759b3d2Safresh1 295759b3d2Safresh1An alternative strategy would be to skip all porting tests, but many of 305759b3d2Safresh1them are useful if additional patches might be applied. 315759b3d2Safresh1 325759b3d2Safresh1=head1 Customizing patchlevel to advertise your local patches 335759b3d2Safresh1 345759b3d2Safresh1You can advertise your custom local patches by using patchlevel.h as a 355759b3d2Safresh1standalone Perl script. 365759b3d2Safresh1 375759b3d2Safresh1=head2 Sample usage: 385759b3d2Safresh1 395759b3d2Safresh1 perl -x patchlevel.h "This is a custom patch" 405759b3d2Safresh1 415759b3d2Safresh1=head1 Disabling known flapping tests 425759b3d2Safresh1 435759b3d2Safresh1Some tests could fail under heavy load, whereas in most cases 445759b3d2Safresh1they would simply succeed. Usually, continuous integration systems 455759b3d2Safresh1will at one point or the other reach that problem. 465759b3d2Safresh1 475759b3d2Safresh1To disable these known tests, please set the environment 485759b3d2Safresh1variable CI to true. 495759b3d2Safresh1 505759b3d2Safresh1 CI=true 515759b3d2Safresh1 525759b3d2Safresh1=cut 53