From 886e632ad7ab2b0e0eadf865c14c0db1852f2f1f Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 2 Feb 2015 10:00:09 -0700 Subject: [PATCH] Remove sha1.txt and embed it in the Dockerfile This avoids `COPY` entirely, allowing us to bypass the cache behavior of `COPY` as well. --- 5.018.004-64bit,threaded/Dockerfile | 5 ++--- 5.018.004-64bit,threaded/sha1.txt | 1 - 5.018.004-64bit/Dockerfile | 5 ++--- 5.018.004-64bit/sha1.txt | 1 - 5.020.001-64bit,threaded/Dockerfile | 5 ++--- 5.020.001-64bit,threaded/sha1.txt | 1 - 5.020.001-64bit/Dockerfile | 5 ++--- 5.020.001-64bit/sha1.txt | 1 - generate.pl | 11 +++-------- 9 files changed, 11 insertions(+), 24 deletions(-) delete mode 100644 5.018.004-64bit,threaded/sha1.txt delete mode 100644 5.018.004-64bit/sha1.txt delete mode 100644 5.020.001-64bit,threaded/sha1.txt delete mode 100644 5.020.001-64bit/sha1.txt diff --git a/5.018.004-64bit,threaded/Dockerfile b/5.018.004-64bit,threaded/Dockerfile index cfdba84..1d026e8 100644 --- a/5.018.004-64bit,threaded/Dockerfile +++ b/5.018.004-64bit,threaded/Dockerfile @@ -8,11 +8,10 @@ RUN apt-get update \ RUN mkdir /usr/src/perl WORKDIR /usr/src/perl -COPY sha1.txt /tmp/sha1.txt RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.18.4.tar.bz2 -o perl-5.18.4.tar.bz2 \ - && sha1sum -c /tmp/sha1.txt \ + && echo '69c34558a0a939a7adbbc1de48c06ea418d81e27 *perl-5.18.4.tar.bz2' | sha1sum -c - \ && tar --strip-components=1 -xjf perl-5.18.4.tar.bz2 -C /usr/src/perl \ - && rm perl-5.18.4.tar.bz2 /tmp/sha1.txt \ + && rm perl-5.18.4.tar.bz2 \ && ./Configure -Dusethreads -Duse64bitall -A ccflags=-fwrapv -des \ && make -j$(nproc) \ && TEST_JOBS=$(nproc) make test_harness \ diff --git a/5.018.004-64bit,threaded/sha1.txt b/5.018.004-64bit,threaded/sha1.txt deleted file mode 100644 index b833c2d..0000000 --- a/5.018.004-64bit,threaded/sha1.txt +++ /dev/null @@ -1 +0,0 @@ -69c34558a0a939a7adbbc1de48c06ea418d81e27 perl-5.18.4.tar.bz2 diff --git a/5.018.004-64bit/Dockerfile b/5.018.004-64bit/Dockerfile index 0079ba5..b64bac0 100644 --- a/5.018.004-64bit/Dockerfile +++ b/5.018.004-64bit/Dockerfile @@ -8,11 +8,10 @@ RUN apt-get update \ RUN mkdir /usr/src/perl WORKDIR /usr/src/perl -COPY sha1.txt /tmp/sha1.txt RUN curl -SL https://cpan.metacpan.org/authors/id/R/RJ/RJBS/perl-5.18.4.tar.bz2 -o perl-5.18.4.tar.bz2 \ - && sha1sum -c /tmp/sha1.txt \ + && echo '69c34558a0a939a7adbbc1de48c06ea418d81e27 *perl-5.18.4.tar.bz2' | sha1sum -c - \ && tar --strip-components=1 -xjf perl-5.18.4.tar.bz2 -C /usr/src/perl \ - && rm perl-5.18.4.tar.bz2 /tmp/sha1.txt \ + && rm perl-5.18.4.tar.bz2 \ && ./Configure -Duse64bitall -A ccflags=-fwrapv -des \ && make -j$(nproc) \ && TEST_JOBS=$(nproc) make test_harness \ diff --git a/5.018.004-64bit/sha1.txt b/5.018.004-64bit/sha1.txt deleted file mode 100644 index b833c2d..0000000 --- a/5.018.004-64bit/sha1.txt +++ /dev/null @@ -1 +0,0 @@ -69c34558a0a939a7adbbc1de48c06ea418d81e27 perl-5.18.4.tar.bz2 diff --git a/5.020.001-64bit,threaded/Dockerfile b/5.020.001-64bit,threaded/Dockerfile index cc657d2..f2bd6db 100644 --- a/5.020.001-64bit,threaded/Dockerfile +++ b/5.020.001-64bit,threaded/Dockerfile @@ -8,11 +8,10 @@ RUN apt-get update \ RUN mkdir /usr/src/perl WORKDIR /usr/src/perl -COPY sha1.txt /tmp/sha1.txt RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.20.1.tar.bz2 -o perl-5.20.1.tar.bz2 \ - && sha1sum -c /tmp/sha1.txt \ + && echo 'cd424d1520ba2686fe5d4422565aaf880e9467f6 *perl-5.20.1.tar.bz2' | sha1sum -c - \ && tar --strip-components=1 -xjf perl-5.20.1.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.1.tar.bz2 /tmp/sha1.txt \ + && rm perl-5.20.1.tar.bz2 \ && ./Configure -Dusethreads -Duse64bitall -des \ && make -j$(nproc) \ && TEST_JOBS=$(nproc) make test_harness \ diff --git a/5.020.001-64bit,threaded/sha1.txt b/5.020.001-64bit,threaded/sha1.txt deleted file mode 100644 index 74a5466..0000000 --- a/5.020.001-64bit,threaded/sha1.txt +++ /dev/null @@ -1 +0,0 @@ -cd424d1520ba2686fe5d4422565aaf880e9467f6 perl-5.20.1.tar.bz2 diff --git a/5.020.001-64bit/Dockerfile b/5.020.001-64bit/Dockerfile index ec3a791..c4203e3 100644 --- a/5.020.001-64bit/Dockerfile +++ b/5.020.001-64bit/Dockerfile @@ -8,11 +8,10 @@ RUN apt-get update \ RUN mkdir /usr/src/perl WORKDIR /usr/src/perl -COPY sha1.txt /tmp/sha1.txt RUN curl -SL https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.20.1.tar.bz2 -o perl-5.20.1.tar.bz2 \ - && sha1sum -c /tmp/sha1.txt \ + && echo 'cd424d1520ba2686fe5d4422565aaf880e9467f6 *perl-5.20.1.tar.bz2' | sha1sum -c - \ && tar --strip-components=1 -xjf perl-5.20.1.tar.bz2 -C /usr/src/perl \ - && rm perl-5.20.1.tar.bz2 /tmp/sha1.txt \ + && rm perl-5.20.1.tar.bz2 \ && ./Configure -Duse64bitall -des \ && make -j$(nproc) \ && TEST_JOBS=$(nproc) make test_harness \ diff --git a/5.020.001-64bit/sha1.txt b/5.020.001-64bit/sha1.txt deleted file mode 100644 index 74a5466..0000000 --- a/5.020.001-64bit/sha1.txt +++ /dev/null @@ -1 +0,0 @@ -cd424d1520ba2686fe5d4422565aaf880e9467f6 perl-5.20.1.tar.bz2 diff --git a/generate.pl b/generate.pl index 5a1504e..f679dc1 100755 --- a/generate.pl +++ b/generate.pl @@ -49,17 +49,13 @@ for my $release (@{$yaml->{releases}}) { for my $config (keys %builds) { my $output = $template; - $output =~ s/{{$_}}/$release->{$_}/mg for (qw(version pause extra_flags)); + $output =~ s/{{$_}}/$release->{$_}/mg for (qw(version pause extra_flags sha1)); $output =~ s/{{args}}/$builds{$config}/mg; my $dir = sprintf "%i.%03i.%03i-%s", ($release->{version} =~ /(\d+)\.(\d+)\.(\d+)/), $config; - open my $sha1, ">$dir/sha1.txt" or die "Couldn't open $dir/sha1.txt for writing"; - print $sha1 "$release->{sha1} perl-$release->{version}.tar.bz2\n"; - close $sha1; - open my $dockerfile, ">$dir/Dockerfile" or die "Couldn't open $dir/Dockerfile for writing"; print $dockerfile $output; close $dockerfile; @@ -116,11 +112,10 @@ RUN apt-get update \ RUN mkdir /usr/src/perl WORKDIR /usr/src/perl -COPY sha1.txt /tmp/sha1.txt RUN curl -SL https://cpan.metacpan.org/authors/id/{{pause}}/perl-{{version}}.tar.bz2 -o perl-{{version}}.tar.bz2 \ - && sha1sum -c /tmp/sha1.txt \ + && echo '{{sha1}} *perl-{{version}}.tar.bz2' | sha1sum -c - \ && tar --strip-components=1 -xjf perl-{{version}}.tar.bz2 -C /usr/src/perl \ - && rm perl-{{version}}.tar.bz2 /tmp/sha1.txt \ + && rm perl-{{version}}.tar.bz2 \ && ./Configure {{args}} {{extra_flags}} -des \ && make -j$(nproc) \ && TEST_JOBS=$(nproc) make test_harness \