diff --git a/README.md b/README.md index a7e1278..2c3f713 100644 --- a/README.md +++ b/README.md @@ -25,12 +25,13 @@ like [libcanard](https://github.com/OpenCyphal/libcanard) and | tag | Python | Gcc | Clang | Cmake | Platforms | Other Utilities | |----------|--------|-----|-------|-------|-----------|-----------------| -| [ts22.4.7](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 12.3.0 | 18.1.3 | 3.22.1 | | -| [ts22.4.6](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.4.0 | 18.0.0 | 3.22.1 | | -| [ts22.4.5](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.4.0 | 18.0.0 | 3.22.1 | | -| [ts22.4.3](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.3.0 | 15.0.7 | 3.22.1 | | -| [ts22.4.2](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.3.0 | 15.0.7 | 3.22.1 | | -| [ts22.4.1](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.3.0 | 15.0.7 | 3.22.1 | | +| [ts22.4.8](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 12.3.0 | 18.1.3 | 3.22.1 | | | +| [ts22.4.7](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 12.3.0 | 18.1.3 | 3.22.1 | | | +| [ts22.4.6](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.4.0 | 18.0.0 | 3.22.1 | | | +| [ts22.4.5](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.4.0 | 18.0.0 | 3.22.1 | | | +| [ts22.4.3](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.3.0 | 15.0.7 | 3.22.1 | | | +| [ts22.4.2](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.3.0 | 15.0.7 | 3.22.1 | | | +| [ts22.4.1](https://github.com/OpenCyphal/docker_toolchains/pkgs/container/toolshed) | 3.10 | 11.3.0 | 15.0.7 | 3.22.1 | | | diff --git a/toolshed/Dockerfile b/toolshed/Dockerfile index ce62446..a59058e 100644 --- a/toolshed/Dockerfile +++ b/toolshed/Dockerfile @@ -7,6 +7,8 @@ LABEL org.opencontainers.image.source=https://github.com/OpenCyphal/docker_toolc LABEL org.opencontainers.image.description="Provides a consistent build and test environment for development, continuous-integration, and test automation of OpenCyphal C and C++ based projects." LABEL org.opencontainers.image.licenses=MIT +ARG TARGETARCH + VOLUME /repo WORKDIR /repo @@ -23,10 +25,12 @@ FROM base AS provisioning WORKDIR /tmp ADD pre-provision.sh ./pre-provision.sh ADD provision.sh ./provision.sh +ADD provision-${TARGETARCH}.sh ./provision-${TARGETARCH}.sh ADD post-provision.sh ./post-provision.sh RUN ./pre-provision.sh RUN ./provision.sh +RUN ./provision-${TARGETARCH}.sh RUN ./post-provision.sh # INSTALL THE PATH FOR INTERATIVE SESSIONS diff --git a/toolshed/provision-amd64.sh b/toolshed/provision-amd64.sh new file mode 100755 index 0000000..bae6fdc --- /dev/null +++ b/toolshed/provision-amd64.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +# +----------------------------------------------------------+ +# | BASH : Modifying Shell Behaviour +# | (https://www.gnu.org/software/bash/manual) +# +----------------------------------------------------------+ +# Treat unset variables and parameters other than the special +# parameters ‘@’ or ‘*’ as an error when performing parameter +# expansion. An error message will be written to the standard +# error, and a non-interactive shell will exit. +set -o nounset + +# Exit immediately if a pipeline returns a non-zero status. +set -o errexit + +# If set, the return value of a pipeline is the value of the +# last (rightmost) command to exit with a non-zero status, or +# zero if all commands in the pipeline exit successfully. +set -o pipefail + +# +----------------------------------------------------------+ +export DEBIAN_FRONTEND=noninteractive + +apt-get -y install gcc-multilib +apt-get -y install g++-multilib +apt-get -y install gcc-12-multilib +apt-get -y install g++-12-multilib diff --git a/toolshed/provision-arm64.sh b/toolshed/provision-arm64.sh new file mode 100755 index 0000000..8481f9d --- /dev/null +++ b/toolshed/provision-arm64.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +# +----------------------------------------------------------+ +# | BASH : Modifying Shell Behaviour +# | (https://www.gnu.org/software/bash/manual) +# +----------------------------------------------------------+ +# Treat unset variables and parameters other than the special +# parameters ‘@’ or ‘*’ as an error when performing parameter +# expansion. An error message will be written to the standard +# error, and a non-interactive shell will exit. +set -o nounset + +# Exit immediately if a pipeline returns a non-zero status. +set -o errexit + +# If set, the return value of a pipeline is the value of the +# last (rightmost) command to exit with a non-zero status, or +# zero if all commands in the pipeline exit successfully. +set -o pipefail + +# +----------------------------------------------------------+ +echo "No additional packages to install."