Commit graph

73 commits

Author SHA1 Message Date
Automation Pipeline
84d3f7ba3e Build only 5.20, use a different variable for suffix and also timestamp the os base containers
All checks were successful
ci/woodpecker/push/generate-perl Pipeline was successful
ci/woodpecker/push/base-os Pipeline was successful
ci/woodpecker/push/build-perls Pipeline was successful
2023-10-11 11:37:20 -04:00
Automation Pipeline
63d209b956 fix tags
All checks were successful
ci/woodpecker/manual/generate-perl Pipeline was successful
ci/woodpecker/manual/base-os Pipeline was successful
ci/woodpecker/manual/build-perls Pipeline was successful
2023-10-02 15:41:48 -04:00
Automation Pipeline
dec88bfcc4 Builds locally now, ready to run?
All checks were successful
ci/woodpecker/push/base-os Pipeline was successful
ci/woodpecker/push/generate-perl Pipeline was successful
ci/woodpecker/push/build-perls Pipeline was successful
2023-10-02 14:45:42 -04:00
0f80db1f28 Setup the base image in the generator
Some checks failed
ci/woodpecker/push/base-os Pipeline was successful
ci/woodpecker/push/generate-perl Pipeline was successful
ci/woodpecker/push/build-perls Pipeline failed
2023-10-02 13:26:06 -04:00
919c331208 Might finally build a container now
Some checks failed
ci/woodpecker/push/base-os Pipeline was successful
ci/woodpecker/push/generate-perl Pipeline was successful
ci/woodpecker/push/build-perls Pipeline failed
2023-10-02 11:56:09 -04:00
187efe33b9 Almost there, now set a user for git
Some checks failed
ci/woodpecker/push/generate-perl Pipeline failed
ci/woodpecker/push/base-os Pipeline was successful
ci/woodpecker/push/build-perls unknown status
2023-10-01 11:50:43 -04:00
3119d04921 Try this setup
Some checks failed
ci/woodpecker/push/base-os Pipeline was successful
ci/woodpecker/push/generate-perl Pipeline failed
ci/woodpecker/push/build-perls unknown status
2023-10-01 11:32:57 -04:00
31eab033c5 Need to add safedirectory due to ownership during run within docker
Some checks failed
ci/woodpecker/push/base-os Pipeline was successful
ci/woodpecker/push/generate-perl Pipeline failed
ci/woodpecker/push/build-perls unknown status
2023-10-01 11:13:08 -04:00
4ba9572e59 Fix bug and also change how artifacts go up
Some checks failed
ci/woodpecker/push/base-os Pipeline was successful
ci/woodpecker/push/generate-perl Pipeline failed
ci/woodpecker/push/build-perls unknown status
2023-10-01 11:02:35 -04:00
d50d3ed999 on the way to using a base os image that contains the main os start 2023-09-29 08:13:39 -04:00
265e4a4ebe Remove buster 2023-09-28 16:23:42 -04:00
e80c27e208 Use path tiny now, clean up some boiler plate and also put stuff into an output/ directory 2023-09-28 15:44:25 -04:00
ryan
cea0ceaa83 Include 5.34.1 and 5.36.0, combined with arm build attempts 2022-06-06 09:37:28 -04:00
ryan
47ea4d29f4 arm is special 2022-05-15 13:52:23 -04:00
ryan
5ae0746893 arm versions working 2022-05-12 15:21:46 -04:00
ryan
a6b5516455 setting up arm builds 2022-05-12 13:57:54 -04:00
ryan
49fbbd4453 Try to shrinkify things a bit 2022-03-08 11:08:55 -05:00
7994ea0b66 some missing configs and change build script 2022-03-06 10:52:50 -05:00
fade380359 Really this time 2022-03-04 12:00:07 -05:00
f98d79d9ba truncate file since it complains 2022-03-04 11:20:50 -05:00
15b1551d6e ignore gdbm fatal.t since it wont function with newer gdbm 2022-03-04 11:15:49 -05:00
ae410e33fd Use debian backports directly as base, to allow for fixed compiler version. Re-enable tests, and remove slim builds 2022-03-04 10:50:40 -05:00
8f346e650e remove slim 2022-03-04 10:15:39 -05:00
b1e05692f9 more adjustments 2022-03-03 12:33:21 -05:00
a932322f61 change config to have more builds, sort the tags 2022-03-03 12:26:25 -05:00
02c6272796 quad and long double are either or 2022-03-03 12:11:04 -05:00
6f9ea0f2fd Update config and allow for more options 2022-03-03 12:08:18 -05:00
J0WI
8e053ca86a Debian Bullseye 2021-11-13 01:19:32 +08:00
Zak B. Elep
acba2a60a1 generate.pl: fix pod links, alt text and link were flipped 2021-05-21 17:47:32 +08:00
Tianon Gravi
22f7d649e2 Update old Perls from jessie to stretch (and test them all in Actions)
Additionally, add buster to all of them.

Finally, move all EOL versions into a completely separate `eol/` directory so that the repository is a little easier manage (and so we can limit testing of all old EOL versions to only when something inside the `eol/` directory changes).
2021-05-18 13:57:40 +08:00
Zak B. Elep
fd607b3fa7 Revert "generate.pl: temporarily skip generating for older Perls"
This reverts commit 1edb705f82.

Should be fine now that
https://metacpan.org/release/BINGOS/Devel-PatchPerl-2.00 fixes failing
patches.
2020-06-05 14:54:38 +08:00
Zak B. Elep
1edb705f82 generate.pl: temporarily skip generating for older Perls
Appease test failures for now so we can expedite releasing
5.28.3/5.30.3.
2020-06-04 15:22:52 +08:00
Zak B. Elep
054bceb46d Remove 5.26-5.28 Time::Local patches
These patches are now integrated into
https://metacpan.org/release/BINGOS/Devel-PatchPerl-1.90 (which
backports even further to v5.8.7.)
2020-03-16 15:17:23 +08:00
Zak B. Elep
70727fb79e generate.pl: Add patch for Time::Local on perls between 5.26 - 5.30
- https://github.com/Perl/docker-perl/issues/76
- https://github.com/Perl/perl5/issues/17410

For current-supported perls, only 5.28 is affected.
2020-01-22 14:03:29 +08:00
Zak B. Elep
b163317e64 generate.pl: set an always-accessible WORKDIR for any user
Ensure Perl containers can run even when the working `USER` is altered
by using `WORKDIR /`, as non-root users are unable to access `/root`.
This is especially noticeable in Kubernetes clusters (where container
processes are prevented from running as root.)

Fixes #72.
2019-11-23 11:01:34 +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
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
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
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
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
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
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
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
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
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