-
Notifications
You must be signed in to change notification settings - Fork 447
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[main] Update dependencies from dotnet/arcade (#17126)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Oleksandr Didyk <[email protected]>
- Loading branch information
1 parent
6247929
commit b68c096
Showing
9 changed files
with
261 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
28 changes: 28 additions & 0 deletions
28
src/SourceBuild/patches/nuget-client/0001-allow-empty-sb-intermediate.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
From d0ca55c1bccc7bc69148576375976b79a648d693 Mon Sep 17 00:00:00 2001 | ||
From: Oleksandr Didyk <[email protected]> | ||
Date: Thu, 10 Aug 2023 12:12:24 +0000 | ||
Subject: [PATCH] allow empty sb intermediate | ||
|
||
Backport: https://github.com/NuGet/NuGet.Client/pull/5352 | ||
--- | ||
eng/SourceBuild.props | 4 ++++ | ||
1 file changed, 4 insertions(+) | ||
|
||
diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props | ||
index d0ca9808f..b44c9e837 100644 | ||
--- a/eng/SourceBuild.props | ||
+++ b/eng/SourceBuild.props | ||
@@ -6,6 +6,10 @@ | ||
<GitHubRepositoryName>nuget-client</GitHubRepositoryName> | ||
<SourceBuildManagedOnly>true</SourceBuildManagedOnly> | ||
<VersionPrefix>1.0.0</VersionPrefix> | ||
+ | ||
+ <!-- Addresses empty intermediate issue originally found by https://github.com/dotnet/arcade/pull/13067 --> | ||
+ <!-- Should be removed once https://github.com/NuGet/Home/issues/11059 is implemented --> | ||
+ <AllowEmptySourceBuiltIntermediates>true</AllowEmptySourceBuiltIntermediates> | ||
</PropertyGroup> | ||
|
||
</Project> | ||
-- | ||
2.25.1 | ||
|