| 1 | If you read this file _as_is_, just ignore the funny characters you |
| 2 | see. It is written in the POD format (see pod/perlpod.pod) which is |
| 3 | specifically designed to be readable as is. |
| 4 | |
| 5 | =head1 NAME |
| 6 | |
| 7 | PACKAGING - notes and best practice for packaging perl 5 |
| 8 | |
| 9 | =head1 SYNOPSIS |
| 10 | |
| 11 | This document is aimed at anyone who is producing their own version of |
| 12 | perl for distribution to other users. It is intended as a collection |
| 13 | of useful tips, advice and best practice, rather than being a complete |
| 14 | packaging manual. The starting point for installing perl remains |
| 15 | F<INSTALL>. |
| 16 | |
| 17 | =head1 Customizing test running |
| 18 | |
| 19 | A small number of porting tests (those in t/porting) are not well suited |
| 20 | to typical distribution packaging scenarios. For example, they assume |
| 21 | they are working in a git clone of the upstream Perl repository, or |
| 22 | enforce rules which are not relevant to downstream packagers. These can |
| 23 | be skipped by setting the environment variable PERL_BUILD_PACKAGING. |
| 24 | A complete list of tests which this applied to can be found by searching |
| 25 | the codebase for this string. |
| 26 | |
| 27 | An alternative strategy would be to skip all porting tests, but many of |
| 28 | them are useful if additional patches might be applied. |
| 29 | |
| 30 | =head1 Customizing patchlevel to advertise your local patches |
| 31 | |
| 32 | You can advertise your custom local patches by using patchlevel.h as a |
| 33 | standalone Perl script. |
| 34 | |
| 35 | =head2 Sample usage: |
| 36 | |
| 37 | perl -x patchlevel.h "This is a custom patch" |
| 38 | |
| 39 | =head1 Disabling known flapping tests |
| 40 | |
| 41 | Some tests could fail under heavy load, whereas in most cases |
| 42 | they would simply succeed. Usually, continuous integration systems |
| 43 | will at one point or the other reach that problem. |
| 44 | |
| 45 | To disable these known tests, please set the environment |
| 46 | variable CI to true. |
| 47 | |
| 48 | CI=true |
| 49 | |
| 50 | =cut |