Update dependencies from https://github.com/dotnet/arcade build 20220318.2 (#2952)
authordotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Mon, 21 Mar 2022 17:13:28 +0000 (17:13 +0000)
committerGitHub <noreply@github.com>
Mon, 21 Mar 2022 17:13:28 +0000 (17:13 +0000)
[main] Update dependencies from dotnet/arcade

eng/Version.Details.xml
eng/Versions.props
eng/common/cross/build-rootfs.sh
eng/common/cross/toolchain.cmake
eng/common/cross/x86/tizen-build-rootfs.sh [new file with mode: 0644]
eng/common/cross/x86/tizen-fetch.sh [new file with mode: 0644]
eng/common/cross/x86/tizen/tizen.patch [new file with mode: 0644]
eng/common/retain-build.ps1
global.json

index 24a174de9019918f7a3ebda3f8864f2d184c5d97..a456a326d9c22799a4d20a78a806d2636cce7763 100644 (file)
     </Dependency>
   </ProductDependencies>
   <ToolsetDependencies>
-    <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="7.0.0-beta.22157.6">
+    <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="7.0.0-beta.22168.2">
       <Uri>https://github.com/dotnet/arcade</Uri>
-      <Sha>81001b45bd54f9223905bf55f6ed0125273580fa</Sha>
+      <Sha>bafd55901b50d6fc3507c8ed96a7777fcca1796f</Sha>
       <SourceBuild RepoName="arcade" ManagedOnly="true" />
     </Dependency>
-    <Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="7.0.0-beta.22157.6">
+    <Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="7.0.0-beta.22168.2">
       <Uri>https://github.com/dotnet/arcade</Uri>
-      <Sha>81001b45bd54f9223905bf55f6ed0125273580fa</Sha>
+      <Sha>bafd55901b50d6fc3507c8ed96a7777fcca1796f</Sha>
     </Dependency>
     <Dependency Name="Microsoft.Dotnet.Sdk.Internal" Version="6.0.104-servicing.22161.19">
       <Uri>https://github.com/dotnet/installer</Uri>
index 55433bd5c371158c8c6ab70e266aeaeba5091e57..f2053385e81f788f2985753e448c2f09407a0e2a 100644 (file)
@@ -56,7 +56,7 @@
     <SystemTextEncodingsWebVersion>4.7.2</SystemTextEncodingsWebVersion>
     <SystemTextJsonVersion>4.7.1</SystemTextJsonVersion>
     <XUnitAbstractionsVersion>2.0.3</XUnitAbstractionsVersion>
-    <MicrosoftDotNetRemoteExecutorVersion>7.0.0-beta.22157.6</MicrosoftDotNetRemoteExecutorVersion>
+    <MicrosoftDotNetRemoteExecutorVersion>7.0.0-beta.22168.2</MicrosoftDotNetRemoteExecutorVersion>
     <cdbsosversion>10.0.18362</cdbsosversion>
     <NewtonSoftJsonVersion>12.0.2</NewtonSoftJsonVersion>
   </PropertyGroup>
index 7e4be9a0ccfbf3fd140be68c83462560a373526c..e784c9c005a2a19a8d4e1cd3f5accb2db46d18f5 100644 (file)
@@ -194,8 +194,8 @@ while :; do
             __LLDB_Package="liblldb-6.0-dev"
             ;;
         tizen)
-            if [ "$__BuildArch" != "arm" ] && [ "$__BuildArch" != "armel" ] && [ "$__BuildArch" != "arm64" ]; then
-                echo "Tizen is available only for arm, armel and arm64."
+            if [ "$__BuildArch" != "arm" ] && [ "$__BuildArch" != "armel" ] && [ "$__BuildArch" != "arm64" ] && [ "$__BuildArch" != "x86" ] ; then
+                echo "Tizen is available only for arm, armel, arm64 and x86."
                 usage;
                 exit 1;
             fi
index 9fd345bde6d4091f19b4d0e45889339480ac54a7..eaeeab38fa1f32efe3b75165e99aa7121cb0f991 100644 (file)
@@ -63,6 +63,9 @@ elseif(TARGET_ARCH_NAME STREQUAL "s390x")
 elseif(TARGET_ARCH_NAME STREQUAL "x86")
   set(CMAKE_SYSTEM_PROCESSOR i686)
   set(TOOLCHAIN "i686-linux-gnu")
+  if(TIZEN)
+    set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
+  endif()
 elseif (FREEBSD)
   set(CMAKE_SYSTEM_PROCESSOR "x86_64")
   set(triple "x86_64-unknown-freebsd12")
@@ -91,6 +94,10 @@ if(TIZEN)
     include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
     include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu)
   endif()
+  if(TARGET_ARCH_NAME STREQUAL "x86")
+    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
+    include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu)
+  endif()
 endif()
 
 if(ANDROID)
@@ -197,6 +204,13 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
   endif()
 elseif(TARGET_ARCH_NAME STREQUAL "x86")
   add_toolchain_linker_flag(-m32)
+
+  if(TIZEN)
+    add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
+    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
+    add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+  endif()
 elseif(ILLUMOS)
   add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")
   add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/amd64/lib")
@@ -232,7 +246,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
 endif()
 
 if(TIZEN)
-  if(TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64)$")
+  if(TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64|x86)$")
     add_compile_options(-Wno-deprecated-declarations) # compile-time option
     add_compile_options(-D__extern_always_inline=inline) # compile-time option
   endif()
diff --git a/eng/common/cross/x86/tizen-build-rootfs.sh b/eng/common/cross/x86/tizen-build-rootfs.sh
new file mode 100644 (file)
index 0000000..f5f955d
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+set -e
+
+__X86_CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+__TIZEN_CROSSDIR="$__X86_CrossDir/tizen"
+
+if [[ -z "$ROOTFS_DIR" ]]; then
+    echo "ROOTFS_DIR is not defined."
+    exit 1;
+fi
+
+TIZEN_TMP_DIR=$ROOTFS_DIR/tizen_tmp
+mkdir -p $TIZEN_TMP_DIR
+
+# Download files
+echo ">>Start downloading files"
+VERBOSE=1 $__X86_CrossDir/tizen-fetch.sh $TIZEN_TMP_DIR
+echo "<<Finish downloading files"
+
+echo ">>Start constructing Tizen rootfs"
+TIZEN_RPM_FILES=`ls $TIZEN_TMP_DIR/*.rpm`
+cd $ROOTFS_DIR
+for f in $TIZEN_RPM_FILES; do
+    rpm2cpio $f  | cpio -idm --quiet
+done
+echo "<<Finish constructing Tizen rootfs"
+
+# Cleanup tmp
+rm -rf $TIZEN_TMP_DIR
+
+# Configure Tizen rootfs
+echo ">>Start configuring Tizen rootfs"
+ln -sfn asm-x86 ./usr/include/asm
+patch -p1 < $__TIZEN_CROSSDIR/tizen.patch
+echo "<<Finish configuring Tizen rootfs"
diff --git a/eng/common/cross/x86/tizen-fetch.sh b/eng/common/cross/x86/tizen-fetch.sh
new file mode 100644 (file)
index 0000000..fa5f88b
--- /dev/null
@@ -0,0 +1,170 @@
+#!/usr/bin/env bash
+set -e
+
+if [[ -z "${VERBOSE// }" ]] || [ "$VERBOSE" -ne "$VERBOSE" ] 2>/dev/null; then
+       VERBOSE=0
+fi
+
+Log()
+{
+       if [ $VERBOSE -ge $1 ]; then
+               echo ${@:2}
+       fi
+}
+
+Inform()
+{
+       Log 1 -e "\x1B[0;34m$@\x1B[m"
+}
+
+Debug()
+{
+       Log 2 -e "\x1B[0;32m$@\x1B[m"
+}
+
+Error()
+{
+       >&2 Log 0 -e "\x1B[0;31m$@\x1B[m"
+}
+
+Fetch()
+{
+       URL=$1
+       FILE=$2
+       PROGRESS=$3
+       if [ $VERBOSE -ge 1 ] && [ $PROGRESS ]; then
+               CURL_OPT="--progress-bar"
+       else
+               CURL_OPT="--silent"
+       fi
+       curl $CURL_OPT $URL > $FILE
+}
+
+hash curl 2> /dev/null || { Error "Require 'curl' Aborting."; exit 1; }
+hash xmllint 2> /dev/null || { Error "Require 'xmllint' Aborting."; exit 1; }
+hash sha256sum 2> /dev/null || { Error "Require 'sha256sum' Aborting."; exit 1; }
+
+TMPDIR=$1
+if [ ! -d $TMPDIR ]; then
+       TMPDIR=./tizen_tmp
+       Debug "Create temporary directory : $TMPDIR"
+       mkdir -p $TMPDIR 
+fi
+
+TIZEN_URL=http://download.tizen.org/snapshots/tizen
+BUILD_XML=build.xml
+REPOMD_XML=repomd.xml
+PRIMARY_XML=primary.xml
+TARGET_URL="http://__not_initialized"
+
+Xpath_get()
+{
+       XPATH_RESULT=''
+       XPATH=$1
+       XML_FILE=$2
+       RESULT=$(xmllint --xpath $XPATH $XML_FILE)
+       if [[ -z ${RESULT// } ]]; then
+               Error "Can not find target from $XML_FILE"
+               Debug "Xpath = $XPATH"
+               exit 1
+       fi
+       XPATH_RESULT=$RESULT
+}
+
+fetch_tizen_pkgs_init()
+{
+       TARGET=$1
+       PROFILE=$2
+       Debug "Initialize TARGET=$TARGET, PROFILE=$PROFILE"
+
+       TMP_PKG_DIR=$TMPDIR/tizen_${PROFILE}_pkgs
+       if [ -d $TMP_PKG_DIR ]; then rm -rf $TMP_PKG_DIR; fi
+       mkdir -p $TMP_PKG_DIR
+
+       PKG_URL=$TIZEN_URL/$PROFILE/latest
+
+       BUILD_XML_URL=$PKG_URL/$BUILD_XML
+       TMP_BUILD=$TMP_PKG_DIR/$BUILD_XML
+       TMP_REPOMD=$TMP_PKG_DIR/$REPOMD_XML
+       TMP_PRIMARY=$TMP_PKG_DIR/$PRIMARY_XML
+       TMP_PRIMARYGZ=${TMP_PRIMARY}.gz
+
+       Fetch $BUILD_XML_URL $TMP_BUILD
+
+       Debug "fetch $BUILD_XML_URL to $TMP_BUILD"
+
+       TARGET_XPATH="//build/buildtargets/buildtarget[@name=\"$TARGET\"]/repo[@type=\"binary\"]/text()"
+       Xpath_get $TARGET_XPATH $TMP_BUILD
+       TARGET_PATH=$XPATH_RESULT
+       TARGET_URL=$PKG_URL/$TARGET_PATH
+
+       REPOMD_URL=$TARGET_URL/repodata/repomd.xml
+       PRIMARY_XPATH='string(//*[local-name()="data"][@type="primary"]/*[local-name()="location"]/@href)'
+
+       Fetch $REPOMD_URL $TMP_REPOMD
+
+       Debug "fetch $REPOMD_URL to $TMP_REPOMD"
+
+       Xpath_get $PRIMARY_XPATH $TMP_REPOMD
+       PRIMARY_XML_PATH=$XPATH_RESULT
+       PRIMARY_URL=$TARGET_URL/$PRIMARY_XML_PATH
+
+       Fetch $PRIMARY_URL $TMP_PRIMARYGZ
+
+       Debug "fetch $PRIMARY_URL to $TMP_PRIMARYGZ"
+
+       gunzip $TMP_PRIMARYGZ 
+
+       Debug "unzip $TMP_PRIMARYGZ to $TMP_PRIMARY" 
+}
+
+fetch_tizen_pkgs()
+{
+       ARCH=$1
+       PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="location"]/@href)'
+
+       PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="checksum"]/text())'
+
+       for pkg in ${@:2}
+       do
+               Inform "Fetching... $pkg"
+               XPATH=${PACKAGE_XPATH_TPL/_PKG_/$pkg}
+               XPATH=${XPATH/_ARCH_/$ARCH}
+               Xpath_get $XPATH $TMP_PRIMARY
+               PKG_PATH=$XPATH_RESULT
+
+               XPATH=${PACKAGE_CHECKSUM_XPATH_TPL/_PKG_/$pkg}
+               XPATH=${XPATH/_ARCH_/$ARCH}
+               Xpath_get $XPATH $TMP_PRIMARY
+               CHECKSUM=$XPATH_RESULT
+
+               PKG_URL=$TARGET_URL/$PKG_PATH
+               PKG_FILE=$(basename $PKG_PATH)
+               PKG_PATH=$TMPDIR/$PKG_FILE
+
+               Debug "Download $PKG_URL to $PKG_PATH"
+               Fetch $PKG_URL $PKG_PATH true
+
+               echo "$CHECKSUM $PKG_PATH" | sha256sum -c - > /dev/null
+               if [ $? -ne 0 ]; then
+                       Error "Fail to fetch $PKG_URL to $PKG_PATH"
+                       Debug "Checksum = $CHECKSUM"
+                       exit 1
+               fi
+       done
+}
+
+Inform "Initialize i686 base"
+fetch_tizen_pkgs_init standard base
+Inform "fetch common packages"
+fetch_tizen_pkgs i686 gcc gcc-devel-static glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel keyutils keyutils-devel libkeyutils
+Inform "fetch coreclr packages"
+fetch_tizen_pkgs i686 lldb lldb-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel lttng-ust-devel lttng-ust userspace-rcu-devel userspace-rcu
+Inform "fetch corefx packages"
+fetch_tizen_pkgs i686 libcom_err libcom_err-devel zlib zlib-devel libopenssl11 libopenssl1.1-devel krb5 krb5-devel
+
+Inform "Initialize standard unified"
+fetch_tizen_pkgs_init standard unified
+Inform "fetch corefx packages"
+fetch_tizen_pkgs i686 gssdp gssdp-devel tizen-release
+
diff --git a/eng/common/cross/x86/tizen/tizen.patch b/eng/common/cross/x86/tizen/tizen.patch
new file mode 100644 (file)
index 0000000..f4fe883
--- /dev/null
@@ -0,0 +1,9 @@
+diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
+--- a/usr/lib/libc.so  2016-12-30 23:00:08.284951863 +0900
++++ b/usr/lib/libc.so  2016-12-30 23:00:32.140951815 +0900
+@@ -2,4 +2,4 @@
+    Use the shared library, but some functions are only in
+    the static library, so try that secondarily.  */
+ OUTPUT_FORMAT(elf32-i386)
+-GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /lib/ld-linux.so.2 ) )
++GROUP ( libc.so.6 libc_nonshared.a  AS_NEEDED ( ld-linux.so.2 ) )
index e08fc227b210328495665810db0050406f3275f4..e7ba975adeb6b1840861f02c40184337de1f483f 100644 (file)
@@ -8,8 +8,6 @@ Param(
 
 $ErrorActionPreference = 'Stop'
 Set-StrictMode -Version 2.0
-. $PSScriptRoot\tools.ps1
-
 
 function Get-AzDOHeaders(
     [string] $token)
@@ -38,10 +36,10 @@ function Update-BuildRetention(
         Write-Host "Updated retention settings for build ${buildId}."
     }
     catch {
-        Write-PipelineTelemetryError -Category "Build" -Message "Failed to update retention settings for build: $_.Exception.Response.StatusDescription"
-        ExitWithExitCode 1
+        Write-Error "Failed to update retention settings for build: $_.Exception.Response.StatusDescription"
+        exit 1
     }
 }
 
 Update-BuildRetention -azdoOrgUri $azdoOrgUri -azdoProject $azdoProject -buildId $buildId -token $token
-ExitWithExitCode 0
+exit 0
index 2c7cb13b27a2ac532b2f4b318a078e1c4d2f08cf..08b2879ca87ddcea2c9b8b17ff85451a137eb10a 100644 (file)
@@ -16,6 +16,6 @@
   },
   "msbuild-sdks": {
     "Microsoft.Build.NoTargets": "2.0.1",
-    "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22157.6"
+    "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22168.2"
   }
 }