From 15b5ec89b29a56fea1014af2d69a0ef56d638422 Mon Sep 17 00:00:00 2001 From: Raul Jordan Date: Thu, 5 Mar 2020 16:32:52 -0600 Subject: [PATCH] Cross-compile OSX: Remove dropbox link, add sha256 check (#5019) * Remove dropbox link, add sha256 check * Use docker's S3 link instead of dropbox * Update image sha, workspace Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> --- WORKSPACE | 5 +++-- .../configs/clang/bazel_2.1.1/config/BUILD | 2 +- .../cross-toolchain/configs/gcc/bazel_2.1.1/config/BUILD | 2 +- tools/cross-toolchain/configs/versions.bzl | 4 ++-- tools/cross-toolchain/install_osxcross.sh | 8 +++++--- tools/cross-toolchain/rbe_toolchains_config.bzl | 2 +- 6 files changed, 13 insertions(+), 10 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index fc29b00383..5730f884ef 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -242,8 +242,9 @@ all_content = """filegroup(name = "all", srcs = glob(["**"]), visibility = ["//v http_archive( name = "rules_foreign_cc", - strip_prefix = "rules_foreign_cc-master", - url = "https://github.com/bazelbuild/rules_foreign_cc/archive/master.zip", + strip_prefix = "rules_foreign_cc-456425521973736ef346d93d3d6ba07d807047df", + url = "https://github.com/bazelbuild/rules_foreign_cc/archive/456425521973736ef346d93d3d6ba07d807047df.zip", + sha256 = "450563dc2938f38566a59596bb30a3e905fbbcc35b3fff5a1791b122bc140465", ) load("@rules_foreign_cc//:workspace_definitions.bzl", "rules_foreign_cc_dependencies") diff --git a/tools/cross-toolchain/configs/clang/bazel_2.1.1/config/BUILD b/tools/cross-toolchain/configs/clang/bazel_2.1.1/config/BUILD index 41d5d33f20..3ef592107b 100644 --- a/tools/cross-toolchain/configs/clang/bazel_2.1.1/config/BUILD +++ b/tools/cross-toolchain/configs/clang/bazel_2.1.1/config/BUILD @@ -43,7 +43,7 @@ platform( remote_execution_properties = """ properties: { name: "container-image" - value:"docker://gcr.io/prysmaticlabs/rbe-worker@sha256:dd72753a00743d0010ebc9fbcc73061623adc863532b49bb994c6e5c70739e97" + value:"docker://gcr.io/prysmaticlabs/rbe-worker@sha256:d7407d58cee310e7ab788bf4256bba704344630621d8507f3c9cf253c7fc664f" } properties { name: "OSFamily" diff --git a/tools/cross-toolchain/configs/gcc/bazel_2.1.1/config/BUILD b/tools/cross-toolchain/configs/gcc/bazel_2.1.1/config/BUILD index a4a0e1b426..8232a56f1b 100644 --- a/tools/cross-toolchain/configs/gcc/bazel_2.1.1/config/BUILD +++ b/tools/cross-toolchain/configs/gcc/bazel_2.1.1/config/BUILD @@ -43,7 +43,7 @@ platform( remote_execution_properties = """ properties: { name: "container-image" - value:"docker://gcr.io/prysmaticlabs/rbe-worker@sha256:dd72753a00743d0010ebc9fbcc73061623adc863532b49bb994c6e5c70739e97" + value:"docker://gcr.io/prysmaticlabs/rbe-worker@sha256:d7407d58cee310e7ab788bf4256bba704344630621d8507f3c9cf253c7fc664f" } properties { name: "OSFamily" diff --git a/tools/cross-toolchain/configs/versions.bzl b/tools/cross-toolchain/configs/versions.bzl index 061aa29e29..4312fb31ae 100644 --- a/tools/cross-toolchain/configs/versions.bzl +++ b/tools/cross-toolchain/configs/versions.bzl @@ -5,8 +5,8 @@ toolchain_config_spec0 = struct(config_repos = ["prysm_toolchains"], create_cc_c toolchain_config_spec1 = struct(config_repos = ["prysm_toolchains"], create_cc_configs = True, create_java_configs = True, env = {"BAZEL_COMPILER": "gcc", "BAZEL_LINKLIBS": "-l%:libstdc++.a", "BAZEL_LINKOPTS": "-lm:-static-libgcc", "CC": "gcc", "CXX": "g++"}, java_home = "/usr/lib/jvm/java-8-openjdk-amd64", name = "gcc") _TOOLCHAIN_CONFIG_SPECS = [toolchain_config_spec0, toolchain_config_spec1] _BAZEL_TO_CONFIG_SPEC_NAMES = {"2.1.1": ["clang", "gcc"]} -LATEST = "sha256:dd72753a00743d0010ebc9fbcc73061623adc863532b49bb994c6e5c70739e97" -CONTAINER_TO_CONFIG_SPEC_NAMES = {"sha256:dd72753a00743d0010ebc9fbcc73061623adc863532b49bb994c6e5c70739e97": ["clang", "gcc"]} +LATEST = "sha256:d7407d58cee310e7ab788bf4256bba704344630621d8507f3c9cf253c7fc664f" +CONTAINER_TO_CONFIG_SPEC_NAMES = {"sha256:d7407d58cee310e7ab788bf4256bba704344630621d8507f3c9cf253c7fc664f": ["clang", "gcc"]} _DEFAULT_TOOLCHAIN_CONFIG_SPEC = toolchain_config_spec0 TOOLCHAIN_CONFIG_AUTOGEN_SPEC = struct( bazel_to_config_spec_names_map = _BAZEL_TO_CONFIG_SPEC_NAMES, diff --git a/tools/cross-toolchain/install_osxcross.sh b/tools/cross-toolchain/install_osxcross.sh index 64ddf3bdac..6e1685bac5 100755 --- a/tools/cross-toolchain/install_osxcross.sh +++ b/tools/cross-toolchain/install_osxcross.sh @@ -4,7 +4,8 @@ set -eu OSXCROSS_REPO=tpoechtrager/osxcross OSXCROSS_SHA1=bee9df6 -DARWIN_SDK_URL=https://www.dropbox.com/s/yfbesd249w10lpc/MacOSX10.10.sdk.tar.xz +OSX_SDK=MacOSX10.10.sdk +OSX_SDK_SUM=631b4144c6bf75bf7a4d480d685a9b5bda10ee8d03dbf0db829391e2ef858789 # darwin mkdir -p /usr/x86_64-apple-darwin/osxcross @@ -12,8 +13,9 @@ mkdir -p /tmp/osxcross && cd "/tmp/osxcross" curl -sLo osxcross.tar.gz "https://codeload.github.com/${OSXCROSS_REPO}/tar.gz/${OSXCROSS_SHA1}" tar --strip=1 -xzf osxcross.tar.gz rm -f osxcross.tar.gz -curl -sLo tarballs/MacOSX10.10.sdk.tar.xz "${DARWIN_SDK_URL}" -yes "" | SDK_VERSION=10.10 OSX_VERSION_MIN=10.10 ./build.sh +curl -sLo tarballs/${OSX_SDK}.tar.xz "https://s3.dockerproject.org/darwin/v2/${OSX_SDK}.tar.xz" +echo "${OSX_SDK_SUM}" "tarballs/${OSX_SDK}.tar.xz" | sha256sum -c - +yes "" | SDK_VERSION=10.10 OSX_VERSION_MIN=10.10 OCDEBUG=1 ./build.sh mv target/* /usr/x86_64-apple-darwin/osxcross/ mv tools /usr/x86_64-apple-darwin/osxcross/ cd /usr/x86_64-apple-darwin/osxcross/include diff --git a/tools/cross-toolchain/rbe_toolchains_config.bzl b/tools/cross-toolchain/rbe_toolchains_config.bzl index 319429c576..eaa85dacf0 100644 --- a/tools/cross-toolchain/rbe_toolchains_config.bzl +++ b/tools/cross-toolchain/rbe_toolchains_config.bzl @@ -3,7 +3,7 @@ load("@prysm//tools/cross-toolchain:configs/versions.bzl", _generated_toolchain_ _PRYSM_BUILD_IMAGE_REGISTRY = "gcr.io" _PRYSM_BUILD_IMAGE_REPOSITORY = "prysmaticlabs/rbe-worker" -_PRYSM_BUILD_IMAGE_DIGEST = "sha256:dd72753a00743d0010ebc9fbcc73061623adc863532b49bb994c6e5c70739e97" +_PRYSM_BUILD_IMAGE_DIGEST = "sha256:d7407d58cee310e7ab788bf4256bba704344630621d8507f3c9cf253c7fc664f" _PRYSM_BUILD_IMAGE_JAVA_HOME = "/usr/lib/jvm/java-8-openjdk-amd64" _CONFIGS_OUTPUT_BASE = "tools/cross-toolchain/configs"