Merge remote-tracking branch 'github/master'

This commit is contained in:
Ryan Voots 2023-09-28 15:34:37 -04:00
commit 1765a35533
6 changed files with 46 additions and 19 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
perl-*.bz2 perl-*.bz2
downloads downloads
build.*

View file

@ -4,10 +4,17 @@ set -euo pipefail
for build in 5*; do for build in 5*; do
TAG=simcop2387/perl:$(echo $build | perl -pE 's/,/-/g') TAG=simcop2387/perl:$(echo $build | perl -pE 's/,/-/g')
echo building $TAG... LOCAL_TAG=registry.docker.home.simcop2387.info:443/simcop2387/perl:$(echo $build | perl -pE 's/,/-/g')
PLATFORMS=linux/amd64,linux/arm64
if [[ $build == *"quadmath"* ]]; then
# exclude arm64 from quadmath builds since it doesn't apply
PLATFORMS=linux/amd64
fi
echo building $TAG... $PLATFORMS
( cd $build; ( cd $build;
docker build -t $TAG . docker buildx build --cache-from type=registry,ref=registry.docker.home.simcop2387.info:443/simcop2387/perl --cache-to type=registry,ref=registry.docker.home.simcop2387.info:443/simcop2387/perl,mode=max --platform=$PLATFORMS --progress=simple -t $TAG -t $LOCAL_TAG --push . 2>&1 && \
docker push $TAG docker push $TAG && \
) | ts "$TAG [%H:%M:%S]" > build.$TAG.log || echo " Failed to build $TAG" docker push $LOCAL_TAG
) | ts "$TAG [%H:%M:%S]" | tee build.$TAG.log || echo " Failed to build $TAG"
done done

View file

@ -12,7 +12,7 @@ options:
releases: releases:
- version: 5.28.3 - version: 5.28.3
sha256: 77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5 sha256: 77dc1ddf541643af14d585867d3d0741cce45d0dbe8f1467024e63165d9e2fc5
run_tests: parallel run_tests: no
type: xz type: xz
debian_release: debian_release:
- buster - buster
@ -20,7 +20,7 @@ releases:
- version: 5.26.3 - version: 5.26.3
sha256: e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135 sha256: e0a17cdaed5304aea1783e507e56bb0001dd72c46f211553ead3a580c3f38135
run_tests: parallel run_tests: no
type: xz type: xz
debian_release: debian_release:
- buster - buster
@ -28,7 +28,7 @@ releases:
- version: 5.24.4 - version: 5.24.4
sha256: 7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84 sha256: 7f080287ff64750270689843ae945f02159a33cb8f2fc910248c15befba5db84
run_tests: parallel run_tests: no
type: xz type: xz
debian_release: debian_release:
- buster - buster
@ -36,7 +36,7 @@ releases:
- version: 5.22.4 - version: 5.22.4
sha256: 713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8 sha256: 713243dce27d7aa0bdbf52b2070de5ce449f9ffbcc14a93efbc6f2beff0f5ce8
run_tests: parallel run_tests: no
type: xz type: xz
debian_release: debian_release:
- buster - buster
@ -44,7 +44,7 @@ releases:
- version: 5.20.3 - version: 5.20.3
sha256: 1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b sha256: 1b40068166c242e34a536836286e70b78410602a80615143301e52aa2901493b
run_tests: parallel run_tests: no
type: bz2 type: bz2
debian_release: debian_release:
- buster - buster
@ -52,7 +52,7 @@ releases:
- version: 5.30.3 - version: 5.30.3
sha256: 6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4 sha256: 6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4
run_tests: parallel run_tests: no
type: xz type: xz
debian_release: debian_release:
- buster - buster
@ -60,7 +60,7 @@ releases:
- version: 5.32.1 - version: 5.32.1
sha256: 57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 sha256: 57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309
run_tests: parallel run_tests: no
type: xz type: xz
debian_release: debian_release:
- buster - buster
@ -68,7 +68,23 @@ releases:
- version: 5.34.0 - version: 5.34.0
sha256: 82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded sha256: 82c2e5e5c71b0e10487a80d79140469ab1f8056349ca8545140a224dbbed7ded
run_tests: parallel run_tests: no
type: xz
debian_release:
- buster
- bullseye
- version: 5.34.1
sha256: 6d52cf833ff1af27bb5e986870a2c30cec73c044b41e3458cd991f94374039f7
run_tests: no
type: xz
debian_release:
- buster
- bullseye
- version: 5.36.0
sha256: 0f386dccbee8e26286404b2cca144e1005be65477979beb9b1ba272d4819bcf0
run_tests: no
type: xz type: xz
debian_release: debian_release:
- buster - buster

View file

@ -4,3 +4,6 @@ requires 'YAML::XS';
on 'develop' => sub { on 'develop' => sub {
requires 'Perl::Tidy'; requires 'Perl::Tidy';
}; };
requires 'LWP::Simple';
requires 'LWP::Protocol::https';

View file

View file

@ -125,7 +125,7 @@ for my $release (@{$config->{releases}}) {
} }
else { else {
print "Downloading $url\n"; print "Downloading $url\n";
getstore($url, "downloads/$file"); getstore($url, "downloads/$file") or die "failed";
} }
{ {
my $dir = "downloads/perl-$release->{version}"; my $dir = "downloads/perl-$release->{version}";
@ -290,18 +290,18 @@ RUN perl -i.bak -pE '$x=$_; $x=~s|^deb |deb-src |g;$_.=$x' /etc/apt/sources.list
&& apt -yq build-dep perl \ && apt -yq build-dep perl \
&& {{docker_slim_run_install}} \ && {{docker_slim_run_install}} \
&& curl -SL {{url}} -o perl-{{version}}.tar.{{type}} \ && curl -SL {{url}} -o perl-{{version}}.tar.{{type}} \
&& echo '{{sha256}} *perl-{{version}}.tar.{{type}}' | sha256sum -c - && echo '{{sha256}} *perl-{{version}}.tar.{{type}}' | sha256sum -c - \
RUN tar --strip-components=1 -xaf perl-{{version}}.tar.{{type}} -C /usr/src/perl \ && tar --strip-components=1 -xaf perl-{{version}}.tar.{{type}} -C /usr/src/perl \
&& rm perl-{{version}}.tar.{{type}} \ && rm perl-{{version}}.tar.{{type}} \
&& cat *.patch | patch -p1 \ && cat *.patch | patch -p1 \
&& echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t && echo 'print "1..0 # Skipped: Tests are invalid"' > /usr/src/perl/ext/GDBM_File/t/fatal.t \
RUN gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
&& archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \ && archBits="$(dpkg-architecture --query DEB_BUILD_ARCH_BITS)" \
&& archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \ && archFlag="$([ "$archBits" = '64' ] && echo '-Duse64bitall' || echo '-Duse64bitint')" \
&& ./Configure -Darchname="$gnuArch" "$archFlag" {{args}} {{extra_flags}} -des \ && ./Configure -Darchname="$gnuArch" "$archFlag" {{args}} {{extra_flags}} -des \
&& make -j$(nproc) \ && make -j$(nproc) \
&& {{test}} && {{test}} \
RUN make install \ && make install \
&& cd /usr/src \ && cd /usr/src \
&& curl -LO {{cpanm_dist_url}} \ && curl -LO {{cpanm_dist_url}} \
&& echo '{{cpanm_dist_sha256}} *{{cpanm_dist_name}}.tar.gz' | sha256sum -c - \ && echo '{{cpanm_dist_sha256}} *{{cpanm_dist_name}}.tar.gz' | sha256sum -c - \