Skip to content

Commit 30fb50e

Browse files
Update dependencies from https://github.com/dotnet/arcade build 20200401.2 (#989)
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20201.2 - Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20201.2 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
1 parent 2322e00 commit 30fb50e

17 files changed

+167
-59
lines changed

eng/Version.Details.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@
44
<Uri>https://github.com/dotnet/command-line-api</Uri>
55
<Sha>166610c56ff732093f0145a2911d4f6c40b786da</Sha>
66
</Dependency>
7-
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="5.0.0-beta.20171.1">
7+
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="5.0.0-beta.20201.2">
88
<Uri>https://github.com/dotnet/arcade</Uri>
9-
<Sha>7dbc907fa03eacf4c57f827cb4235d77b7ed4fcd</Sha>
9+
<Sha>bce0a98620c1c5a110b2bba9912f3d5929069c6b</Sha>
1010
</Dependency>
1111
<Dependency Name="Microsoft.SymbolStore" Version="1.0.120301">
1212
<Uri>https://github.com/dotnet/symstore</Uri>
1313
<Sha>b99d7d1db9016e954191c997f8e890921a8c4366</Sha>
1414
</Dependency>
1515
</ProductDependencies>
1616
<ToolsetDependencies>
17-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20171.1">
17+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20201.2">
1818
<Uri>https://github.com/dotnet/arcade</Uri>
19-
<Sha>7dbc907fa03eacf4c57f827cb4235d77b7ed4fcd</Sha>
19+
<Sha>bce0a98620c1c5a110b2bba9912f3d5929069c6b</Sha>
2020
</Dependency>
2121
<Dependency Name="Microsoft.NETCore.App" Version="5.0.0-preview.4.20204.15">
2222
<Uri>https://github.com/dotnet/runtime</Uri>

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<SystemThreadingChannelsVersion>4.7.0</SystemThreadingChannelsVersion>
4848
<XUnitVersion>2.4.1</XUnitVersion>
4949
<XUnitAbstractionsVersion>2.0.3</XUnitAbstractionsVersion>
50-
<MicrosoftDotNetRemoteExecutorVersion>5.0.0-beta.20171.1</MicrosoftDotNetRemoteExecutorVersion>
50+
<MicrosoftDotNetRemoteExecutorVersion>5.0.0-beta.20201.2</MicrosoftDotNetRemoteExecutorVersion>
5151
<cdbsosversion>10.0.18362</cdbsosversion>
5252
</PropertyGroup>
5353
<PropertyGroup>

eng/common/cross/build-rootfs.sh

Lines changed: 56 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,16 @@
22

33
usage()
44
{
5-
echo "Usage: $0 [BuildArch] [LinuxCodeName] [lldbx.y] [--skipunmount] --rootfsdir <directory>]"
5+
echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [--skipunmount] --rootfsdir <directory>]"
66
echo "BuildArch can be: arm(default), armel, arm64, x86"
7-
echo "LinuxCodeName - optional, Code name for Linux, can be: trusty, xenial(default), zesty, bionic, alpine. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen."
8-
echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine"
7+
echo "CodeName - optional, Code name for Linux, can be: trusty, xenial(default), zesty, bionic, alpine. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen."
8+
echo " for FreeBSD can be: freebsd11 or freebsd12."
9+
echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FReeBSD"
910
echo "--skipunmount - optional, will skip the unmount of rootfs folder."
1011
exit 1
1112
}
1213

13-
__LinuxCodeName=xenial
14+
__CodeName=xenial
1415
__CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
1516
__InitialDir=$PWD
1617
__BuildArch=arm
@@ -53,6 +54,15 @@ __AlpinePackages+=" krb5-dev"
5354
__AlpinePackages+=" openssl-dev"
5455
__AlpinePackages+=" zlib-dev"
5556

57+
__FreeBSDBase="12.1-RELEASE"
58+
__FreeBSDPkg="1.10.5"
59+
__FreeBSDPackages="libunwind"
60+
__FreeBSDPackages+=" icu"
61+
__FreeBSDPackages+=" libinotify"
62+
__FreeBSDPackages+=" lttng-ust"
63+
__FreeBSDPackages+=" llvm-90"
64+
__FreeBSDPackages+=" krb5"
65+
5666
__UnprocessedBuildArgs=
5767
while :; do
5868
if [ $# -le 0 ]; then
@@ -81,7 +91,7 @@ while :; do
8191
__BuildArch=armel
8292
__UbuntuArch=armel
8393
__UbuntuRepo="http://ftp.debian.org/debian/"
84-
__LinuxCodeName=jessie
94+
__CodeName=jessie
8595
;;
8696
x86)
8797
__BuildArch=x86
@@ -110,36 +120,36 @@ while :; do
110120
unset __LLDB_Package
111121
;;
112122
trusty) # Ubuntu 14.04
113-
if [ "$__LinuxCodeName" != "jessie" ]; then
114-
__LinuxCodeName=trusty
123+
if [ "$__CodeName" != "jessie" ]; then
124+
__CodeName=trusty
115125
fi
116126
;;
117127
xenial) # Ubuntu 16.04
118-
if [ "$__LinuxCodeName" != "jessie" ]; then
119-
__LinuxCodeName=xenial
128+
if [ "$__CodeName" != "jessie" ]; then
129+
__CodeName=xenial
120130
fi
121131
;;
122132
zesty) # Ubuntu 17.04
123-
if [ "$__LinuxCodeName" != "jessie" ]; then
124-
__LinuxCodeName=zesty
133+
if [ "$__CodeName" != "jessie" ]; then
134+
__CodeName=zesty
125135
fi
126136
;;
127137
bionic) # Ubuntu 18.04
128-
if [ "$__LinuxCodeName" != "jessie" ]; then
129-
__LinuxCodeName=bionic
138+
if [ "$__CodeName" != "jessie" ]; then
139+
__CodeName=bionic
130140
fi
131141
;;
132142
jessie) # Debian 8
133-
__LinuxCodeName=jessie
143+
__CodeName=jessie
134144
__UbuntuRepo="http://ftp.debian.org/debian/"
135145
;;
136146
stretch) # Debian 9
137-
__LinuxCodeName=stretch
147+
__CodeName=stretch
138148
__UbuntuRepo="http://ftp.debian.org/debian/"
139149
__LLDB_Package="liblldb-6.0-dev"
140150
;;
141151
buster) # Debian 10
142-
__LinuxCodeName=buster
152+
__CodeName=buster
143153
__UbuntuRepo="http://ftp.debian.org/debian/"
144154
__LLDB_Package="liblldb-6.0-dev"
145155
;;
@@ -149,14 +159,22 @@ while :; do
149159
usage;
150160
exit 1;
151161
fi
152-
__LinuxCodeName=
162+
__CodeName=
153163
__UbuntuRepo=
154164
__Tizen=tizen
155165
;;
156166
alpine)
157-
__LinuxCodeName=alpine
167+
__CodeName=alpine
158168
__UbuntuRepo=
159169
;;
170+
freebsd11)
171+
__FreeBSDBase="11.3-RELEASE"
172+
;&
173+
freebsd12)
174+
__CodeName=freebsd
175+
__BuildArch=x64
176+
__SkipUnmount=1
177+
;;
160178
--skipunmount)
161179
__SkipUnmount=1
162180
;;
@@ -192,7 +210,7 @@ if [ -d "$__RootfsDir" ]; then
192210
rm -rf $__RootfsDir
193211
fi
194212

195-
if [[ "$__LinuxCodeName" == "alpine" ]]; then
213+
if [[ "$__CodeName" == "alpine" ]]; then
196214
__ApkToolsVersion=2.9.1
197215
__AlpineVersion=3.9
198216
__ApkToolsDir=$(mktemp -d)
@@ -218,9 +236,24 @@ if [[ "$__LinuxCodeName" == "alpine" ]]; then
218236
add $__AlpinePackagesEdgeTesting
219237

220238
rm -r $__ApkToolsDir
221-
elif [[ -n $__LinuxCodeName ]]; then
222-
qemu-debootstrap --arch $__UbuntuArch $__LinuxCodeName $__RootfsDir $__UbuntuRepo
223-
cp $__CrossDir/$__BuildArch/sources.list.$__LinuxCodeName $__RootfsDir/etc/apt/sources.list
239+
elif [[ "$__CodeName" == "freebsd" ]]; then
240+
mkdir -p $__RootfsDir/usr/local/etc
241+
wget -O - https://download.freebsd.org/ftp/releases/amd64/${__FreeBSDBase}/base.txz | tar -C $__RootfsDir -Jxf - ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc ./bin/freebsd-version
242+
# For now, ask for 11 ABI even on 12. This can be revisited later.
243+
echo "ABI = \"FreeBSD:11:amd64\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > ${__RootfsDir}/usr/local/etc/pkg.conf
244+
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
245+
mkdir -p $__RootfsDir/tmp
246+
# get and build package manager
247+
wget -O - https://github.com/freebsd/pkg/archive/${__FreeBSDPkg}.tar.gz | tar -C $__RootfsDir/tmp -zxf -
248+
cd $__RootfsDir/tmp/pkg-${__FreeBSDPkg}
249+
./autogen.sh && ./configure --prefix=$__RootfsDir/host && make install
250+
rm -rf $__RootfsDir/tmp/pkg-${__FreeBSDPkg}
251+
# install packages we need.
252+
$__RootfsDir/host/sbin/pkg -r $__RootfsDir -C $__RootfsDir/usr/local/etc/pkg.conf update
253+
$__RootfsDir/host/sbin/pkg -r $__RootfsDir -C $__RootfsDir/usr/local/etc/pkg.conf install --yes $__FreeBSDPackages
254+
elif [[ -n $__CodeName ]]; then
255+
qemu-debootstrap --arch $__UbuntuArch $__CodeName $__RootfsDir $__UbuntuRepo
256+
cp $__CrossDir/$__BuildArch/sources.list.$__CodeName $__RootfsDir/etc/apt/sources.list
224257
chroot $__RootfsDir apt-get update
225258
chroot $__RootfsDir apt-get -f -y install
226259
chroot $__RootfsDir apt-get -y install $__UbuntuPackages
@@ -230,7 +263,7 @@ elif [[ -n $__LinuxCodeName ]]; then
230263
umount $__RootfsDir/*
231264
fi
232265

233-
if [[ "$__BuildArch" == "arm" && "$__LinuxCodeName" == "trusty" ]]; then
266+
if [[ "$__BuildArch" == "arm" && "$__CodeName" == "trusty" ]]; then
234267
pushd $__RootfsDir
235268
patch -p1 < $__CrossDir/$__BuildArch/trusty.patch
236269
patch -p1 < $__CrossDir/$__BuildArch/trusty-lttng-2.4.patch

eng/common/cross/toolchain.cmake

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
set(CROSS_ROOTFS $ENV{ROOTFS_DIR})
22

33
set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH})
4-
set(CMAKE_SYSTEM_NAME Linux)
4+
if(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version)
5+
set(CMAKE_SYSTEM_NAME FreeBSD)
6+
else()
7+
set(CMAKE_SYSTEM_NAME Linux)
8+
endif()
59
set(CMAKE_SYSTEM_VERSION 1)
610

711
if(TARGET_ARCH_NAME STREQUAL "armel")
@@ -27,6 +31,9 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
2731
elseif(TARGET_ARCH_NAME STREQUAL "x86")
2832
set(CMAKE_SYSTEM_PROCESSOR i686)
2933
set(TOOLCHAIN "i686-linux-gnu")
34+
elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
35+
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
36+
set(triple "x86_64-unknown-freebsd11")
3037
else()
3138
message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only armel, arm, arm64 and x86 are supported!")
3239
endif()
@@ -60,6 +67,12 @@ if("$ENV{__DistroRid}" MATCHES "android.*")
6067

6168
# include official NDK toolchain script
6269
include(${CROSS_ROOTFS}/../build/cmake/android.toolchain.cmake)
70+
elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
71+
# we cross-compile by instructing clang
72+
set(CMAKE_C_COMPILER_TARGET ${triple})
73+
set(CMAKE_CXX_COMPILER_TARGET ${triple})
74+
set(CMAKE_ASM_COMPILER_TARGET ${triple})
75+
set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
6376
else()
6477
set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
6578

eng/common/performance/performance-setup.ps1

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@ if ($Internal) {
5353
$CommonSetupArguments="--channel master --queue $Queue --build-number $BuildNumber --build-configs $Configurations --architecture $Architecture"
5454
$SetupArguments = "--repository https://github.com/$Repository --branch $Branch --get-perf-hash --commit-sha $CommitSha $CommonSetupArguments"
5555

56+
57+
#This grabs the LKG version number of dotnet and passes it to our scripts
58+
$VersionJSON = Get-Content global.json | ConvertFrom-Json
59+
$DotNetVersion = $VersionJSON.tools.dotnet
60+
$SetupArguments = "--dotnet-versions $DotNetVersion $SetupArguments"
61+
62+
5663
if ($RunFromPerformanceRepo) {
5764
$SetupArguments = "--perf-hash $CommitSha $CommonSetupArguments"
5865

eng/common/performance/performance-setup.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,13 @@ fi
167167
common_setup_arguments="--channel master --queue $queue --build-number $build_number --build-configs $configurations --architecture $architecture"
168168
setup_arguments="--repository https://github.com/$repository --branch $branch --get-perf-hash --commit-sha $commit_sha $common_setup_arguments"
169169

170+
171+
# Get the tools section from the global.json.
172+
# This grabs the LKG version number of dotnet and passes it to our scripts
173+
dotnet_version=`cat global.json | python3 -c 'import json,sys;obj=json.load(sys.stdin);print(obj["tools"]["dotnet"])'`
174+
setup_arguments="--dotnet-versions $dotnet_version $setup_arguments"
175+
176+
170177
if [[ "$run_from_perf_repo" = true ]]; then
171178
payload_directory=
172179
workitem_directory=$source_directory

eng/common/pipeline-logging-functions.ps1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,12 @@ function Write-PipelineTaskError {
6767
}
6868

6969
if(($Type -ne 'error') -and ($Type -ne 'warning')) {
70-
Write-Host $Message
71-
return
70+
Write-Host $Message
71+
return
7272
}
7373
$PSBoundParameters.Remove('Force') | Out-Null
7474
if(-not $PSBoundParameters.ContainsKey('Type')) {
75-
$PSBoundParameters.Add('Type', 'error')
75+
$PSBoundParameters.Add('Type', 'error')
7676
}
7777
Write-LogIssue @PSBoundParameters
7878
}

eng/common/sdl/execute-all-sdl-tools.ps1

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ try {
3333
$disableConfigureToolsetImport = $true
3434
$LASTEXITCODE = 0
3535

36+
# `tools.ps1` checks $ci to perform some actions. Since the SDL
37+
# scripts don't necessarily execute in the same agent that run the
38+
# build.ps1/sh script this variable isn't automatically set.
39+
$ci = $true
3640
. $PSScriptRoot\..\tools.ps1
3741

3842
#Replace repo names to the format of org/repo

eng/common/sdl/extract-artifact-packages.ps1

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@ param(
66
$ErrorActionPreference = 'Stop'
77
Set-StrictMode -Version 2.0
88

9-
# `tools.ps1` checks $ci to perform some actions. Since the post-build
10-
# scripts don't necessarily execute in the same agent that run the
11-
# build.ps1/sh script this variable isn't automatically set.
12-
$ci = $true
139
$disableConfigureToolsetImport = $true
1410

1511
function ExtractArtifacts {
@@ -29,6 +25,10 @@ function ExtractArtifacts {
2925
}
3026

3127
try {
28+
# `tools.ps1` checks $ci to perform some actions. Since the SDL
29+
# scripts don't necessarily execute in the same agent that run the
30+
# build.ps1/sh script this variable isn't automatically set.
31+
$ci = $true
3232
. $PSScriptRoot\..\tools.ps1
3333

3434
$ExtractPackage = {

eng/common/sdl/init-sdl.ps1

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ Set-StrictMode -Version 2.0
1212
$disableConfigureToolsetImport = $true
1313
$LASTEXITCODE = 0
1414

15+
# `tools.ps1` checks $ci to perform some actions. Since the SDL
16+
# scripts don't necessarily execute in the same agent that run the
17+
# build.ps1/sh script this variable isn't automatically set.
18+
$ci = $true
1519
. $PSScriptRoot\..\tools.ps1
1620

1721
# Don't display the console progress UI - it's a huge perf hit
@@ -58,6 +62,6 @@ try {
5862
}
5963
catch {
6064
Write-Host $_.ScriptStackTrace
61-
Write-PipelineTelemetryError -Category 'Sdl' -Message $_
65+
Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_
6266
ExitWithExitCode 1
6367
}

0 commit comments

Comments
 (0)