Go to file
Automation Pipeline 80dbb96b7f
ci/woodpecker/push/generate-perl Pipeline was successful Details
ci/woodpecker/push/base-os Pipeline was successful Details
ci/woodpecker/push/build-perls Pipeline was successful Details
ci/woodpecker/manual/generate-perl Pipeline was successful Details
ci/woodpecker/manual/base-os Pipeline was successful Details
ci/woodpecker/manual/build-perls Pipeline was successful Details
You idiot, add the secret
2023-10-12 12:11:22 -04:00
.woodpecker You idiot, add the secret 2023-10-12 12:11:22 -04:00
github/workflows Move pipelines from the proper location to recreate them for woodpecker 2023-09-28 15:32:14 -04:00
os-base Make the source repo stuff work for newer format apt files 2023-09-30 11:54:00 -04:00
patches Fix up patch for 5.20 longdouble pack 2022-03-06 11:11:55 -05:00
tmp test image/plugin 2023-09-30 10:00:51 -04:00
.gitignore Major updates, now adds timestamps for stable tags, also creates a few dozen more types of tags and calculates non-patch tags for future use 2023-10-11 10:46:06 -04:00
.perltidyrc 💄 Add Perl::Tidy for development 2018-08-04 19:46:34 +08:00
LICENSE Initial commit 2014-07-06 18:43:53 -04:00
README.md README.md: Update directory structure description 2019-07-27 10:32:22 +08:00
build.pl support multiple push_repo args now 2023-10-12 11:31:02 -04:00
build.sh use my local registry as a cache to deal with rerunning better 2022-06-11 06:29:32 -04:00
clean_gitea.sh Major updates, now adds timestamps for stable tags, also creates a few dozen more types of tags and calculates non-patch tags for future use 2023-10-11 10:46:06 -04:00
config.yml Major updates, now adds timestamps for stable tags, also creates a few dozen more types of tags and calculates non-patch tags for future use 2023-10-11 10:46:06 -04:00
cpanfile Update cpanfile 2023-10-09 10:07:53 -04:00
generate.pl Build only 5.20, use a different variable for suffix and also timestamp the os base containers 2023-10-11 11:37:20 -04:00
library.pl Debian Bullseye 2021-11-13 01:19:32 +08:00

README.md

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, followed by the Debian release codename that the resulting Docker image will be based from.

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.