From b9a990ef48b93f282faa8f69356301984d94528d Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Mon, 14 Aug 2023 12:20:03 +0000
Subject: [PATCH] Update dependencies from https://github.com/dotnet/arcade
build 20230811.1 (#2217)
[main] Update dependencies from dotnet/arcade
---
eng/Version.Details.xml | 12 +--
eng/Versions.props | 2 +-
eng/common/native/init-distro-rid.sh | 132 ++++++++++++++++++++++++++
eng/common/native/init-os-and-arch.sh | 80 ++++++++++++++++
global.json | 8 +-
5 files changed, 223 insertions(+), 11 deletions(-)
create mode 100644 eng/common/native/init-distro-rid.sh
create mode 100644 eng/common/native/init-os-and-arch.sh
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 24960e0e8..de33b9f37 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -3,17 +3,17 @@
-
+
https://github.com/dotnet/arcade
- 1d39647dd408f7afd99cce01f26bba1d6bdeb248
+ 9b2af35a6702526dc8a7c5fcadcc44efd0dca170
-
+
https://github.com/dotnet/arcade
- 1d39647dd408f7afd99cce01f26bba1d6bdeb248
+ 9b2af35a6702526dc8a7c5fcadcc44efd0dca170
-
+
https://github.com/dotnet/arcade
- 1d39647dd408f7afd99cce01f26bba1d6bdeb248
+ 9b2af35a6702526dc8a7c5fcadcc44efd0dca170
diff --git a/eng/Versions.props b/eng/Versions.props
index 5dc491ee9..6afc132a1 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -13,6 +13,6 @@
8.0.0-preview.4.23220.7
- 8.0.0-beta.23404.2
+ 8.0.0-beta.23411.1
diff --git a/eng/common/native/init-distro-rid.sh b/eng/common/native/init-distro-rid.sh
new file mode 100644
index 000000000..aba9fe240
--- /dev/null
+++ b/eng/common/native/init-distro-rid.sh
@@ -0,0 +1,132 @@
+#!/usr/bin/env bash
+
+# getNonPortableDistroRid
+#
+# Input:
+# targetOs: (str)
+# targetArch: (str)
+# rootfsDir: (str)
+#
+# Return:
+# non-portable rid
+getNonPortableDistroRid()
+{
+ local targetOs="$1"
+ local targetArch="$2"
+ local rootfsDir="$3"
+ local nonPortableRid=""
+
+ if [ "$targetOs" = "linux" ]; then
+ if [ -e "${rootfsDir}/etc/os-release" ]; then
+ source "${rootfsDir}/etc/os-release"
+
+ if [[ "${ID}" == "rhel" || "${ID}" == "rocky" || "${ID}" == "alpine" ]]; then
+ # remove the last version digit
+ VERSION_ID="${VERSION_ID%.*}"
+ fi
+
+ if [[ "${VERSION_ID:-}" =~ ^([[:digit:]]|\.)+$ ]]; then
+ nonPortableRid="${ID}.${VERSION_ID}-${targetArch}"
+ else
+ # Rolling release distros either do not set VERSION_ID, set it as blank or
+ # set it to non-version looking string (such as TEMPLATE_VERSION_ID on ArchLinux);
+ # so omit it here to be consistent with everything else.
+ nonPortableRid="${ID}-${targetArch}"
+ fi
+
+ elif [ -e "${rootfsDir}/android_platform" ]; then
+ source "$rootfsDir"/android_platform
+ nonPortableRid="$RID"
+ fi
+ fi
+
+ if [ "$targetOs" = "freebsd" ]; then
+ # $rootfsDir can be empty. freebsd-version is shell script and it should always work.
+ __freebsd_major_version=$($rootfsDir/bin/freebsd-version | { read v; echo "${v%%.*}"; })
+ nonPortableRid="freebsd.$__freebsd_major_version-${targetArch}"
+ elif command -v getprop && getprop ro.product.system.model 2>&1 | grep -qi android; then
+ __android_sdk_version=$(getprop ro.build.version.sdk)
+ nonPortableRid="android.$__android_sdk_version-${targetArch}"
+ elif [ "$targetOs" = "illumos" ]; then
+ __uname_version=$(uname -v)
+ case "$__uname_version" in
+ omnios-*)
+ __omnios_major_version=$(echo "${__uname_version:8:2}")
+ nonPortableRid=omnios."$__omnios_major_version"-"$targetArch"
+ ;;
+ joyent_*)
+ __smartos_major_version=$(echo "${__uname_version:7:4}")
+ nonPortableRid=smartos."$__smartos_major_version"-"$targetArch"
+ ;;
+ illumos_*)
+ nonPortableRid=openindiana-"$targetArch"
+ ;;
+ esac
+ elif [ "$targetOs" = "solaris" ]; then
+ __uname_version=$(uname -v)
+ __solaris_major_version=$(echo "${__uname_version%.*}")
+ nonPortableRid=solaris."$__solaris_major_version"-"$targetArch"
+ elif [ "$targetOs" = "haiku" ]; then
+ __uname_release=$(uname -r)
+ nonPortableRid=haiku.r"$__uname_release"-"$targetArch"
+ fi
+
+ echo "$(echo $nonPortableRid | tr '[:upper:]' '[:lower:]')"
+}
+
+# initDistroRidGlobal
+#
+# Input:
+# os: (str)
+# arch: (str)
+# isPortable: (int)
+# rootfsDir?: (nullable:string)
+#
+# Return:
+# None
+#
+# Notes:
+#
+# It is important to note that the function does not return anything, but it
+# exports the following variables on success:
+#
+# __DistroRid : Non-portable rid of the target platform.
+# __PortableTargetOS : OS-part of the portable rid that corresponds to the target platform.
+#
+initDistroRidGlobal()
+{
+ local targetOs="$1"
+ local targetArch="$2"
+ local isPortable="$3"
+ local rootfsDir=""
+ if [ "$#" -ge 4 ]; then
+ rootfsDir="$4"
+ fi
+
+ if [ -n "${rootfsDir}" ]; then
+ # We may have a cross build. Check for the existence of the rootfsDir
+ if [ ! -e "${rootfsDir}" ]; then
+ echo "Error rootfsDir has been passed, but the location is not valid."
+ exit 1
+ fi
+ fi
+
+ __DistroRid=$(getNonPortableDistroRid "${targetOs}" "${targetArch}" "${rootfsDir}")
+
+ if [ -z "${__PortableTargetOS:-}" ]; then
+ __PortableTargetOS="$targetOs"
+
+ STRINGS="$(command -v strings || true)"
+ if [ -z "$STRINGS" ]; then
+ STRINGS="$(command -v llvm-strings || true)"
+ fi
+
+ # Check for musl-based distros (e.g Alpine Linux, Void Linux).
+ if "${rootfsDir}/usr/bin/ldd" --version 2>&1 | grep -q musl ||
+ ( [ -n "$STRINGS" ] && "$STRINGS" "${rootfsDir}/usr/bin/ldd" 2>&1 | grep -q musl ); then
+ __PortableTargetOS="linux-musl"
+ fi
+ fi
+
+ export __DistroRid __PortableTargetOS
+}
diff --git a/eng/common/native/init-os-and-arch.sh b/eng/common/native/init-os-and-arch.sh
new file mode 100644
index 000000000..e693617a6
--- /dev/null
+++ b/eng/common/native/init-os-and-arch.sh
@@ -0,0 +1,80 @@
+#!/usr/bin/env bash
+
+# Use uname to determine what the OS is.
+OSName=$(uname -s | tr '[:upper:]' '[:lower:]')
+
+if command -v getprop && getprop ro.product.system.model 2>&1 | grep -qi android; then
+ OSName="android"
+fi
+
+case "$OSName" in
+freebsd|linux|netbsd|openbsd|sunos|android|haiku)
+ os="$OSName" ;;
+darwin)
+ os=osx ;;
+*)
+ echo "Unsupported OS $OSName detected!"
+ exit 1 ;;
+esac
+
+# On Solaris, `uname -m` is discouraged, see https://docs.oracle.com/cd/E36784_01/html/E36870/uname-1.html
+# and `uname -p` returns processor type (e.g. i386 on amd64).
+# The appropriate tool to determine CPU is isainfo(1) https://docs.oracle.com/cd/E36784_01/html/E36870/isainfo-1.html.
+if [ "$os" = "sunos" ]; then
+ if uname -o 2>&1 | grep -q illumos; then
+ os="illumos"
+ else
+ os="solaris"
+ fi
+ CPUName=$(isainfo -n)
+else
+ # For the rest of the operating systems, use uname(1) to determine what the CPU is.
+ CPUName=$(uname -m)
+fi
+
+case "$CPUName" in
+ arm64|aarch64)
+ arch=arm64
+ ;;
+
+ loongarch64)
+ arch=loongarch64
+ ;;
+
+ riscv64)
+ arch=riscv64
+ ;;
+
+ amd64|x86_64)
+ arch=x64
+ ;;
+
+ armv7l|armv8l)
+ if (NAME=""; . /etc/os-release; test "$NAME" = "Tizen"); then
+ arch=armel
+ else
+ arch=arm
+ fi
+ ;;
+
+ armv6l)
+ arch=armv6
+ ;;
+
+ i[3-6]86)
+ echo "Unsupported CPU $CPUName detected, build might not succeed!"
+ arch=x86
+ ;;
+
+ s390x)
+ arch=s390x
+ ;;
+
+ ppc64le)
+ arch=ppc64le
+ ;;
+ *)
+ echo "Unknown CPU $CPUName detected!"
+ exit 1
+ ;;
+esac
diff --git a/global.json b/global.json
index 03752c037..cdf7d8894 100644
--- a/global.json
+++ b/global.json
@@ -1,9 +1,9 @@
{
"sdk": {
- "version": "8.0.100-preview.7.23360.2"
+ "version": "8.0.100-preview.7.23376.3"
},
"tools": {
- "dotnet": "8.0.100-preview.7.23360.2",
+ "dotnet": "8.0.100-preview.7.23376.3",
"runtimes": {
"dotnet": [
"6.0.14",
@@ -16,7 +16,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23404.2",
- "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23404.2"
+ "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23411.1",
+ "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23411.1"
}
}