From f93a2e8ace65880b3e4ff718cbf01c28930d3bbb Mon Sep 17 00:00:00 2001 From: Eric Swanson Date: Tue, 24 May 2022 10:02:26 -0700 Subject: [PATCH 1/2] chore: update Motoko to 0.6.28 --- CHANGELOG.adoc | 2 +- nix/sources.json | 24 ++++++++++++------------ scripts/dfx-asset-sources.sh | 12 ++++++------ 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 922c79912a..51d50ad7e3 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -81,7 +81,7 @@ Added ic-canister-http-adapter to the binary cache. == Motoko -Updated Motoko from 0.6.26 to 0.6.27. +Updated Motoko from 0.6.26 to 0.6.28. == Replica diff --git a/nix/sources.json b/nix/sources.json index f08ff7b43d..caf564e459 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -145,37 +145,37 @@ "homepage": null, "owner": "dfinity", "repo": "motoko-base", - "rev": "6f80c49d0f708c11d95895893ef3237cc7b05234", - "sha256": "0dzdf607w2lrxnlfkcsnn8cr22m2f1q1if5vcy2miqrj8qz13jpv", + "rev": "585671454aa0e92b73c64bf4b1dd6463885e6c51", + "sha256": "1sckvr53ja8390qzd4y81na7kxfmawlzj7z7iwn4yl9p3d1hcqc2", "type": "tarball", - "url": "https://github.com/dfinity/motoko-base/archive/6f80c49d0f708c11d95895893ef3237cc7b05234.tar.gz", + "url": "https://github.com/dfinity/motoko-base/archive/585671454aa0e92b73c64bf4b1dd6463885e6c51.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, "motoko-base-tarball": { "builtin": false, "description": "The Motoko base library", "owner": "dfinity", - "sha256": "1kd05ayp9s3v6y44il5p3f2gmmq9fhcragkiymjlxmwsfxqrd9qy", + "sha256": "0lkc2pfrq02madvg7yrgn763lcrnhidifmchg78iaz06y34rkxhi", "type": "tarball", - "url": "https://github.com/dfinity/motoko/releases/download/0.6.27/motoko-base-library.tar.gz", + "url": "https://github.com/dfinity/motoko/releases/download/0.6.28/motoko-base-library.tar.gz", "url_template": "https://github.com/dfinity/motoko/releases/download//motoko-base-library.tar.gz", - "version": "0.6.27" + "version": "0.6.28" }, "motoko-x86_64-darwin": { "builtin": false, - "sha256": "1qqg7nha7f2llmx4vjc8f0yxh422dg5srrzrykh40pmz71w5mlbg", + "sha256": "0aydkl921qcxh6aar6kfn3c2fyb4k0gy10nrgribbm1fsvkrznjg", "type": "file", - "url": "https://github.com/dfinity/motoko/releases/download/0.6.27/motoko-macos-0.6.27.tar.gz", + "url": "https://github.com/dfinity/motoko/releases/download/0.6.28/motoko-macos-0.6.28.tar.gz", "url_template": "https://github.com/dfinity/motoko/releases/download//motoko-macos-.tar.gz", - "version": "0.6.27" + "version": "0.6.28" }, "motoko-x86_64-linux": { "builtin": false, - "sha256": "0q0zhndcc7aica9k4w0vi7z2wgap19d46r9ar99z2g2d9iddfijg", + "sha256": "1n9h7p0hip010b33qqdlbxhxdq54p6l60fnwkxmc5dm7gza58zdv", "type": "file", - "url": "https://github.com/dfinity/motoko/releases/download/0.6.27/motoko-linux64-0.6.27.tar.gz", + "url": "https://github.com/dfinity/motoko/releases/download/0.6.28/motoko-linux64-0.6.28.tar.gz", "url_template": "https://github.com/dfinity/motoko/releases/download//motoko-linux64-.tar.gz", - "version": "0.6.27" + "version": "0.6.28" }, "napalm": { "branch": "master", diff --git a/scripts/dfx-asset-sources.sh b/scripts/dfx-asset-sources.sh index 0036c885a5..36919cf5e8 100644 --- a/scripts/dfx-asset-sources.sh +++ b/scripts/dfx-asset-sources.sh @@ -19,10 +19,10 @@ IC_STARTER_X86_64_DARWIN_SHA256="85c328599de73061e009b560265e9e42d87d4c9165dbe83 IC_STARTER_X86_64_DARWIN_URL="https://download.dfinity.systems/blessed/ic/e7b57fc93c62d711829ee7ee8e5df47c3edfe932/sdk-release/x86_64-darwin/ic-starter.gz" IC_STARTER_X86_64_LINUX_SHA256="f8a7c2bb57ed93da29caab9ca953e867dd5c9ffbf6e1ca51eb00c9cd42dde42f" IC_STARTER_X86_64_LINUX_URL="https://download.dfinity.systems/blessed/ic/e7b57fc93c62d711829ee7ee8e5df47c3edfe932/sdk-release/x86_64-linux/ic-starter.gz" -MOTOKO_X86_64_DARWIN_SHA256="6fd15a7838bf5e40e0f4f9e7accb6b4210d83d7088c94d7aa554b8a3a03d0fe3" -MOTOKO_X86_64_DARWIN_URL="https://github.com/dfinity/motoko/releases/download/0.6.27/motoko-macos-0.6.27.tar.gz" -MOTOKO_X86_64_LINUX_SHA256="4f46d75a4c4d3cf153ca2a65435a0a573d2efe891b70329362511dc69a851f60" -MOTOKO_X86_64_LINUX_URL="https://github.com/dfinity/motoko/releases/download/0.6.27/motoko-linux64-0.6.27.tar.gz" +MOTOKO_X86_64_DARWIN_SHA256="4fda9fe7d62ed4b5627ed982e01f98647927d8b06e9aac94819de120129dcd2b" +MOTOKO_X86_64_DARWIN_URL="https://github.com/dfinity/motoko/releases/download/0.6.28/motoko-macos-0.6.28.tar.gz" +MOTOKO_X86_64_LINUX_SHA256="bb7d54d47fa7b6c26a9fdc3a60a8b9a4e0d6615fb4613cc60201dc08c13d30d9" +MOTOKO_X86_64_LINUX_URL="https://github.com/dfinity/motoko/releases/download/0.6.28/motoko-linux64-0.6.28.tar.gz" # The replica and canister_sandbox binaries must have the same revision. REPLICA_X86_64_DARWIN_SHA256="8a11ecceffe76922794cf24883200c0ca4306f6df7af16a0dcb50467c74843f6" REPLICA_X86_64_DARWIN_URL="https://download.dfinity.systems/blessed/ic/e7b57fc93c62d711829ee7ee8e5df47c3edfe932/sdk-release/x86_64-darwin/replica.gz" @@ -37,5 +37,5 @@ SANDBOX_LAUNCHER_X86_64_DARWIN_SHA256="23fcaeebb6fee5fc8795576b8a84bdef2b928a143 SANDBOX_LAUNCHER_X86_64_DARWIN_URL="https://download.dfinity.systems/blessed/ic/e7b57fc93c62d711829ee7ee8e5df47c3edfe932/sdk-release/x86_64-darwin/sandbox_launcher.gz" SANDBOX_LAUNCHER_X86_64_LINUX_SHA256="e89d7ca002cf532d7cb7cc5865d896f1ccccc258124d974cb77c4548d9c0ad7d" SANDBOX_LAUNCHER_X86_64_LINUX_URL="https://download.dfinity.systems/blessed/ic/e7b57fc93c62d711829ee7ee8e5df47c3edfe932/sdk-release/x86_64-linux/sandbox_launcher.gz" -MOTOKO_BASE_TARBALL_URL="https://github.com/dfinity/motoko/releases/download/0.6.27/motoko-base-library.tar.gz" -MOTOKO_BASE_TARBALL_SHA256="1ea79671779ad74e65f5713e95197409d7fa841bb7d04888377be874bd2aa0cd" +MOTOKO_BASE_TARBALL_URL="https://github.com/dfinity/motoko/releases/download/0.6.28/motoko-base-library.tar.gz" +MOTOKO_BASE_TARBALL_SHA256="11f699c9f0067c15d1799055175b8436333accb12ffbf3765355009cdd156c52" From a6dea209634339d3d4953e976ec1054f527b38ea Mon Sep 17 00:00:00 2001 From: Eric Swanson Date: Tue, 24 May 2022 10:34:09 -0700 Subject: [PATCH 2/2] recalculate sha256 over tarball, rather than contents --- scripts/dfx-asset-sources.sh | 2 +- scripts/write-dfx-asset-sources.sh | 31 +++++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/scripts/dfx-asset-sources.sh b/scripts/dfx-asset-sources.sh index 36919cf5e8..fb87373bdb 100644 --- a/scripts/dfx-asset-sources.sh +++ b/scripts/dfx-asset-sources.sh @@ -38,4 +38,4 @@ SANDBOX_LAUNCHER_X86_64_DARWIN_URL="https://download.dfinity.systems/blessed/ic/ SANDBOX_LAUNCHER_X86_64_LINUX_SHA256="e89d7ca002cf532d7cb7cc5865d896f1ccccc258124d974cb77c4548d9c0ad7d" SANDBOX_LAUNCHER_X86_64_LINUX_URL="https://download.dfinity.systems/blessed/ic/e7b57fc93c62d711829ee7ee8e5df47c3edfe932/sdk-release/x86_64-linux/sandbox_launcher.gz" MOTOKO_BASE_TARBALL_URL="https://github.com/dfinity/motoko/releases/download/0.6.28/motoko-base-library.tar.gz" -MOTOKO_BASE_TARBALL_SHA256="11f699c9f0067c15d1799055175b8436333accb12ffbf3765355009cdd156c52" +MOTOKO_BASE_TARBALL_SHA256="ab8473c918bdbfe7a7380849790ebe3b459ed52de3ca5b9c1d0d72fcf54ec1d1" diff --git a/scripts/write-dfx-asset-sources.sh b/scripts/write-dfx-asset-sources.sh index 2280a400d2..91ae0c92ee 100755 --- a/scripts/write-dfx-asset-sources.sh +++ b/scripts/write-dfx-asset-sources.sh @@ -12,6 +12,7 @@ set -e which jq >/dev/null || ( echo "Please install jq in order to run this script." ; exit 1 ) which nix >/dev/null || ( echo "Please install nix in order to run this script." ; exit 1 ) +which curl >/dev/null || ( echo "Please install curl in order to run this script." ; exit 1 ) SDK_ROOT_DIR="$( cd -- "$(dirname -- "$( dirname -- "${BASH_SOURCE[0]}" )" )" &> /dev/null && pwd )" @@ -45,6 +46,34 @@ write_sha256() { echo "$NAME=\"$SHA256\"" >>"$DFX_ASSET_SOURCES" } +calculate_sha256() { + KEY="$1" + URL=$(read_url_from_nix_sources "$KEY") + TEMP_FILE="$(mktemp)" + TEMP_DIR="$(mktemp -d)" + curl --silent --location --fail --output "$TEMP_FILE" "$URL" + + tar -xf "$TEMP_FILE" -C "$TEMP_DIR" + EXPECTED_BASE32_SHA256=$(jq -r .'"'"$KEY"'".sha256' "$NIX_SOURCES_JSON") + ACTUAL_BASE32_SHA256="$(nix-hash --base32 --type sha256 "$TEMP_DIR")" + + SHA256="$(shasum -a 256 "$TEMP_FILE" | awk '{print $1}' )" + + chmod -R 0744 "$TEMP_DIR" + rm "$TEMP_FILE" + rm -rf "$TEMP_DIR" + + if [ "$EXPECTED_BASE32_SHA256" != "$ACTUAL_BASE32_SHA256" ]; then + echo "SHA256 mismatch for $URL: expected $EXPECTED_BASE32_SHA256, got $ACTUAL_BASE32_SHA256" + exit 1 + fi + + NAME=$(normalize_varname "${KEY}_SHA256") + + echo "$NAME=\"$SHA256\"" >>"$DFX_ASSET_SOURCES" + +} + write_url() { KEY="$1" URL=$(read_url_from_nix_sources "$KEY") @@ -75,4 +104,4 @@ do done write_url "motoko-base-tarball" -write_sha256 "motoko-base-tarball" +calculate_sha256 "motoko-base-tarball"