docker-perl =========== This project is the source for the Docker perl repo; for more details, take a look at https://registry.hub.docker.com/_/perl/. The structure of this repo is to use the full version ID of each Perl version, plus a comma separate list of extensions. Every directory is expected to have at least the bit specification (32bit or 64bit), and at the moment the only other extension is threaded. Despite having a directory layout expressed in terms of bit specifications as above, the Docker Perl image now builds and runs in architectures other than `amd64`, such as [`i386`][1] and [`arm64v8`][2]; see [docker-library/official-images][3] for the details. [1]: https://hub.docker.com/r/i386/perl/ [2]: https://hub.docker.com/r/arm64v8/perl [3]: https://github.com/docker-library/official-images#architectures-other-than-amd64 ## Getting Started The individual Dockerfiles are generated via `generate.pl`, which uses Releases.yaml to populate the individual files. This needs the `Devel::PatchPerl` and `YAML::XS` modules, which you can install by doing `cpanm --installdeps .` in this repository's root directory. To regenerate the `Dockerfile`s, just run `./generate.pl`. Do note that this might take time as it will download the Perl source tarballs for each version to re-patch with updates from `Devel::PatchPerl` as needed. Also, it is advised to update `Devel::PatchPerl` as soon as a new version comes out. For older versions of Perl, some patches may be necessary to build properly on a current base OS. In those cases, perl -V will show the locally applied patches. These changes should be limited to Configure rather than to code itself, and will be a cherry pick or back port of a patch from the mainline perl branch whenever possible.