diff --git a/.architectures-lib b/.architectures-lib index 724a716..8d384fa 100644 --- a/.architectures-lib +++ b/.architectures-lib @@ -17,6 +17,12 @@ hasBashbrewArch() { _awkArch "$version" 'BEGIN { exitCode = 1 } $1 == bashbrewArch { exitCode = 0 } END { exit exitCode }' -v bashbrewArch="$bashbrewArch" } +dpkgToBashbrewArch() { + local version="$1"; shift + local dpkgArch="$1"; shift + _awkArch "$version" '$2 == dpkgArch { print $1; exit }' -v dpkgArch="$dpkgArch" +} + dpkgToJuliaTarArch() { local version="$1"; shift local dpkgArch="$1"; shift diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index dbfe362..8498e61 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -55,7 +55,7 @@ parentArches() { local arches=() for arch in $parentArches; do - if hasBashbrewArch "$version" "$arch"; then + if hasBashbrewArch "$version" "$arch" && grep -qE "^# $arch\$" "$dir/Dockerfile"; then arches+=( "$arch" ) fi done diff --git a/jessie/Dockerfile b/jessie/Dockerfile index 7eda9d2..47a393a 100644 --- a/jessie/Dockerfile +++ b/jessie/Dockerfile @@ -17,7 +17,7 @@ ENV PATH $JULIA_PATH/bin:$PATH ENV JULIA_GPG 3673DF529D9049477F76B37566E3C7DC03D6E495 # https://julialang.org/downloads/ -ENV JULIA_VERSION 0.6.3 +ENV JULIA_VERSION 0.6.4 RUN set -eux; \ \ @@ -32,14 +32,14 @@ RUN set -eux; \ fi; \ \ # https://julialang.org/downloads/#julia-command-line-version -# https://julialang-s3.julialang.org/bin/checksums/julia-0.6.3.sha256 +# https://julialang-s3.julialang.org/bin/checksums/julia-0.6.4.sha256 # this "case" statement is generated via "update.sh" dpkgArch="$(dpkg --print-architecture)"; \ case "${dpkgArch##*-}" in \ - amd64) tarArch='x86_64'; dirArch='x64'; sha256='36212ed8e1c864599e9f149d884d504eee15b57b96bf918cb5b9ac35a5ab6283' ;; \ - armhf) tarArch='armv7l'; dirArch='armv7l'; sha256='abe9dd0cbf890a13bfe69581bf4eee100c8834bf4c0296416d20af54d80e6d9a' ;; \ - arm64) tarArch='aarch64'; dirArch='aarch64'; sha256='cdd1420fc3df0058978ccb20e2f4db47cb6d3dd164cb67ba70ee2d5c99306c47' ;; \ - i386) tarArch='i686'; dirArch='x86'; sha256='3e6f2c3d0a168077ddd61383566513303b0153c56352df2dde1531eb16d79143' ;; \ +# amd64 + amd64) tarArch='x86_64'; dirArch='x64'; sha256='d20e6984bcf8c3692d853a9922e2cf1de19b91201cb9e396d9264c32cebedc46' ;; \ +# i386 + i386) tarArch='i686'; dirArch='x86'; sha256='ab45280c799e63ab04da7a928fee79b43e41b457a6d4c48058798b9bad542688' ;; \ *) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding Julia binary release"; exit 1 ;; \ esac; \ \ diff --git a/release-architectures b/release-architectures index 08feb9d..8775207 100644 --- a/release-architectures +++ b/release-architectures @@ -5,6 +5,4 @@ amd64 amd64 x86_64 x64 arm32v7 armhf armv7l armv7l arm64v8 arm64 aarch64 aarch64 i386 i386 i686 x86 - -# ppc64le appears to be "0.6.0-rc3"-only as of 2017-08-24 -#ppc64le ppc64el ppc64le ppc64le +ppc64le ppc64el ppc64le ppc64le diff --git a/stretch/Dockerfile b/stretch/Dockerfile index 61f4ef8..6a7b5b5 100644 --- a/stretch/Dockerfile +++ b/stretch/Dockerfile @@ -17,7 +17,7 @@ ENV PATH $JULIA_PATH/bin:$PATH ENV JULIA_GPG 3673DF529D9049477F76B37566E3C7DC03D6E495 # https://julialang.org/downloads/ -ENV JULIA_VERSION 0.6.3 +ENV JULIA_VERSION 0.6.4 RUN set -eux; \ \ @@ -32,14 +32,14 @@ RUN set -eux; \ fi; \ \ # https://julialang.org/downloads/#julia-command-line-version -# https://julialang-s3.julialang.org/bin/checksums/julia-0.6.3.sha256 +# https://julialang-s3.julialang.org/bin/checksums/julia-0.6.4.sha256 # this "case" statement is generated via "update.sh" dpkgArch="$(dpkg --print-architecture)"; \ case "${dpkgArch##*-}" in \ - amd64) tarArch='x86_64'; dirArch='x64'; sha256='36212ed8e1c864599e9f149d884d504eee15b57b96bf918cb5b9ac35a5ab6283' ;; \ - armhf) tarArch='armv7l'; dirArch='armv7l'; sha256='abe9dd0cbf890a13bfe69581bf4eee100c8834bf4c0296416d20af54d80e6d9a' ;; \ - arm64) tarArch='aarch64'; dirArch='aarch64'; sha256='cdd1420fc3df0058978ccb20e2f4db47cb6d3dd164cb67ba70ee2d5c99306c47' ;; \ - i386) tarArch='i686'; dirArch='x86'; sha256='3e6f2c3d0a168077ddd61383566513303b0153c56352df2dde1531eb16d79143' ;; \ +# amd64 + amd64) tarArch='x86_64'; dirArch='x64'; sha256='d20e6984bcf8c3692d853a9922e2cf1de19b91201cb9e396d9264c32cebedc46' ;; \ +# i386 + i386) tarArch='i686'; dirArch='x86'; sha256='ab45280c799e63ab04da7a928fee79b43e41b457a6d4c48058798b9bad542688' ;; \ *) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding Julia binary release"; exit 1 ;; \ esac; \ \ diff --git a/update.sh b/update.sh index 5c6366e..bb31bdc 100755 --- a/update.sh +++ b/update.sh @@ -27,11 +27,13 @@ for version in '.'; do for dpkgArch in $(dpkgArches "$version"); do tarArch="$(dpkgToJuliaTarArch "$version" "$dpkgArch")" dirArch="$(dpkgToJuliaDirArch "$version" "$dpkgArch")" - sha256="$(echo "$sha256s" | grep "julia-${fullVersion}-linux-${tarArch}.tar.gz$" | cut -d' ' -f1)" + sha256="$(echo "$sha256s" | grep "julia-${fullVersion}-linux-${tarArch}.tar.gz$" | cut -d' ' -f1 || :)" if [ -z "$sha256" ]; then - echo >&2 "error: cannot find sha256 for $fullVersion on arch $tarArch / $dirArch ($dpkgArch)" - exit 1 + echo >&2 "warning: cannot find sha256 for $fullVersion on arch $tarArch / $dirArch ($dpkgArch); skipping" + continue fi + bashbrewArch="$(dpkgToBashbrewArch "$version" "$dpkgArch")" + linuxArchCase+="# $bashbrewArch"$'\n' linuxArchCase+=$'\t\t'"$dpkgArch) tarArch='$tarArch'; dirArch='$dirArch'; sha256='$sha256' ;; "$'\\\n' done linuxArchCase+=$'\t\t''*) echo >&2 "error: current architecture ($dpkgArch) does not have a corresponding Julia binary release"; exit 1 ;; '$'\\\n' diff --git a/windows/windowsservercore-1709/Dockerfile b/windows/windowsservercore-1709/Dockerfile index d793e33..8ae71d7 100644 --- a/windows/windowsservercore-1709/Dockerfile +++ b/windows/windowsservercore-1709/Dockerfile @@ -3,8 +3,8 @@ FROM microsoft/windowsservercore:1709 # $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] -ENV JULIA_VERSION 0.6.3 -ENV JULIA_SHA256 e6eef263bbe6d95d2def300407edb6a624e77166d73f423cd7fc895f8464cffd +ENV JULIA_VERSION 0.6.4 +ENV JULIA_SHA256 aa16b5fb54ab2821a09022db83d92db5d07c1092a24b7091f54fb4bca9e564eb RUN $url = ('https://julialang-s3.julialang.org/bin/winnt/x64/{1}/julia-{0}-win64.exe' -f $env:JULIA_VERSION, ($env:JULIA_VERSION -replace '[.-][^.-]+$', '')); \ Write-Host ('Downloading {0} ...' -f $url); \ diff --git a/windows/windowsservercore-ltsc2016/Dockerfile b/windows/windowsservercore-ltsc2016/Dockerfile index 7f565e2..84a0d89 100644 --- a/windows/windowsservercore-ltsc2016/Dockerfile +++ b/windows/windowsservercore-ltsc2016/Dockerfile @@ -3,8 +3,8 @@ FROM microsoft/windowsservercore:ltsc2016 # $ProgressPreference: https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-251261324 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] -ENV JULIA_VERSION 0.6.3 -ENV JULIA_SHA256 e6eef263bbe6d95d2def300407edb6a624e77166d73f423cd7fc895f8464cffd +ENV JULIA_VERSION 0.6.4 +ENV JULIA_SHA256 aa16b5fb54ab2821a09022db83d92db5d07c1092a24b7091f54fb4bca9e564eb RUN $url = ('https://julialang-s3.julialang.org/bin/winnt/x64/{1}/julia-{0}-win64.exe' -f $env:JULIA_VERSION, ($env:JULIA_VERSION -replace '[.-][^.-]+$', '')); \ Write-Host ('Downloading {0} ...' -f $url); \