Commit graph

132 commits

Author SHA1 Message Date
Zak B. Elep
0104479194 Add patch for GDBM_File on 5.26/5.28 Debian buster builds
This patch backports some test skips on GDBM_File against the newer
libgdbm on Debian 10 (buster) from Perl 5.30.

https://rt.perl.org/Public/Bug/Display.html?id=133295
0d9e812de5.patch
2019-07-27 10:32:22 +08:00
Zak B. Elep
867511fdf1 README.md: Update directory structure description
Note about the use of Debian release codename, and remove the obsolete
note about bit specification.
2019-07-27 10:32:22 +08:00
Zak B. Elep
881b8c3329 ⚙️ Regenerate/rename Dockerfiles and patches
Generate new Debian buster Dockerfiles and patches for Perls 5.26
through 5.30, and rename existing files to the new directory structure.
2019-07-27 10:32:22 +08:00
Zak B. Elep
55da8cbe45 config.yml: Explicitly specify Debian stretch for previous Perls
Retain older Perls 5.20 through 5.24 under Debian stretch for less
suprises; people can copy and modify these over to Debian buster
manually if needed.
2019-07-27 10:32:22 +08:00
Zak B. Elep
21414bb86b generate.pl: Default Debian release to build is buster
Switch over to the current latest Debian release.
2019-07-27 10:32:22 +08:00
Zak B. Elep
ebec210424 config.yml: Add Debian 10 (buster) support for current Perls
Prepare building buster-based images for Perl 5.26, 5.28, and 5.30.
2019-07-27 10:32:22 +08:00
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
Rolf Stöckli
92233bc529 Add Perl 5.30. 2019-05-27 14:25:34 +08:00
Rolf Stöckli
9c26484442 Update patch files for older versions. 2019-04-27 13:42:06 +08:00
Rolf Stöckli
d52144a6dc Remove 5.28.1. 2019-04-27 13:42:06 +08:00
Rolf Stöckli
8d750292cf Update config, create Dockerfiles for 5.28.2. 2019-04-27 13:42:06 +08:00
Wesley Schwengle
1d9b7503c9 Fix bug where git diff always differs with upstream
When running generate I get a lot of differences in DevelPatchPerl.patch
because git's `diff.mnemonicprefix` is set to `true`. To mitigate this,
use `git -c 'diff.mnemonicprefix=false' diff` so everything is the same
as upstream.
2019-03-29 14:39:27 +08:00
Wesley Schwengle
0b759cd7f8 Remove old config defintions
Commit 65ea3a9754 forgot to remove older
perl versions.
2019-03-29 11:09:44 +08:00
Zak B. Elep
65ea3a9754 💥 Remove older 5.26/5.28 releases 2019-01-28 14:16:44 +08:00
Henrik Andersen
423033ce3d added perl 5.26.3 and 5.28.1 2019-01-28 14:16:09 +08:00
Zak B. Elep
fdeef39b23 ⚙️ Regenerate all Dockerfiles
Fetch cpanm over HTTPS.
2018-08-26 13:44:06 +08:00
Zak B. Elep
6c54c839cc Fetch cpanm over HTTPS
Fixes #55, thanks @J0WI for spotting!
2018-08-26 13:41:46 +08:00
Zak B. Elep
892e2b4fbb 💄 Update README
As the Dockerfile directory names have changed, update the note here
regarding builds on multiple architectures.
2018-08-12 15:48:28 +08:00
Zak B. Elep
1cd70cc9e1 ⚙️ Regenerate all Dockerfiles
This renames the previous directories to use the new build scheme, as
well as adds new directories for the `slim` variants.
2018-08-12 15:36:16 +08:00
Zak B. Elep
0cb4fc3643 generate.pl: overhaul to support building slim images
Do a long-needed overhaul of this script allow building of `slim`
variants:

- Make the base image configurable through a new `builds` setting.
- Rename the `64bit` image to `main`, as bit-ness no longer applies as
  we already build on multiple architectures.
- Rename `Releases.yaml` to the more general `config.yml`, allowing it
  to contain the supported image variants and Configure options.
- Run through perltidy 💄

The `slim` variants installs the minimum build-deps needed to build
Perl, and removes them after (save for make and netbase, to retain being
able to install CPAN modules through cpanm.)
2018-08-12 15:36:16 +08:00
Zak B. Elep
b4032ceb63 💄 Add Perl::Tidy for development
Adapt a .perltidyrc from Mojo, modified for long lines support.
2018-08-04 19:46:34 +08:00
Zak B. Elep
c3e4a229b3 Generate 5.028.000 2018-06-25 19:59:24 +08:00
Zak B. Elep
0b12942363 Add 5.28.0
Cf. https://github.com/Perl/docker-perl/issues/48
2018-06-25 19:57:13 +08:00
Zak B. Elep
54f85d9b00 💄 Regenerate current Dockerfiles
Only change here is the `tar` option to use `--auto-compress` instead of
a specific compression option.
2018-06-25 19:53:27 +08:00
Zak B. Elep
7720ae37ff generate.pl: support perl dists of different compression types
Perl 5.28.0 seems to be distributed only in gzip and xz tarballs now, so
adjust accordingly.  This now requires a GNU tar with
`-a/--auto-compress` option support (tar version >= 1.20) which
buildpack-deps Docker image already includes; those wanting to use this
script to regenerate, however, should match their tar version as well.
2018-06-25 19:48:10 +08:00
Zak B. Elep
1c201e950e Regenerate all Dockerfiles for cpanm 1.7044 2018-04-19 22:14:18 +08:00
Zak B. Elep
28cb55bcf0 Update bundled cpanm to 1.7044
Better support for zip file dist with comments and using MetaCPAN for
HTTPS downloads by default.
2018-04-19 22:01:55 +08:00
Zak B. Elep
b1d0459e7a generate.pl: prefer to use VERSION with numeric form
As stated in `perldoc -f use`, using a v-string literal should be
avoided in favor of numeric form for backwards compatibility.
2018-04-19 21:39:16 +08:00
Zak B. Elep
c2454eadb0 Remove older 5.24/5.26 releases 2018-04-19 21:35:50 +08:00
Zak B. Elep
642ba5d1d3 Generate 5.024.004/5.026.002 2018-04-19 21:28:42 +08:00
Zak B. Elep
e208134d95 Update 5.24 and 5.26
New updates prior to the release of 5.28 this May.
2018-04-19 21:19:17 +08:00
Zak B. Elep
a5c2d6c896 Remove older 5.24/5.26 releases 2017-12-04 12:06:03 +08:00
Zak B. Elep
0bf7c670fe 💄 fix README.md links 2017-12-04 11:43:59 +08:00
Zak B. Elep
8fa44fb367 Add cpanfile 2017-12-04 10:56:56 +08:00
Zak B. Elep
717a26014d Update README.md
Now mention Docker Perl on architectures other than amd64, as well as
provide instructions for regenerating the Dockerfiles.
2017-12-04 10:55:20 +08:00
Zak B. Elep
7f1f1a3b17 Generate 5.024.003/5.026.001 2017-12-04 10:26:35 +08:00
Zak B. Elep
9bf439f4db Update 5.24 and 5.26 2017-12-04 10:24:57 +08:00
Tianon Gravi
cace6e7a2c Adjust "./Configure" for wider architecture support
This adds an appropriate "-Darchname" value for cross-building (arm32v7 builds on an arm64v8 kernel, i386 builds on an amd64 kernel, etc), and conditionally converts "-Duse64bitall" into "-Duse64bitint" (which is what Debian uses when compiling Perl).

See also https://sources.debian.net/src/perl/stretch/debian/config.debian/#L115 and https://sources.debian.net/src/perl/stretch/debian/config.debian/#L130.

> *** You have chosen a maximally 64-bit build,
> *** but your pointers are only 4 bytes wide.
> *** Please rerun Configure without -Duse64bitall.
> *** Since you have quads, you could possibly try with -Duse64bitint.
2017-09-05 01:12:38 +08:00
Zak B. Elep
8044d4ba76 Comment CHECKSUMS location for reference
We might probably update this later when cpanm/Menlo gets bumped.
2017-08-19 19:25:22 +08:00
Zak B. Elep
4ca9bccb3d Regenerate Dockerfiles to fetch cpanm dist with checksum
Now less ugly than copy a static fatpacked cpanm into our repo.
2017-08-19 19:25:22 +08:00
Zak B. Elep
f91962cfe6 Embed cpanm SHA256 checksum for verifying in image build
Install cpanm in the same fashion as Perl: via source dist with SHA256
checksum.  Thanks @tianon for the idea!
2017-08-19 19:25:22 +08:00
Zak B. Elep
a96dbd55d2 Regenerate Dockerfiles to use https://www.cpan.org/src/5.0/
Sync with changes in previous commit.
2017-08-19 19:21:34 +08:00
Zak B. Elep
0a6526583a generate.pl: Use single canonical location for getting Perl tarballs
We seem to be using www.cpan.org for getting the Perl tarballs for
patching with Devel::PatchPerl, yet in our generated Dockerfiles we are
using cpan.metacpan.org instead.  Since the former location is listed in
www.perl.org as the canonical Perl source location, let's base from that
as our single source of truth.

This also means we can depend less on finding which PAUSE account has
which Perl release, so let's remove that from the Releases.yaml as well.
2017-08-19 19:21:34 +08:00
Zak B. Elep
ccda32e166 Update maintainers in Dockerfiles
`MAINTAINER` Dockerfile directive is now deprecated (see
https://github.com/moby/moby/pull/25466) so update generate.pl to use
`LABEL` instead.  This is also a good time to add myself :)

Regenerate the Dockerfiles as well for sync.
2017-08-13 00:56:45 +08:00
Zak B. Elep
d6371f3fdf generate.pl: Use 3-arg open()
Heed perlcritic/PBP
2017-08-11 17:24:44 +08:00
Zak B. Elep
fcd5c61de4 Remove another RUN layer
We don't need `mkdir` since COPY will already make the destination path
for us.
2017-08-11 17:03:26 +08:00
Zak B. Elep
c7c75e2043 Regenerate Dockerfiles to use tagged buildpack-deps
Thanks generate.pl!
2017-08-11 17:03:26 +08:00
Zak B. Elep
b56dee38fa Fix typo 2017-08-11 17:03:26 +08:00
Zak B. Elep
207b511305 Use buildpack-deps:jessie on Perls < 5.20
This lets us build older Perls on their contemporary build stack.
2017-08-11 17:03:26 +08:00
Zak B. Elep
556e779ba8 Add buildpack_deps option to generate.pl
Enable specifying what `buildpack-deps` tagged image to use on Perl
image builds, defaulting to `stretch` at this time.
2017-08-11 17:03:26 +08:00