No description
Find a file
Zak B. Elep 9e34ee448a generate.pl: Support building for multiple Debian releases
This adds generating Dockerfiles for each Perl version on multiple
Debian releases, such as for the current 5.30.x to support both Debian
10 (buster) and 9 (stretch).  We also change the directory structure to
better indicate which Debian release it provides for.
2019-07-27 10:32:22 +08:00
5.008.009-main Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.008.009-main,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.008.009-slim Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.008.009-slim,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.010.001-main Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.010.001-main,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.010.001-slim Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.010.001-slim,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.012.005-main Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.012.005-main,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.012.005-slim Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.012.005-slim,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.014.004-main Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.014.004-main,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.014.004-slim Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.014.004-slim,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.016.003-main Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.016.003-main,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.016.003-slim Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.016.003-slim,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.018.004-main Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.018.004-main,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.018.004-slim Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.018.004-slim,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.020.003-main Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.020.003-main,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.020.003-slim Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.020.003-slim,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.022.004-main Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.022.004-main,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.022.004-slim Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.022.004-slim,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.024.004-main Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.024.004-main,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.024.004-slim Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.024.004-slim,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.026.003-main Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.026.003-main,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.026.003-slim Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.026.003-slim,threaded Update patch files for older versions. 2019-04-27 13:42:06 +08:00
5.028.002-main Update config, create Dockerfiles for 5.28.2. 2019-04-27 13:42:06 +08:00
5.028.002-main,threaded Update config, create Dockerfiles for 5.28.2. 2019-04-27 13:42:06 +08:00
5.028.002-slim Update config, create Dockerfiles for 5.28.2. 2019-04-27 13:42:06 +08:00
5.028.002-slim,threaded Update config, create Dockerfiles for 5.28.2. 2019-04-27 13:42:06 +08:00
5.030.000-main Add Perl 5.30. 2019-05-27 14:25:34 +08:00
5.030.000-main,threaded Add Perl 5.30. 2019-05-27 14:25:34 +08:00
5.030.000-slim Add Perl 5.30. 2019-05-27 14:25:34 +08:00
5.030.000-slim,threaded Add Perl 5.30. 2019-05-27 14:25:34 +08:00
.gitignore Ignore downloads 2015-04-15 22:06:35 -04:00
.perltidyrc 💄 Add Perl::Tidy for development 2018-08-04 19:46:34 +08:00
config.yml Add Perl 5.30. 2019-05-27 14:25:34 +08:00
cpanfile 💄 Add Perl::Tidy for development 2018-08-04 19:46:34 +08:00
generate.pl generate.pl: Support building for multiple Debian releases 2019-07-27 10:32:22 +08:00
LICENSE Initial commit 2014-07-06 18:43:53 -04:00
README.md 💄 Update README 2018-08-12 15:48:28 +08:00

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.

The Docker Perl image now builds and runs in architectures other than amd64, such as i386 and arm64v8; see docker-library/official-images for the details.

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 Dockerfiles, 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.