Skip to content

Commit 16c260e

Browse files
author
v-wuzhai
authored
Merge pull request #8603 from dotnet/darc-main-eea01e85-f059-471a-98c4-02e69f943c2f
[main] Update dependencies from dotnet/arcade
2 parents f46137a + d0231ed commit 16c260e

File tree

22 files changed

+168
-148
lines changed

22 files changed

+168
-148
lines changed

eng/Version.Details.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
</Dependency>
2020
</ProductDependencies>
2121
<ToolsetDependencies>
22-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.24604.4">
22+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.24623.1">
2323
<Uri>https://github.com/dotnet/arcade</Uri>
24-
<Sha>45d845e04c05fbe5da9838c454bbc3af1df6be81</Sha>
24+
<Sha>ae0923d109be7ddf2a5d99e3bf685f72132edeaf</Sha>
2525
</Dependency>
2626
<!-- Intermediate is necessary for source build. -->
27-
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="10.0.0-beta.24604.4">
27+
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="10.0.0-beta.24623.1">
2828
<Uri>https://github.com/dotnet/arcade</Uri>
29-
<Sha>45d845e04c05fbe5da9838c454bbc3af1df6be81</Sha>
29+
<Sha>ae0923d109be7ddf2a5d99e3bf685f72132edeaf</Sha>
3030
<SourceBuild RepoName="arcade" ManagedOnly="true" />
3131
</Dependency>
3232
<Dependency Name="System.Formats.Asn1" Version="8.0.1">

eng/common/core-templates/steps/install-microbuild.yml

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,49 @@
11
parameters:
2-
# Enable cleanup tasks for MicroBuild
2+
# Enable install tasks for MicroBuild
33
enableMicrobuild: false
4-
# Enable cleanup tasks for MicroBuild on Mac and Linux
4+
# Enable install tasks for MicroBuild on Mac and Linux
55
# Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT'
66
enableMicrobuildForMacAndLinux: false
7+
# Location of the MicroBuild output folder
8+
microBuildOutputFolder: '$(Agent.TempDirectory)'
79
continueOnError: false
810

911
steps:
1012
- ${{ if eq(parameters.enableMicrobuild, 'true') }}:
11-
# Remove Python downgrade with https://github.com/dotnet/arcade/issues/15151
12-
- ${{ if and(eq(parameters.enableMicrobuildForMacAndLinux, 'true'), ne(variables['Agent.Os'], 'Windows_NT')) }}:
13+
- ${{ if eq(parameters.enableMicrobuildForMacAndLinux, 'true') }}:
14+
# Install Python 3.12.x on when Python > 3.12.x is installed - https://github.com/dotnet/source-build/issues/4802
15+
- script: |
16+
version=$(python3 --version | awk '{print $2}')
17+
major=$(echo $version | cut -d. -f1)
18+
minor=$(echo $version | cut -d. -f2)
19+
20+
installPython=false
21+
if [ "$major" -gt 3 ] || { [ "$major" -eq 3 ] && [ "$minor" -gt 12 ]; }; then
22+
installPython=true
23+
fi
24+
25+
echo "Python version: $version."
26+
echo "Install Python 3.12.x: $installPython."
27+
echo "##vso[task.setvariable variable=installPython;isOutput=true]$installPython"
28+
name: InstallPython
29+
displayName: 'Determine Python installation'
30+
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
31+
1332
- task: UsePythonVersion@0
14-
displayName: 'Use Python 3.11.x'
1533
inputs:
16-
versionSpec: '3.11.x'
34+
versionSpec: '3.12.x'
35+
displayName: 'Use Python 3.12.x'
36+
condition: and(succeeded(), eq(variables['InstallPython.installPython'], 'true'), ne(variables['Agent.Os'], 'Windows_NT'))
37+
38+
# Needed to download the MicroBuild plugin nupkgs on Mac and Linux when nuget.exe is unavailable
39+
- task: UseDotNet@2
40+
displayName: Install .NET 8.0 SDK for MicroBuild Plugin
41+
inputs:
42+
packageType: sdk
43+
version: 8.0.x
44+
installationPath: ${{ parameters.microBuildOutputFolder }}/dotnet
45+
workingDirectory: ${{ parameters.microBuildOutputFolder }}
46+
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
1747

1848
- task: MicroBuildSigningPlugin@4
1949
displayName: Install MicroBuild plugin
@@ -25,7 +55,7 @@ steps:
2555
azureSubscription: 'MicroBuild Signing Task (DevDiv)'
2656
env:
2757
TeamName: $(_TeamName)
28-
MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)'
58+
MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}
2959
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
3060
continueOnError: ${{ parameters.continueOnError }}
3161
condition: and(

eng/common/core-templates/steps/source-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ steps:
7878
7979
portableBuildArgs=
8080
if [ '${{ parameters.platform.portableBuild }}' != '' ]; then
81-
portableBuildArgs='/p:PortabelBuild=${{ parameters.platform.portableBuild }}'
81+
portableBuildArgs='/p:PortableBuild=${{ parameters.platform.portableBuild }}'
8282
fi
8383
8484
${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \

eng/common/cross/build-android-rootfs.sh

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ usage()
66
{
77
echo "Creates a toolchain and sysroot used for cross-compiling for Android."
88
echo
9-
echo "Usage: $0 [BuildArch] [ApiLevel]"
9+
echo "Usage: $0 [BuildArch] [ApiLevel] [--ndk NDKVersion]"
1010
echo
1111
echo "BuildArch is the target architecture of Android. Currently only arm64 is supported."
1212
echo "ApiLevel is the target Android API level. API levels usually match to Android releases. See https://source.android.com/source/build-numbers.html"
13+
echo "NDKVersion is the version of Android NDK. The default is r21. See https://developer.android.com/ndk/downloads/revision_history"
1314
echo
1415
echo "By default, the toolchain and sysroot will be generated in cross/android-rootfs/toolchain/[BuildArch]. You can change this behavior"
1516
echo "by setting the TOOLCHAIN_DIR environment variable"
@@ -25,10 +26,15 @@ __BuildArch=arm64
2526
__AndroidArch=aarch64
2627
__AndroidToolchain=aarch64-linux-android
2728

28-
for i in "$@"
29-
do
30-
lowerI="$(echo $i | tr "[:upper:]" "[:lower:]")"
31-
case $lowerI in
29+
while :; do
30+
if [[ "$#" -le 0 ]]; then
31+
break
32+
fi
33+
34+
i=$1
35+
36+
lowerI="$(echo $i | tr "[:upper:]" "[:lower:]")"
37+
case $lowerI in
3238
-?|-h|--help)
3339
usage
3440
exit 1
@@ -43,15 +49,28 @@ for i in "$@"
4349
__AndroidArch=arm
4450
__AndroidToolchain=arm-linux-androideabi
4551
;;
52+
--ndk)
53+
shift
54+
__NDK_Version=$1
55+
;;
4656
*[0-9])
4757
__ApiLevel=$i
4858
;;
4959
*)
5060
__UnprocessedBuildArgs="$__UnprocessedBuildArgs $i"
5161
;;
5262
esac
63+
shift
5364
done
5465

66+
if [[ "$__NDK_Version" == "r21" ]] || [[ "$__NDK_Version" == "r22" ]]; then
67+
__NDK_File_Arch_Spec=-x86_64
68+
__SysRoot=sysroot
69+
else
70+
__NDK_File_Arch_Spec=
71+
__SysRoot=toolchains/llvm/prebuilt/linux-x86_64/sysroot
72+
fi
73+
5574
# Obtain the location of the bash script to figure out where the root of the repo is.
5675
__ScriptBaseDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
5776

@@ -78,15 +97,16 @@ fi
7897

7998
echo "Target API level: $__ApiLevel"
8099
echo "Target architecture: $__BuildArch"
100+
echo "NDK version: $__NDK_Version"
81101
echo "NDK location: $__NDK_Dir"
82102
echo "Target Toolchain location: $__ToolchainDir"
83103

84104
# Download the NDK if required
85105
if [ ! -d $__NDK_Dir ]; then
86106
echo Downloading the NDK into $__NDK_Dir
87107
mkdir -p $__NDK_Dir
88-
wget -q --progress=bar:force:noscroll --show-progress https://dl.google.com/android/repository/android-ndk-$__NDK_Version-linux-x86_64.zip -O $__CrossDir/android-ndk-$__NDK_Version-linux-x86_64.zip
89-
unzip -q $__CrossDir/android-ndk-$__NDK_Version-linux-x86_64.zip -d $__CrossDir
108+
wget -q --progress=bar:force:noscroll --show-progress https://dl.google.com/android/repository/android-ndk-$__NDK_Version-linux$__NDK_File_Arch_Spec.zip -O $__CrossDir/android-ndk-$__NDK_Version-linux.zip
109+
unzip -q $__CrossDir/android-ndk-$__NDK_Version-linux.zip -d $__CrossDir
90110
fi
91111

92112
if [ ! -d $__lldb_Dir ]; then
@@ -116,16 +136,11 @@ for path in $(wget -qO- https://packages.termux.dev/termux-main-21/dists/stable/
116136
fi
117137
done
118138

119-
cp -R "$__TmpDir/data/data/com.termux/files/usr/"* "$__ToolchainDir/sysroot/usr/"
139+
cp -R "$__TmpDir/data/data/com.termux/files/usr/"* "$__ToolchainDir/$__SysRoot/usr/"
120140

121141
# Generate platform file for build.sh script to assign to __DistroRid
122142
echo "Generating platform file..."
123-
echo "RID=android.${__ApiLevel}-${__BuildArch}" > $__ToolchainDir/sysroot/android_platform
124-
125-
echo "Now to build coreclr, libraries and installers; run:"
126-
echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \
127-
--subsetCategory coreclr
128-
echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \
129-
--subsetCategory libraries
130-
echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \
131-
--subsetCategory installer
143+
echo "RID=android.${__ApiLevel}-${__BuildArch}" > $__ToolchainDir/$__SysRoot/android_platform
144+
145+
echo "Now to build coreclr, libraries and host; run:"
146+
echo ROOTFS_DIR=$(realpath $__ToolchainDir/$__SysRoot) ./build.sh clr+libs+host --cross --arch $__BuildArch

eng/common/cross/build-rootfs.sh

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,12 @@ __UbuntuPackages+=" symlinks"
5252
__UbuntuPackages+=" libicu-dev"
5353
__UbuntuPackages+=" liblttng-ust-dev"
5454
__UbuntuPackages+=" libunwind8-dev"
55-
__UbuntuPackages+=" libnuma-dev"
5655

5756
__AlpinePackages+=" gettext-dev"
5857
__AlpinePackages+=" icu-dev"
5958
__AlpinePackages+=" libunwind-dev"
6059
__AlpinePackages+=" lttng-ust-dev"
6160
__AlpinePackages+=" compiler-rt"
62-
__AlpinePackages+=" numactl-dev"
6361

6462
# runtime libraries' dependencies
6563
__UbuntuPackages+=" libcurl4-openssl-dev"
@@ -73,8 +71,8 @@ __AlpinePackages+=" krb5-dev"
7371
__AlpinePackages+=" openssl-dev"
7472
__AlpinePackages+=" zlib-dev"
7573

76-
__FreeBSDBase="13.3-RELEASE"
77-
__FreeBSDPkg="1.17.0"
74+
__FreeBSDBase="13.4-RELEASE"
75+
__FreeBSDPkg="1.21.3"
7876
__FreeBSDABI="13"
7977
__FreeBSDPackages="libunwind"
8078
__FreeBSDPackages+=" icu"
@@ -371,7 +369,7 @@ while :; do
371369
;;
372370
freebsd14)
373371
__CodeName=freebsd
374-
__FreeBSDBase="14.0-RELEASE"
372+
__FreeBSDBase="14.2-RELEASE"
375373
__FreeBSDABI="14"
376374
__SkipUnmount=1
377375
;;
@@ -424,13 +422,12 @@ case "$__AlpineVersion" in
424422
elif [[ "$__AlpineArch" == "riscv64" ]]; then
425423
__AlpineLlvmLibsLookup=1
426424
__AlpineVersion=edge # minimum version with APKINDEX.tar.gz (packages archive)
425+
elif [[ -n "$__AlpineMajorVersion" ]]; then
426+
# use whichever alpine version is provided and select the latest toolchain libs
427+
__AlpineLlvmLibsLookup=1
427428
else
428429
__AlpineVersion=3.13 # 3.13 to maximize compatibility
429430
__AlpinePackages+=" llvm10-libs"
430-
431-
if [[ "$__AlpineArch" == "armv7" ]]; then
432-
__AlpinePackages="${__AlpinePackages//numactl-dev/}"
433-
fi
434431
fi
435432
esac
436433

@@ -444,11 +441,6 @@ if [[ "$__BuildArch" == "armel" ]]; then
444441
__LLDB_Package="lldb-3.5-dev"
445442
fi
446443

447-
if [[ "$__CodeName" == "xenial" && "$__UbuntuArch" == "armhf" ]]; then
448-
# libnuma-dev is not available on armhf for xenial
449-
__UbuntuPackages="${__UbuntuPackages//libnuma-dev/}"
450-
fi
451-
452444
__UbuntuPackages+=" ${__LLDB_Package:-}"
453445

454446
if [[ -z "$__UbuntuRepo" ]]; then
@@ -574,7 +566,7 @@ elif [[ "$__CodeName" == "freebsd" ]]; then
574566
curl -SL "https://download.freebsd.org/ftp/releases/${__FreeBSDArch}/${__FreeBSDMachineArch}/${__FreeBSDBase}/base.txz" | tar -C "$__RootfsDir" -Jxf - ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc ./bin/freebsd-version
575567
fi
576568
echo "ABI = \"FreeBSD:${__FreeBSDABI}:${__FreeBSDMachineArch}\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > "${__RootfsDir}"/usr/local/etc/pkg.conf
577-
echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"${__RootfsDir}/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf
569+
echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf
578570
mkdir -p "$__RootfsDir"/tmp
579571
# get and build package manager
580572
if [[ "$__hasWget" == 1 ]]; then

0 commit comments

Comments
 (0)