Browse Source

Utilities/Release: Convert base images to build sunos-{x86_64,sparc64}

pull/377/head
Brad King 5 months ago
parent
commit
fd1907e50e
  1. 2
      Utilities/Release/sunos/docker/Dockerfile
  2. 14
      Utilities/Release/sunos/docker/base.bash
  3. 16
      Utilities/Release/sunos/docker/openssl.bash
  4. 16
      Utilities/Release/sunos/docker/sysroot.bash
  5. 6
      Utilities/Release/sunos/i386/toolchain.cmake
  6. 6
      Utilities/Release/sunos/sparc/toolchain.cmake
  7. 5
      Utilities/Release/sunos/sparc64/cache.txt
  8. 6
      Utilities/Release/sunos/sparc64/toolchain.cmake
  9. 4
      Utilities/Release/sunos/x86_64/cache.txt
  10. 6
      Utilities/Release/sunos/x86_64/toolchain.cmake

2
Utilities/Release/sunos/docker/Dockerfile

@ -14,7 +14,7 @@ RUN --mount=type=tmpfs,target=/var/log \
&& apt-get --download-only -y install $(grep -h '^[^#]\+$' /root/*.lst)
FROM ${BASE_IMAGE} AS base
ARG ARCH=sparc
ARG ARCH=sparc64
RUN --mount=type=bind,source=base.lst,target=/root/base.lst \
--mount=type=bind,source=docker-clean,target=/etc/apt/apt.conf.d/docker-clean \
--mount=type=cache,from=apt-cache,source=/var/lib/apt/lists,target=/var/lib/apt/lists \

14
Utilities/Release/sunos/docker/base.bash

@ -6,13 +6,13 @@ arch="$1"
readonly arch
case "$arch" in
i386)
tarball="gcc-9.5.0-linux-x86_64-cross-sunos-i386.tar.xz"
sha256sum="3cd3c989483051e741dd9f39170842d22e5c43cd25628d2b0c57890a3f235883"
x86_64)
tarball="gcc-9.5.0-linux-x86_64-cross-sunos-x86_64.tar.xz"
sha256sum="0632342dc20445a798148548376f986f3a09dc2e4f433fa9100e4a5371a14860"
;;
sparc)
tarball="gcc-9.5.0-linux-x86_64-cross-sunos-sparc.tar.xz"
sha256sum="853454ef4e787895786fdb21e56a3ba9c121ffe6116467a75f2c3eb09f3c88b4"
sparc64)
tarball="gcc-9.5.0-linux-x86_64-cross-sunos-sparc64.tar.xz"
sha256sum="ea3c3deecdd94823edd7241aa4b79a0dc4e7fb5a8dc9d101cc2d6a72beab7ced"
;;
*)
echo >&2 "Unknown architecture: $arch"
@ -24,7 +24,7 @@ readonly sha256sum
cd /tmp
curl -OL "https://gitlab.kitware.com/api/v4/projects/6955/packages/generic/gcc-solaris/v9.5.0-20250212.0/$tarball"
curl -OL "https://gitlab.kitware.com/api/v4/projects/6955/packages/generic/gcc-solaris/v9.5.0-20250227.0/$tarball"
echo "$sha256sum $tarball" > gcc.sha256sum
sha256sum --check gcc.sha256sum

16
Utilities/Release/sunos/docker/openssl.bash

@ -6,15 +6,15 @@ arch="$1"
readonly arch
case "$arch" in
i386)
target=i386-pc-solaris2.10
openssl_target=solaris-x86-gcc
x86_64)
target=x86_64-pc-solaris2.10
openssl_target=solaris64-x86_64-gcc
ldlibs=
;;
sparc)
target=sparc-sun-solaris2.10
openssl_target=solaris-sparcv8-gcc
ldlibs=-latomic
sparc64)
target=sparc64-sun-solaris2.10
openssl_target=solaris64-sparcv9-gcc
ldlibs=
;;
*)
echo >&2 "Unknown architecture: $arch"
@ -59,4 +59,4 @@ if ! make install_sw >>make.log 2>&1; then
exit 1
fi
tar czf /root/openssl.tar.gz -C / "$prefix"
tar czf /root/openssl.tar.gz -C / "${prefix#/}"

16
Utilities/Release/sunos/docker/sysroot.bash

@ -6,13 +6,13 @@ arch="$1"
readonly arch
case "$arch" in
i386)
tarball="sysroot-i386-pc-solaris2.10-sunos5.10-1.tar.xz"
sha256sum="1b9251699f4e412ba5b0fde9c0fb96ceef6b8a1f47f0c1f2146ba0ba9da458b8"
x86_64)
tarball="sysroot-x86_64-pc-solaris2.10-sunos5.10-1.tar.xz"
sha256sum="bea632b3ae755f89a1c0e64775437a9b29001a3fc3a3c2c6247b921776059231"
;;
sparc)
tarball="sysroot-sparc-sun-solaris2.10-sunos5.10-1.tar.xz"
sha256sum="e6c668a63dc00de443d07cbe2be779335642ffe1b818ba85d23ab543982aaf23"
sparc64)
tarball="sysroot-sparc64-sun-solaris2.10-sunos5.10-1.tar.xz"
sha256sum="fd60cc1be951ae314ff2b4246ac055c8e5b21c39b4cd41b23ebcec709451d90f"
;;
*)
echo >&2 "Unknown architecture: $arch"
@ -23,8 +23,8 @@ esac
# --build-arg SYSROOT_URL=...
# --build-arg SYSROOT_SHA256SUM=...
# The tarball must contain one of:
# sysroot/i386-pc-solaris2.10/{lib,usr/lib,usr/include}
# sysroot/sparc-sun-solaris2.10/{lib,usr/lib,usr/include}
# sysroot/x86_64-pc-solaris2.10/{lib,usr/lib,usr/include}
# sysroot/sparc64-sun-solaris2.10/{lib,usr/lib,usr/include}
# The content may be retrieved from a real Solaris host.
if test -n "$SYSROOT_URL"; then
url="$SYSROOT_URL"

6
Utilities/Release/sunos/i386/toolchain.cmake

@ -1,6 +0,0 @@
set(CMAKE_SYSTEM_NAME SunOS)
set(CMAKE_SYSTEM_VERSION 5.10)
set(CMAKE_SYSTEM_PROCESSOR i386)
set(CMAKE_SYSROOT /opt/cross/sysroot/i386-pc-solaris2.10)
set(CMAKE_C_COMPILER /opt/cross/bin/i386-pc-solaris2.10-gcc)
set(CMAKE_CXX_COMPILER /opt/cross/bin/i386-pc-solaris2.10-g++)

6
Utilities/Release/sunos/sparc/toolchain.cmake

@ -1,6 +0,0 @@
set(CMAKE_SYSTEM_NAME SunOS)
set(CMAKE_SYSTEM_VERSION 5.10)
set(CMAKE_SYSTEM_PROCESSOR sparc)
set(CMAKE_SYSROOT /opt/cross/sysroot/sparc-sun-solaris2.10)
set(CMAKE_C_COMPILER /opt/cross/bin/sparc-sun-solaris2.10-gcc)
set(CMAKE_CXX_COMPILER /opt/cross/bin/sparc-sun-solaris2.10-g++)

5
Utilities/Release/sunos/sparc/cache.txt → Utilities/Release/sunos/sparc64/cache.txt

@ -6,8 +6,7 @@ CMAKE_EXE_LINKER_FLAGS:STRING=-static-libstdc++ -static-libgcc -Wl,-z,noexecstac
# Enable ssl support in curl
CMAKE_USE_OPENSSL:BOOL=ON
OPENSSL_USE_STATIC_LIBS:BOOL=ON
OpenSSL_ROOT:PATH=/opt/cross/openssl/sparc-sun-solaris2.10
_OPENSSL_STATIC_LIBRARIES:STRING=/opt/cross/sparc-sun-solaris2.10/lib/libatomic.a
OpenSSL_ROOT:PATH=/opt/cross/openssl/sparc64-sun-solaris2.10
# Enable ccmake
BUILD_CursesDialog:BOOL=ON
@ -23,4 +22,4 @@ CMake_TEST_INSTALL:BOOL=OFF
CMAKE_SKIP_INSTALL_ALL_DEPENDENCY:BOOL=ON
# CPack package file name component for this platform.
CPACK_SYSTEM_NAME:STRING=sunos-sparc
CPACK_SYSTEM_NAME:STRING=sunos-sparc64

6
Utilities/Release/sunos/sparc64/toolchain.cmake

@ -0,0 +1,6 @@
set(CMAKE_SYSTEM_NAME SunOS)
set(CMAKE_SYSTEM_VERSION 5.10)
set(CMAKE_SYSTEM_PROCESSOR sparc64)
set(CMAKE_SYSROOT /opt/cross/sysroot/sparc64-sun-solaris2.10)
set(CMAKE_C_COMPILER /opt/cross/bin/sparc64-sun-solaris2.10-gcc)
set(CMAKE_CXX_COMPILER /opt/cross/bin/sparc64-sun-solaris2.10-g++)

4
Utilities/Release/sunos/i386/cache.txt → Utilities/Release/sunos/x86_64/cache.txt

@ -6,7 +6,7 @@ CMAKE_EXE_LINKER_FLAGS:STRING=-static-libstdc++ -static-libgcc -Wl,-z,noexecstac
# Enable ssl support in curl
CMAKE_USE_OPENSSL:BOOL=ON
OPENSSL_USE_STATIC_LIBS:BOOL=ON
OpenSSL_ROOT:PATH=/opt/cross/openssl/i386-pc-solaris2.10
OpenSSL_ROOT:PATH=/opt/cross/openssl/x86_64-pc-solaris2.10
# Enable ccmake
BUILD_CursesDialog:BOOL=ON
@ -22,4 +22,4 @@ CMake_TEST_INSTALL:BOOL=OFF
CMAKE_SKIP_INSTALL_ALL_DEPENDENCY:BOOL=ON
# CPack package file name component for this platform.
CPACK_SYSTEM_NAME:STRING=sunos-i386
CPACK_SYSTEM_NAME:STRING=sunos-x86_64

6
Utilities/Release/sunos/x86_64/toolchain.cmake

@ -0,0 +1,6 @@
set(CMAKE_SYSTEM_NAME SunOS)
set(CMAKE_SYSTEM_VERSION 5.10)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(CMAKE_SYSROOT /opt/cross/sysroot/x86_64-pc-solaris2.10)
set(CMAKE_C_COMPILER /opt/cross/bin/x86_64-pc-solaris2.10-gcc)
set(CMAKE_CXX_COMPILER /opt/cross/bin/x86_64-pc-solaris2.10-g++)
Loading…
Cancel
Save