user/dotnet8-stage0: upgrade to 8.0.100_pre3

This commit is contained in:
Antoine Martin 2023-04-11 20:50:20 -04:00
parent f86bfd9dd0
commit cd73fe11e1
Signed by: forge
GPG key ID: D62A472A4AA7D541
18 changed files with 322 additions and 506 deletions

View file

@ -2,59 +2,57 @@
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=dotnet8-stage0
pkgver=8.0.100_pre2
pkgver=8.0.100_pre3
pkgrel=0
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
# Tag of tarball generator.
_gittag=v8.0.100-preview.2
_gittag=v8.0.100-preview.3.23178.7
# Versions of prebuilt artifacts and bootstrap tar
_artifactsver=0.1.0-8.0.100-5.centos.8-x64
_prebuiltsver=0.1.0-8.0.100-11.centos.8-x64
_bootstrapver="8.0.100-preview.2.23157.25"
_artifactsver=8.0.100-preview.2.centos.8-x64
_prebuiltsver=0.1.0-8.0.100-17.centos.8-x64
_bootstrapver="8.0.100-preview.3.23178.7"
_bootstraprel=0
_installerver=$_bootstrapver
_installerver=${_gittag/v}
# Version of packages that aren't defined in git-info or badly defined
_iltoolsver=8.0.0-alpha.1.23076.9
_iltoolsver=8.0.0-preview.2.23128.3
# Patches to be used. String before '_' refers to repo to patch
# Look for patch notes within each patch for what they fix / where they come from
# build_* patches applies directly to $builddir
_patches="
aspnetcore_use-linux-musl-crossgen-on-non-x64.patch
build_set-local-repo.patch
installer_runtimepacks.patch
roslyn_allow-extra-params.patch
installer_set-crossgen2rid-using-buildarchitecture.patch
runtime_76500-properly-set-toolchain-for-alpine.patch
runtime_79856-save-errno-when-using-posix-semaphores.patch
runtime_82676-make-pal-console-c-use-int.patch
runtime_82678-add-stub-for-mini-is-gsharedvt-inst.patch
runtime_make-lld-use-depend-on-existing-on-target.patch
runtime_mono-thread-coop-undefine-fortify-source.patch
runtime_no-additional-runtime-id.patch
sdk_dotnet-watch-nowarn-ad0001.patch
sdk_dummyshim-fix.patch
sdk_fix-sdk-download.patch
runtime_82269-mono-thread-coop-undefine-fortify-source.patch
runtime_83682-specify-notext-on-linux-musl-x86.patch
runtime_84413-support-adding-rids-with-dash-in-base-part.patch
runtime_more-clang-16-suppression.patch
runtime_remove-usage-of-off64-t.patch
"
_extra_nupkgs="
https://globalcdn.nuget.org/packages/microsoft.netcore.app.host.linux-musl-x64.7.0.2.nupkg
https://globalcdn.nuget.org/packages/microsoft.netcore.app.host.linux-musl-arm64.7.0.2.nupkg
https://globalcdn.nuget.org/packages/microsoft.netcore.app.host.linux-musl-arm.7.0.2.nupkg
microsoft.netcore.app.host.linux-musl-ppc64le.7.0.3.nupkg::https://lab.ilot.io/ayakael/dotnet-stage0/-/package_files/2067/download
microsoft.netcore.app.host.linux-musl-s390x.7.0.3.nupkg::https://lab.ilot.io/ayakael/dotnet-stage0/-/package_files/1904/download
https://globalcdn.nuget.org/packages/microsoft.netcore.app.host.linux-musl-x64.5.0.17.nupkg
https://globalcdn.nuget.org/packages/microsoft.netcore.app.host.linux-musl-arm64.5.0.17.nupkg
https://globalcdn.nuget.org/packages/microsoft.netcore.app.host.linux-musl-arm.5.0.17.nupkg
microsoft.netcore.app.host.linux-musl-ppc64le.7.0.2.nupkg::https://lab.ilot.io/ayakael/dotnet-stage0/-/package_files/8120/download
microsoft.netcore.app.host.linux-musl-s390x.7.0.2.nupkg::https://lab.ilot.io/ayakael/dotnet-stage0/-/package_files/8077/download
"
_pkgver_macro=${pkgver%.*}
_pkgver_prior=1
_pkgver_name="${_pkgver_macro//[.0]}"
pkgdesc="The .NET Core stage0 bits for dotnet build"
# x86: blocked by https://github.com/dotnet/runtime/issues/77667
# x86: blocked by https://github.com/dotnet/runtime/issues/83509
# armhf: blocked by https://github.com/dotnet/runtime/issues/77663
# riscv64: port WIP https://github.com/dotnet/runtime/issues/36748
arch="all !x86 !armhf !riscv64"
_giturl=https://github.com/dotnet/dotnet
url=https://dotnet.microsoft.com
license="MIT"
options="!check" # Testsuite in main -build aport
@ -106,7 +104,7 @@ makedepends_host="
zlib-dev
"
case $CARCH in
s390x|x86) ;;
s390x) ;;
*) makedepends_host="$makedepends_host lld-dev";;
esac
makedepends_build="
@ -154,33 +152,23 @@ fi
# generates tarball containing all components built by dotnet
snapshot() {
local _pkg="$srcdir"/${builddir##*/}.tar
ulimit -n 4096
if [ -d "$srcdir" ]; then
cd "$srcdir"
else
mkdir -p "$srcdir" && cd "$srcdir"
fi
if [ -d "installer" ]; then
cd "$srcdir"/installer
if [ -d "dotnet" ]; then
cd "$srcdir"/dotnet
else
git clone https://github.com/dotnet/installer && cd "$srcdir"/installer
git clone $_giturl && cd "$srcdir"/dotnet
fi
git checkout $_gittag
sed 's|/src/installer||' "$startdir"/installer_2780-reprodicible-tarball.patch | patch -Np1 || true
sed 's|/src/installer||' "$startdir"/installer_fix-version.patch | patch -Np1 || true
if [ ! -d "$_cli_root" ]; then
local _cli_root=
fi
sed 's|^filename.*|filename=dotnet-$(git -C "$GIT_ROOT" describe --tags --always)|' -i eng/pack-sources.sh
eng/pack-sources.sh -o artifacts/packages/dotnet-$_gittag.tar.gz
_InitializeDotNetCli="$_cli_root" DOTNET_INSTALL_DIR="$_cli_root" DotNetBuildFromSource=true ./build.sh \
/p:ArcadeBuildTarball=true \
/p:TarballDir=$builddir \
/p:TarballFilePath=$_pkg
msg "Compressing ${builddir##*/}.tar to $SRCDEST"
xz -T0 -9 -vv -e -c > "$SRCDEST"/${builddir##*/}.tar.xz < "$_pkg"
msg "Compressing dotnet-$_gittag.tar.gz to $SRCDEST"
gzip -cd artifacts/packages/dotnet-*.tar.gz | xz -T0 -9 -vv -e -c > dotnet-$_gittag.tar.xz
cd "$startdir"
abuild checksum
@ -189,16 +177,13 @@ snapshot() {
prepare() {
default_prepare
# adjusts sdk version and packagedir to expected
for i in runtime sdk installer aspnetcore roslyn; do
sed "s|@@PACKAGESDIR@@|$_packagesdir|" -i "$builddir"/src/$i/NuGet.config
tmp=$(mktemp)
jq ".sdk.version = \"$_bootstrapver\"" "$builddir"/src/$i/global.json > $tmp && mv $tmp "$builddir"/src/$i/global.json
done
mkdir -p "$_cli_root"
mkdir -p $_packagesdir $_downloaddir $_outputdir $_nugetdir $_logdir
# sdk insists on downloading its own dotnet unless ArcadeBuildFromSource
# is true, which opens up a can of worms
sed 's|ArcadeBuildFromSource=true|Architecture|' -i src/sdk/eng/restore-toolset.sh
# links logfiles to pipeline logs for easy pickup in pipelines
mkdir -p "$_logdir" "$builddir"/artifacts
ln -s "$_logdir" "$builddir"/artifacts/logs
@ -211,13 +196,20 @@ prepare() {
ln -s "$_logdir"/${i##*\/} "$builddir"/src/${i##*\/}/artifacts/log
done
tar --use-compress-program="pigz" -xf "$srcdir"/dotnet-sdk-$_pkgver_macro*$_dotnet_arch*noextract -C "$_cli_root" --no-same-owner
tar -xf "$srcdir"/dotnet-sdk-$_pkgver_macro*$_dotnet_arch*noextract -C "$_cli_root" --no-same-owner
for i in $_extra_nupkgs; do
local filename=${i/::*}
local filename=${filename##*/}
$_nuget push "$srcdir"/$filename --source="$_packagesdir"
done
# adjusts sdk version and packagedir to expected
for i in runtime sdk installer aspnetcore roslyn; do
$_nuget add source $_packagesdir --name local --configfile "$builddir"/src/$i/NuGet.config
tmp=$(mktemp)
jq ".sdk.version = \"$_bootstrapver\"" "$builddir"/src/$i/global.json > $tmp && mv $tmp "$builddir"/src/$i/global.json
done
}
_runtime() {
@ -236,19 +228,26 @@ _runtime() {
-clang
-arch $_dotnet_target
/consoleLoggerParameters:ShowTimestamp
/p:_toolsRID=linux-musl-$_dotnet_arch
/p:OutputRid=linux-musl-$_dotnet_target
/p:NoPgoOptimize=true
/p:TargetRid=linux-musl-$_dotnet_target
/p:EnableNgenOptimization=false
/p:ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch=none
/p:GitCommitHash=$(grep GitCommitHash "$builddir"/prereqs/git-info/runtime.props | sed -E 's|</?GitCommitHash>||g' | tr -d ' ')
"
if [ "$CBUILD" != "$CHOST" ]; then
local args="$args -cross"
# https://github.com/dotnet/runtime/pull/75597 broke crossbuilding when true
local DotNetBuildFromSource=false
# x86 build of mono broken, thus do not build mono
case $_dotnet_target in
x86) local args="$args /p:DefaultSubsets=clr+libs+host+packs";;
esac
fi
if [ "$_runtimever" != "${_runtimever##*-}" ]; then
local args="$args /p:VersionSuffix=${_runtimever##*-}"
fi
DotNetBuildFromSource=false ROOTFS_DIR="$CBUILDROOT" ./build.sh $args
DotNetBuildFromSource=$DotNetBuildFromSource ROOTFS_DIR="$CBUILDROOT" ./build.sh $args
for i in artifacts/packages/*/*/*.nupkg; do
$_nuget push $i --source="$_packagesdir"
@ -270,7 +269,6 @@ _roslyn() {
local args="
-c Release
-bl
/consoleLoggerParameters:ShowTimestamp
/p:GitCommitHash=$(grep GitCommitHash "$builddir"/prereqs/git-info/roslyn.props | sed -E 's|</?GitCommitHash>||g' | tr -d ' ')
"
if [ "$_roslynver" != "${_roslynver##*-}" ]; then
@ -303,10 +301,7 @@ _sdk() {
if [ "$_sdkver" != "${_sdkver##*-}" ]; then
local args="$args /p:VersionSuffix=${_sdkver##*-}"
fi
# ArgumentsReflector doesn't build correctly when built from source
DotNetBuildFromSource=false dotnet build src/Tests/ArgumentsReflector/ArgumentsReflector.csproj $args
./build.sh --pack $args
./build.sh --pack /p:Projects=$builddir/src/sdk/source-build.slnf $args
for i in artifacts/packages/*/*/*.nupkg; do
$_nuget push $i --source="$_packagesdir"
@ -332,21 +327,26 @@ _aspnetcore() {
-no-build-nodejs
/consoleLoggerParameters:ShowTimestamp
/p:BuildNodeJs=false
/p:BuildOSName=linux-musl
/p:GitCommitHash=$(grep GitCommitHash "$builddir"/prereqs/git-info/aspnetcore.props | sed -E 's|</?GitCommitHash>||g' | tr -d ' ')
/p:DotNetAssetRootUrl=file://$_downloaddir/
/p:EnablePackageValidation=false
"
if [ "$_dotnet_target" = "x86" ] || [ "$_dotnet_target" = "ppc64le" ]; then
local args="$args /p:CrossgenOutput=false"
fi
if [ "$_aspnetver" != "${_aspnetver##*-}" ]; then
local args="$args /p:VersionSuffix=${_aspnetver##*-}"
fi
# aspnetcore can't find newly created Microsoft.NETCore.App.Runtime.linux-musl-x86 for some reason
case $_dotnet_target in
x86) local args="$args /p:CrossgenOutput=false";;
esac
./eng/build.sh --pack $args
for i in artifacts/packages/*/*/*.nupkg; do
$_nuget push $i --source="$_packagesdir"
done
mkdir -p "$_downloaddir"/aspnetcore/Runtime/$_aspnetver_ns
cp artifacts/installers/*/aspnetcore-runtime-*-linux-musl-$_dotnet_target.tar.gz "$_downloaddir"/aspnetcore/Runtime/$_aspnetver_ns
cp artifacts/installers/*/aspnetcore_base_runtime.version "$_downloaddir"/aspnetcore/Runtime/$_aspnetver_ns
@ -373,9 +373,11 @@ _installer() {
if [ "$_installerver" != "${_installerver##*-}" ]; then
local args="$args /p:VersionSuffix=${_installerver##*-}"
fi
if [ "$_dotnet_target" = "x86" ]; then
local args="$args /p:DISABLE_CROSSGEN=True"
fi
# crossgen broken on x86
case $_dotnet_target in
x86) local args="$args /p:DISABLE_CROSSGEN=True";;
esac
./build.sh $args
mkdir -p "$_downloaddir"/installer/$_installerver
@ -508,31 +510,28 @@ artifacts() {
}
sha512sums="
ea01bedda56bd7f2a3a856672ee75a444ad97988631d6dd9b52e513cb333248fff00cdd7f0da5635cf6c7012629bdb8cc44fc5b49a0e8bea4e1421cc1dec4244 dotnet-v8.0.100-preview.2.tar.xz
952cedb092edc02b8f3c211f0387c56acf4fdcadf607344cab529efd5e36a52e9017187e62baf2453544b7255cfedcdb7b0e68e1523d6bd74bf3a8f0ec8919c0 dotnet-sdk-8.0.100-preview.2.23157.25-linux-musl-x64.noextract
b04b6cf3280434775e268776899b3ee7fe1b94217edfdbc7e166f493f25f52d74be5a97ef07927d102731314004fe57d40d5efa8038bc78dbe0aac5d7f15756b dotnet-sdk-8.0.100-preview.2.23157.25-linux-musl-arm64.noextract
c338b11f74b8e00e25512bd675a2b2bf2ca7ac86b2b0bd02a184de3cec7bbb56f9066e54e8f9d9dc95bae2bd652e30b8465b26de08245b1d6fb4a9bd27d882e6 dotnet-sdk-8.0.100-preview.2.23157.25-linux-musl-arm.noextract
6d9825b2223a3cb5384601442f6768dfcfb9665f567f1b3f100597d3683aeaea8a173bf7429d57e57bc7bf9deb532f1c957cd9fd1348a8ff4ac6a428708e0bbf dotnet-sdk-8.0.100-preview.2.23157.25-r0-linux-musl-ppc64le.noextract
c39ec39631c56f49013104f3132b7c3a2fcc39f78a1767b694a63a17cc4aa68dc0c6039e737fd07b51ff877412210c1ba13e29eb5c3c106f09f2fc90f8fd4eeb dotnet-sdk-8.0.100-preview.2.23157.25-r0-linux-musl-s390x.noextract
bb40f2fcd6f51e908e68fce740400345f2b3ee9c66c1cc69116b4188a19bb0f510e96c8ddcf99e03ee35d16f95ac0b918f940317cb7a5dd858682c4483d3c93b Private.SourceBuilt.Artifacts.0.1.0-8.0.100-5.centos.8-x64.noextract
7f58addbea8477221543fb525801d2a0852f7ec3e5ce22b0bda9f7c77aaebc41fb81f345ac2a31b0677ba243c308c363a96ceca4c4a5daf6b7db384afe7118b2 Private.SourceBuilt.Prebuilts.0.1.0-8.0.100-11.centos.8-x64.noextract
4bc1cbe52fef05e6e343a0b2cc759e6fdbf4479540694676eb095d02fd3a542fc6807bda8ecdbd11f1b60e65180afa217e25c8f47b2c5e7beb53ee2e90118053 dotnet-v8.0.100-preview.3.23178.7.tar.xz
c4cbdeff8efb4f2b6f2842067ed92edb2c323d31df8c9ca7c5aeb4eb95320d2628977c20163c9c21bfb97f6a585f81bd5abce9d553d3c64c20389e3ef90ac838 dotnet-sdk-8.0.100-preview.3.23178.7-linux-musl-x64.noextract
85f9ed71e81f753bd1d96752d568671009641ef75a9f6fb27fe38315cd159da4581739c121a69969361843d9429f04dc67c3a20969ad7e85b2d4a59308972923 dotnet-sdk-8.0.100-preview.3.23178.7-linux-musl-arm64.noextract
74cf6a2c79cb2c0ab5058330d8d07a84fa220d68089d0f2a6165cc2a2250477f092efed54738af3271db06b5a67df07ad39e30cc6e30bd3acb8916575be5a99b dotnet-sdk-8.0.100-preview.3.23178.7-linux-musl-arm.noextract
e6f2b692b0f112770274a500a80204a59e36f0b49b5e6d12aa5e31d15af3fd643b70811d9f9db54004a07ff749541fb527d8f88c765f7dbd2f4680482315b5e3 dotnet-sdk-8.0.100-preview.3.23178.7-r0-linux-musl-ppc64le.noextract
e044c0f711b1934bc93ef87f489c1e055003be8b33b3fce66de7c6c8b1f7ace7315b1b82d11ca371aab293e0ca68554fc0e18de8b102cc8f5cd953c14c83ce03 dotnet-sdk-8.0.100-preview.3.23178.7-r0-linux-musl-s390x.noextract
f3964c455f5351310c1176fa9fe15b5a2ce7a7ee43fa8da3336fe2a83bd4a3214472e70331a012c64a687329cb5507e0a459260f72397c39bd6605ab9557ee17 Private.SourceBuilt.Artifacts.8.0.100-preview.2.centos.8-x64.noextract
c79a7ba0cc85fe23322ce12970d8c87c20fe833618ca84576843f93eb50fd3e67c8616c205bb297e4d32c13ee1ee499f433c7f29c3a97bd0a2097de5dab66b05 Private.SourceBuilt.Prebuilts.0.1.0-8.0.100-17.centos.8-x64.noextract
5c1fd9e250e7f08d996b7b335134973624a8d1afc331f7fda3a81eee7d2170e39905be20b8786e99078892b21d1582092aeee45d49c5feae3b2bd5374c306fec microsoft.netcore.app.host.linux-musl-x64.7.0.2.nupkg
c5bb986179b4789a24cc4552fa33bee2015acba1c9775ff8fe2295797dd7114f244df2c133e8cee8a3de392c5c47530ba9ef87939cc55660f8c937146b98e1fb microsoft.netcore.app.host.linux-musl-arm64.7.0.2.nupkg
2f35742d74255dd6e7a39e48f29e01cead2b410dabd9e4192d724186a8bd2e04f970b5015229045c732e6c7bcd89a8e9787d19fc50f09fcaab8cd94516f5a0ce microsoft.netcore.app.host.linux-musl-arm.7.0.2.nupkg
da9139d1f7097ba6b97bdf58f7f2a36aa1c8903e19080455027182f7b36b032827dc9b7fdd61310ff8cb8b5f04b7214571a5fa50337dc4bfc1671c9d61310efd microsoft.netcore.app.host.linux-musl-ppc64le.7.0.3.nupkg
e2612038939dd74664742d648954d352011b449c3fa0038123e98bfaddd9b52864d296a1ea43fa63545022bc33ba94460bac474f22397936a7c548342b8f13d9 microsoft.netcore.app.host.linux-musl-s390x.7.0.3.nupkg
9c2f5410c2983ae1d073a5efb78afa56b212165a18252400a42696e10d8cb6016fde5941d1f453eb5332a77f5e209bcb5d40b8ee142609232be95b0cdca1e060 aspnetcore_use-linux-musl-crossgen-on-non-x64.patch
ead38430e54530819ecdb7ab5b087707eee97c4e77b5011a42758352e8265417c65f07b4eec2488708d932de240877695b474e07b8984d34086ef539d5022830 build_set-local-repo.patch
9fe4494b291128469874147e5f28f8fbd023b014114f0aa151fa5cf57821318fa88b834a131eeb77478c8c87adca8c1c0ff3e8c59264c7394fd0621a520eb014 installer_runtimepacks.patch
d1811c1364d9ce4d180d61adf8a9074cf71cf854776959a6db98740f17ed75beec8536602cfb335f534a703d3917e43c3cd91f0f6aed68b5d40c1c80396f5908 roslyn_allow-extra-params.patch
2d8e9eddd9cd7c4924ee6ac33b1c74258eb7b22a08db1b24b2d1f00b53b64ad349e908d5584e62df10cf265eacd4389d0024ef66f9b5e970cfaa747f7084cd2e microsoft.netcore.app.host.linux-musl-x64.5.0.17.nupkg
1fd728e989e06278997f3cfc5c447cee6910d37876475791f0d60a3592f58c4567150607bcf459a8dea9121221195c7e4622a12831067473911556435614c56f microsoft.netcore.app.host.linux-musl-arm64.5.0.17.nupkg
38cc760ef765a265afb97a24885ae7800acc120cdc7f89d45a49090c681eddfad2c8dd19742623be506594a6726d99497bdf72c90daa077b208355044002ec1e microsoft.netcore.app.host.linux-musl-arm.5.0.17.nupkg
f3296b92c91ff76d3238af8414e5e1b4729f641b7c9d25539e5399a472c828b23851fb3241b7c3ba9fc691be0ac2dacd3f7efefc66207920574eda066d76cb9d microsoft.netcore.app.host.linux-musl-ppc64le.7.0.2.nupkg
8e8dfc7184516f3e4ef4e43540fb403ec6066237e0596953cff5c49accaa811ad72f0286c52b2f03871adb9b24194cf4922bbcce05c2bb5caa8bcbd790013dde microsoft.netcore.app.host.linux-musl-s390x.7.0.2.nupkg
b6a2dfeccac329546f87f1019c1f2cf07e2f294dd33914449ad08d92269c8713b6fa1e330ef257c24e189023fd0b824df97688b0ba6e578a6d0292b07a72b4c1 installer_set-crossgen2rid-using-buildarchitecture.patch
ba9c66b5bb8b8d2de87922717b8a7a6f880eed2a38b5208a554ebd64841c6053658692463471a26442c85cb9adb94043a9d91190786d46c0f45ff4e7cc9c707e runtime_76500-properly-set-toolchain-for-alpine.patch
77fa6d9987a7c43725582c9c493e9d4d5965a611a1d795dad4e3d46cd730caced095f994d93f91a131df7fa4b6a7277bcd3d915bae2dcd869559f22076fbc575 runtime_79856-save-errno-when-using-posix-semaphores.patch
18f2be488e4d6c667b90f6b6faed12a84f8c5748c6da91a291542e0a9e8b43effc3bba92a6b38da1b2a904466e3e9bd66b01ad0d3f521bd27a067eb362e2add6 runtime_82676-make-pal-console-c-use-int.patch
5452b7c5037210fd273476c58fb8bf30ec9f0e6824489808c6d2af82057c5401bbd244a5aa8aa20a0c6ae122dd55a76cda40ccfd7838530fd23b5ad7bbd5550f runtime_82678-add-stub-for-mini-is-gsharedvt-inst.patch
946f7ddc979bced4e2991f0fe768476b537c97d864362d105fcaec9e6f9f312a798e5e19312966f29fdd80593aa88870be5747b74172d9a70bb1b173c3c75a43 runtime_make-lld-use-depend-on-existing-on-target.patch
d732df247c721c9f677baabdd7f36dbf4b564814ff64164361065bb1c196b767494a1d39f634eadf01a23032c7b3e64102614b7213065c81096bbf3f8022e6a0 runtime_mono-thread-coop-undefine-fortify-source.patch
1de4459522525e1d570e219c9ef067fbbf8745ad369602a006ea62cbafa0f64d2b01b63e00147cf8fed0ea9764373fb4c66aae2323b43a34447990a24f9f29c3 runtime_no-additional-runtime-id.patch
89d008944bf0ba16250ff078e650619b2087654d98b4f7dd614b8197774236e946d92ea17d81d037251ab16880e7bb8f74dbd8a244ca713ecd3efbea17e09318 sdk_dotnet-watch-nowarn-ad0001.patch
f8cdeb30e4b9d4ebf40ded00614813c1afb5d560c0969edc9be2bd594238152a8a932121a4c88c3deca813cc4a62bac96c12c0d7a0c57191911c15eef728c96b sdk_dummyshim-fix.patch
b456f28045ac7c71b3f8ceb0d1836a0290c6527375cd84116c8f259de59434340e259695d7d728d2e0ab6eb4758d7ef14328c50529fad3fe38a5f15262b2a366 sdk_fix-sdk-download.patch
d732df247c721c9f677baabdd7f36dbf4b564814ff64164361065bb1c196b767494a1d39f634eadf01a23032c7b3e64102614b7213065c81096bbf3f8022e6a0 runtime_82269-mono-thread-coop-undefine-fortify-source.patch
c983a1ab7f06ac86691e0fa7a61fcad69a074d984ef4a4116bee43f20be918215963c7ec8ddd7edd70432b29b160ff78288183acc89fda15ce4a75bfdbf99ee3 runtime_83682-specify-notext-on-linux-musl-x86.patch
2ed962096eb9d8ae61831d224ceb05b8f77f5692f38a3457048d1b4abef705e8e4f676b81bb1a833e338e75ac8dc80b0631b1a45ad9a15c5597740b7320bfbb5 runtime_84413-support-adding-rids-with-dash-in-base-part.patch
887112eb2b103eadd6887529ebae7f9a75df2c2cb168e84fd40cc09f9bcd20917d428bbba06968b07b0a463890da82b1b2b1d033a3dd016e6494067464ae6f74 runtime_more-clang-16-suppression.patch
0c25319125ef5b0ad490b37a643c0c5257c796d5ed24f9ac404f698710b07de790bcbb0b6336d4a50025b94c3bff99b214951bd8f0a79a8d6f543ebaa300740f runtime_remove-usage-of-off64-t.patch
"

View file

@ -1,26 +0,0 @@
From 65613dc9cf76432dcbde3db3db1005c2aa902fee Mon Sep 17 00:00:00 2001
From: Antoine Martin <dev@ayakael.net>
Date: Tue, 21 Feb 2023 15:51:31 -0500
Subject: [PATCH 09/15] aspnetcore_use-linux-musl-crossgen
Line causes build of aspnetcore on arm to look for linux version of
CrossGen2 rather than linux-musl. This removes the line so that
BuildOsName is pulled from TargetOsName as expected
---
.../App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
index 326968018..fa1f72e62 100644
--- a/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
+++ b/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
@@ -103,7 +103,6 @@ This package is an internal implementation of the .NET Core SDK and is not meant
Special case the crossgen2 package reference on Windows to avoid the x86 package when building in Visual Studio.
-->
<BuildOsName>$(TargetOsName)</BuildOsName>
- <BuildOsName Condition="'$(TargetOsName)' == 'linux-musl' and '$(TargetArchitecture)'!='x64'">linux</BuildOsName>
<BuildOsName Condition=" '$(PortableBuild)' == 'false' ">$(TargetRuntimeIdentifier.Substring(0,$(TargetRuntimeIdentifier.IndexOf('-'))))</BuildOsName>
<Crossgen2BuildArchitecture Condition=" '$(BuildOsName)' == 'win' ">x64</Crossgen2BuildArchitecture>
<Crossgen2BuildArchitecture Condition=" '$(Crossgen2BuildArchitecture)' == '' ">$(BuildArchitecture)</Crossgen2BuildArchitecture>
--
2.38.2

View file

@ -1,80 +0,0 @@
From b5b7fda232e513a04879d82e4035ce548cb8bb34 Mon Sep 17 00:00:00 2001
From: Antoine Martin <dev@ayakael.net>
Date: Tue, 21 Feb 2023 15:50:19 -0500
Subject: [PATCH 08/15] build_set-local-repo
Patch necessary for stage0, as each component requires the artifacts
from previously built component. This patch (along with a prepare step
in aport) adds a "local" nupkg repository that artifacts are pushed to
at end of component build
---
src/aspnetcore/NuGet.config | 1 +
src/installer/NuGet.config | 1 +
src/roslyn/NuGet.config | 1 +
src/runtime/NuGet.config | 1 +
src/sdk/NuGet.config | 1 +
5 files changed, 5 insertions(+)
diff --git a/src/aspnetcore/NuGet.config b/src/aspnetcore/NuGet.config
index 50e58d647..b30b2cdbc 100644
--- a/src/aspnetcore/NuGet.config
+++ b/src/aspnetcore/NuGet.config
@@ -2,6 +2,7 @@
<configuration>
<packageSources>
<clear />
+ <add key="local" value="@@PACKAGESDIR@@" />
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
<add key="dotnet8" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json" />
diff --git a/src/installer/NuGet.config b/src/installer/NuGet.config
index 77050d5f1..6ee3c6ecb 100644
--- a/src/installer/NuGet.config
+++ b/src/installer/NuGet.config
@@ -5,6 +5,7 @@
</solution>
<packageSources>
<clear />
+ <add key="local" value="@@PACKAGESDIR@@" />
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!-- Begin: Package sources from dotnet-sdk -->
<!-- End: Package sources from dotnet-sdk -->
diff --git a/src/roslyn/NuGet.config b/src/roslyn/NuGet.config
index 1aafa4f96..87d12ccde 100644
--- a/src/roslyn/NuGet.config
+++ b/src/roslyn/NuGet.config
@@ -3,6 +3,7 @@
<configuration>
<packageSources>
<clear />
+ <add key="local" value="@@PACKAGESDIR@@" />
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
<add key="dotnet6" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" />
diff --git a/src/runtime/NuGet.config b/src/runtime/NuGet.config
index 33b098b12..85a58caeb 100644
--- a/src/runtime/NuGet.config
+++ b/src/runtime/NuGet.config
@@ -7,6 +7,7 @@
</fallbackPackageFolders>
<packageSources>
<clear />
+ <add key="local" value="@@PACKAGESDIR@@" />
<!--
'src/test/PrepareTestAssets/PrepareTestAssets.proj' generates a NuGet.config file using this
one as a template. The following line is a marker to insert the test restore sources.
diff --git a/src/sdk/NuGet.config b/src/sdk/NuGet.config
index e42468650..13503ca3b 100644
--- a/src/sdk/NuGet.config
+++ b/src/sdk/NuGet.config
@@ -2,6 +2,7 @@
<configuration>
<packageSources>
<clear />
+ <add key="local" value="@@PACKAGESDIR@@" />
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!-- Begin: Package sources from dotnet-aspnetcore -->
<!-- End: Package sources from dotnet-aspnetcore -->
--
2.38.2

View file

@ -1,45 +0,0 @@
From 96cdd52ef27bff89ae167e6b13fcb8d82da14a69 Mon Sep 17 00:00:00 2001
From: Antoine Martin <dev@ayakael.net>
Date: Tue, 21 Feb 2023 15:53:24 -0500
Subject: [PATCH 10/15] installer_runtimepacks
Necessary for stage0, as installer doesn't pull runtime packs.
---
.../src/redist/targets/GenerateLayout.targets | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/installer/src/redist/targets/GenerateLayout.targets b/src/installer/src/redist/targets/GenerateLayout.targets
index a27834f85..ca86967df 100644
--- a/src/installer/src/redist/targets/GenerateLayout.targets
+++ b/src/installer/src/redist/targets/GenerateLayout.targets
@@ -143,6 +143,13 @@
<RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
</BundledLayoutPackage>
+ <BundledLayoutPackage Include="MicrosoftNetCoreAppRuntimePackNupkg">
+ <PackageName>Microsoft.NETCore.App.Runtime.$(SharedFrameworkRid)</PackageName>
+ <PackageVersion>$(MicrosoftNETCoreAppRefPackageVersion)</PackageVersion>
+ <TargetFramework>$(TargetFramework)</TargetFramework>
+ <RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
+ </BundledLayoutPackage>
+
<BundledLayoutPackage Include="MicrosoftNetStandardTargetingPackNupkg">
<PackageName>NETStandard.Library.Ref</PackageName>
<PackageVersion>$(NETStandardLibraryRefPackageVersion)</PackageVersion>
@@ -157,6 +164,13 @@
<RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
</BundledLayoutPackage>
+ <BundledLayoutPackage Include="MicrosoftAspNetCoreAppRuntimePackNupkg">
+ <PackageName>Microsoft.AspNetCore.App.Runtime.$(SharedFrameworkRid)</PackageName>
+ <PackageVersion>$(MicrosoftAspNetCoreAppRefPackageVersion)</PackageVersion>
+ <TargetFramework>$(TargetFramework)</TargetFramework>
+ <RelativeLayoutPath>packs/%(PackageName)/%(PackageVersion)</RelativeLayoutPath>
+ </BundledLayoutPackage>
+
<BundledLayoutPackage Include="MicrosoftNetCoreAppHostPackNupkg">
<PackageName>Microsoft.NETCore.App.Host.$(SharedFrameworkRid)</PackageName>
<PackageVersion>$(MicrosoftNETCoreAppHostPackageVersion)</PackageVersion>
--
2.38.2

View file

@ -0,0 +1,13 @@
diff --git a/src/installer/src/redist/targets/GenerateLayout.targets.orig b/src/installer/src/redist/targets/GenerateLayout.targets
index a27834f..0c899d4 100644
--- a/src/installer/src/redist/targets/GenerateLayout.targets.orig
+++ b/src/installer/src/redist/targets/GenerateLayout.targets
@@ -85,7 +85,7 @@
<WinFormsAndWpfSharedFxArchiveFileName>windowsdesktop-runtime-$(MicrosoftWindowsDesktopAppRuntimePackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)</WinFormsAndWpfSharedFxArchiveFileName>
<Crossgen2Rid>$(HostOSName)-$(BuildArchitecture)</Crossgen2Rid>
- <Crossgen2Rid Condition="'$(DotNetBuildFromSource)' == 'true'">$(SharedFrameworkRid)</Crossgen2Rid>
+ <Crossgen2Rid Condition="'$(DotNetBuildFromSource)' == 'true'">$(SharedFrameworkRid.SubString(0, $(SharedFrameworkRid.LastIndexOf('-'))))-$(BuildArchitecture)</Crossgen2Rid>
<AspNetCoreInstallerRid Condition="'$(AspNetCoreInstallerRid)' == ''">$(SharedFrameworkRid)</AspNetCoreInstallerRid>
<AspNetCoreInstallerRid Condition="'$(SharedFrameworkRid)' == 'rhel.6-x64'">linux-x64</AspNetCoreInstallerRid>

View file

@ -1,26 +0,0 @@
From 84191e5b729198f92152b6ca27129cbcd5b7cd88 Mon Sep 17 00:00:00 2001
From: Antoine Martin <dev@ayakael.net>
Date: Tue, 21 Feb 2023 15:54:08 -0500
Subject: [PATCH 11/15] roslyn_allow-extra-params
Necessary as to allow manually setting binlog location
---
src/roslyn/eng/build.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/roslyn/eng/build.sh b/src/roslyn/eng/build.sh
index d49ebf7de..bd9564244 100755
--- a/src/roslyn/eng/build.sh
+++ b/src/roslyn/eng/build.sh
@@ -167,7 +167,7 @@ while [[ $# > 0 ]]; do
args="$args $1"
shift
;;
- /p:*)
+ /*)
properties="$properties $1"
;;
*)
--
2.38.2

View file

@ -1,26 +0,0 @@
From 86033acaa1dbc61833142ffa60cee0f1a0fb4a14 Mon Sep 17 00:00:00 2001
Patch-Source: https://github.com/dotnet/runtime/pull/82676
From: Antoine Martin <dev@ayakael.net>
Date: Sat, 25 Feb 2023 14:39:43 -0500
Subject: [PATCH] pal_console.c: cast TIOCSWINSZ to int when
HAVE_IOCTL_WITH_INT_REQUEST
---
src/native/libs/System.Native/pal_console.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/runtime/src/native/libs/System.Native/pal_console.c b/src/runtime/src/native/libs/System.Native/pal_console.c
index d217075e5..52241f47d 100644
--- a/src/runtime/src/native/libs/System.Native/pal_console.c
+++ b/src/runtime/src/native/libs/System.Native/pal_console.c
@@ -43,7 +43,9 @@ int32_t SystemNative_SetWindowSize(WinSize* windowSize)
{
assert(windowSize != NULL);
-#if HAVE_IOCTL && HAVE_TIOCSWINSZ
+#if HAVE_IOCTL_WITH_INT_REQUEST && HAVE_TIOCSWINSZ
+ return ioctl(STDOUT_FILENO, (int)TIOCSWINSZ, windowSize);
+#elif HAVE_IOCTL && HAVE_TIOCSWINSZ
return ioctl(STDOUT_FILENO, TIOCSWINSZ, windowSize);
#else
// Not supported on e.g. Android. Also, prevent a compiler error because windowSize is unused

View file

@ -1,66 +0,0 @@
From 30a1cfa37f87fc1100022ca82b833f3f486e84bb Mon Sep 17 00:00:00 2001
Patch-Source: https://github.com/dotnet/runtime/pull/82678
From: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Date: Sat, 25 Feb 2023 23:32:43 +0200
Subject: [PATCH 1/2] Add guard around mini_is_gsharedvt_inst call
---
src/mono/mono/mini/aot-runtime.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/runtime/src/mono/mono/mini/aot-runtime.c b/src/runtime/src/mono/mono/mini/aot-runtime.c
index 683fee00852e7..edc401a5fada2 100644
--- a/src/runtime/src/mono/mono/mini/aot-runtime.c
+++ b/src/runtime/src/mono/mono/mini/aot-runtime.c
@@ -4530,8 +4530,10 @@ mono_aot_can_dedup (MonoMethod *method)
!mini_is_gsharedvt_signature (mono_method_signature_internal (method)) &&
!mini_is_gsharedvt_klass (method->klass)) {
MonoGenericContext *context = mono_method_get_context (method);
+#ifdef MONO_ARCH_GSHAREDVT_SUPPORTED
if (context->method_inst && mini_is_gsharedvt_inst (context->method_inst))
return FALSE;
+#endif
/* No point in dedup-ing private instances */
if ((context->class_inst && inst_is_private (context->class_inst)) ||
(context->method_inst && inst_is_private (context->method_inst)))
From f8f685624d361a76bb425f91c2ab2558dd67ace6 Mon Sep 17 00:00:00 2001
From: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Date: Sun, 26 Feb 2023 06:22:08 +0200
Subject: [PATCH 2/2] Add stub for mini_is_gsharedvt_inst
---
src/mono/mono/mini/aot-runtime.c | 2 --
src/mono/mono/mini/mini-generic-sharing.c | 6 ++++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/runtime/src/mono/mono/mini/aot-runtime.c b/src/runtime/src/mono/mono/mini/aot-runtime.c
index edc401a5fada2..683fee00852e7 100644
--- a/src/runtime/src/mono/mono/mini/aot-runtime.c
+++ b/src/runtime/src/mono/mono/mini/aot-runtime.c
@@ -4530,10 +4530,8 @@ mono_aot_can_dedup (MonoMethod *method)
!mini_is_gsharedvt_signature (mono_method_signature_internal (method)) &&
!mini_is_gsharedvt_klass (method->klass)) {
MonoGenericContext *context = mono_method_get_context (method);
-#ifdef MONO_ARCH_GSHAREDVT_SUPPORTED
if (context->method_inst && mini_is_gsharedvt_inst (context->method_inst))
return FALSE;
-#endif
/* No point in dedup-ing private instances */
if ((context->class_inst && inst_is_private (context->class_inst)) ||
(context->method_inst && inst_is_private (context->method_inst)))
diff --git a/src/runtime/src/mono/mono/mini/mini-generic-sharing.c b/src/runtime/src/mono/mono/mini/mini-generic-sharing.c
index 6b81872c4f307..3f4823477e115 100644
--- a/src/runtime/src/mono/mono/mini/mini-generic-sharing.c
+++ b/src/runtime/src/mono/mono/mini/mini-generic-sharing.c
@@ -4859,4 +4859,10 @@ mini_method_to_shared (MonoMethod *method)
return NULL;
}
+gboolean
+mini_is_gsharedvt_inst (MonoGenericInst *inst)
+{
+ return FALSE;
+}
+
#endif /* !MONO_ARCH_GSHAREDVT_SUPPORTED */

View file

@ -0,0 +1,24 @@
From 65877a9c1260c1c37d1c3355703b1951b6754cdf Mon Sep 17 00:00:00 2001
From: Adeel <3840695+am11@users.noreply.github.com>
Date: Mon, 20 Mar 2023 19:36:14 +0200
Subject: [PATCH] Specify -z notext on linux-musl-x86
---
src/coreclr/CMakeLists.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/runtime/src/coreclr/CMakeLists.txt b/src/runtime/src/coreclr/CMakeLists.txt
index 67b773bf78787..87d862a541ae6 100644
--- a/src/runtime/src/coreclr/CMakeLists.txt
+++ b/src/runtime/src/coreclr/CMakeLists.txt
@@ -109,6 +109,10 @@ if(CLR_CMAKE_HOST_UNIX)
endif()
endif()
+ if(CLR_CMAKE_TARGET_ALPINE_LINUX AND CLR_CMAKE_TARGET_ARCH_I386)
+ add_linker_flag(-Wl,-z,notext)
+ endif()
+
if(NOT CLR_CMAKE_HOST_MACCATALYST AND NOT CLR_CMAKE_HOST_IOS AND NOT CLR_CMAKE_HOST_TVOS)
add_subdirectory(pal)
add_subdirectory(hosts)

View file

@ -0,0 +1,164 @@
From abc761c2c5694e4029fea1a60dc1934951c66e26 Mon Sep 17 00:00:00 2001
Patch-Source: https://github.com/dotnet/runtime/pull/84413
From: Tom Deseyn <tom.deseyn@gmail.com>
Date: Thu, 6 Apr 2023 13:18:11 +0200
Subject: [PATCH 1/2] Microsoft.NETCore.Platforms: support adding rids with '-'
in the base part.
Currently when trying to add a rid like 'linux-musl-x64'
the rid is not understood to be base = 'linux-musl', arch = 'x64'.
Instead the parser considers a potential optional qualifier.
This causes the rid to be parsed as base = 'linux', arch = 'musl',
and qualifier = 'x64'.
We know the rids being added won't have a qualifier. If we take
this into account while parsing, we can parse the rid correctly.
---
.../Microsoft.NETCore.Platforms/src/RID.cs | 11 +++-
.../src/RuntimeGroupCollection.cs | 2 +-
.../tests/RidTests.cs | 50 +++++++++++++------
3 files changed, 47 insertions(+), 16 deletions(-)
diff --git a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RID.cs b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RID.cs
index 6457fd29cadf0..b464d5f0f54e3 100644
--- a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RID.cs
+++ b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RID.cs
@@ -56,7 +56,7 @@ private enum RIDPart : int
Max = Qualifier
}
- public static RID Parse(string runtimeIdentifier)
+ public static RID Parse(string runtimeIdentifier, bool noQualifier)
{
string[] parts = new string[(int)RIDPart.Max + 1];
bool omitVersionDelimiter = true;
@@ -90,6 +90,15 @@ public static RID Parse(string runtimeIdentifier)
// version might be omitted
else if (current == ArchitectureDelimiter)
{
+ // The qualifier delimiter and architecture delimiter are the same.
+ // When there is no qualifier, there will be one delimiter past the base part
+ // for the architecture.
+ // So if we see another delimiter later in the string (for the architecture),
+ // extend the base part instead of starting the architecture part.
+ if (noQualifier && runtimeIdentifier.IndexOf(ArchitectureDelimiter, i + 1) != -1)
+ {
+ break;
+ }
// ensure there's no version later in the string
if (runtimeIdentifier.IndexOf(VersionDelimiter, i) != -1)
{
diff --git a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
index e069508053105..31009a8d28e5e 100644
--- a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
+++ b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
@@ -34,7 +34,7 @@ public RuntimeGroupCollection(ICollection<RuntimeGroup> runtimeGroups)
/// <param name="parent"></param>
public void AddRuntimeIdentifier(string runtimeIdentifier, string parent)
{
- RID rid = RID.Parse(runtimeIdentifier);
+ RID rid = RID.Parse(runtimeIdentifier, noQualifier: true);
AddRuntimeIdentifier(rid, parent);
}
diff --git a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/tests/RidTests.cs b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/tests/RidTests.cs
index 227bcbdd10d4d..8dee0ebeda17a 100644
--- a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/tests/RidTests.cs
+++ b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/tests/RidTests.cs
@@ -10,35 +10,57 @@ public class RidTests
{
public static IEnumerable<object[]> ValidRIDData()
{
- yield return new object[] { "win10-x64", new RID() { BaseRID = "win", OmitVersionDelimiter = true, Version = new RuntimeVersion("10"), Architecture = "x64" } };
- yield return new object[] { "win10", new RID() { BaseRID = "win", OmitVersionDelimiter = true, Version = new RuntimeVersion("10")} };
- yield return new object[] { "linux", new RID() { BaseRID = "linux" } };
- yield return new object[] { "linux-x64", new RID() { BaseRID = "linux", Architecture = "x64" } };
- yield return new object[] { "linux-x64", new RID() { BaseRID = "linux", Architecture = "x64" } };
- yield return new object[] { "debian.10-x64", new RID() { BaseRID = "debian", Version = new RuntimeVersion("10"), Architecture = "x64" } };
- yield return new object[] { "linuxmint.19.2-x64", new RID() { BaseRID = "linuxmint", Version = new RuntimeVersion("19.2"), Architecture = "x64" } };
- yield return new object[] { "ubuntu.14.04-x64", new RID() { BaseRID = "ubuntu", Version = new RuntimeVersion("14.04"), Architecture = "x64" } };
- yield return new object[] { "foo-bar.42-arm", new RID() { BaseRID = "foo-bar", Version = new RuntimeVersion("42"), Architecture = "arm" } };
- yield return new object[] { "foo-bar-arm", new RID() { BaseRID = "foo", Architecture = "bar", Qualifier = "arm" } }; // demonstrates ambiguity, avoid using `-` in base
- yield return new object[] { "linux-musl-x64", new RID() { BaseRID = "linux", Architecture = "musl", Qualifier = "x64" } }; // yes, we already have ambiguous RIDs
+ yield return new object[] { "win10-x64", new RID() { BaseRID = "win", OmitVersionDelimiter = true, Version = new RuntimeVersion("10"), Architecture = "x64" }, null };
+ yield return new object[] { "win10", new RID() { BaseRID = "win", OmitVersionDelimiter = true, Version = new RuntimeVersion("10")}, null };
+ yield return new object[] { "linux", new RID() { BaseRID = "linux" }, null };
+ yield return new object[] { "linux-x64", new RID() { BaseRID = "linux", Architecture = "x64" }, null };
+ yield return new object[] { "linux-x64", new RID() { BaseRID = "linux", Architecture = "x64" }, null };
+ yield return new object[] { "debian.10-x64", new RID() { BaseRID = "debian", Version = new RuntimeVersion("10"), Architecture = "x64" }, null };
+ yield return new object[] { "linuxmint.19.2-x64", new RID() { BaseRID = "linuxmint", Version = new RuntimeVersion("19.2"), Architecture = "x64" }, null };
+ yield return new object[] { "ubuntu.14.04-x64", new RID() { BaseRID = "ubuntu", Version = new RuntimeVersion("14.04"), Architecture = "x64" }, null };
+ yield return new object[] { "foo-bar.42-arm", new RID() { BaseRID = "foo-bar", Version = new RuntimeVersion("42"), Architecture = "arm" }, null };
+ yield return new object[] { "foo-bar-arm", new RID() { BaseRID = "foo", Architecture = "bar", Qualifier = "arm" }, // demonstrates ambiguity, avoid using `-` in base
+ new RID() { BaseRID = "foo-bar", Architecture = "arm" } };
+ yield return new object[] { "linux-musl-x64", new RID() { BaseRID = "linux", Architecture = "musl", Qualifier = "x64" }, // yes, we already have ambiguous RIDs
+ new RID() { BaseRID = "linux-musl", Architecture = "x64" } };
}
[Theory]
[MemberData(nameof(ValidRIDData))]
- internal void ParseCorrectly(string input, RID expected)
+ internal void ParseCorrectly(string input, RID expected, RID? expectedNoQualifier)
{
- RID actual = RID.Parse(input);
+ _ = expectedNoQualifier; // unused
+
+ RID actual = RID.Parse(input, noQualifier: false);
Assert.Equal(expected, actual);
}
[Theory]
[MemberData(nameof(ValidRIDData))]
- internal void ToStringAsExpected(string expected, RID rid)
+ internal void ParseCorrectlyNoQualifier(string input, RID expected, RID? expectedNoQualifier)
+ {
+ expectedNoQualifier ??= expected;
+
+ RID actual = RID.Parse(input, noQualifier: true);
+
+ Assert.Equal(expectedNoQualifier, actual);
+ }
+
+ [Theory]
+ [MemberData(nameof(ValidRIDData))]
+ internal void ToStringAsExpected(string expected, RID rid, RID? expectedNoQualifierRid)
{
string actual = rid.ToString();
Assert.Equal(expected, actual);
+
+ if (expectedNoQualifierRid is not null)
+ {
+ actual = expectedNoQualifierRid.ToString();
+
+ Assert.Equal(expected, actual);
+ }
}
}
}
From f70da467ca94291039e0ea5b0723cb9db5e090e7 Mon Sep 17 00:00:00 2001
From: Tom Deseyn <tom.deseyn@gmail.com>
Date: Thu, 6 Apr 2023 18:14:31 +0200
Subject: [PATCH 2/2] Update
src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
---
.../Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
index 31009a8d28e5e..ec4762d71424c 100644
--- a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
+++ b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
@@ -34,6 +34,7 @@ public RuntimeGroupCollection(ICollection<RuntimeGroup> runtimeGroups)
/// <param name="parent"></param>
public void AddRuntimeIdentifier(string runtimeIdentifier, string parent)
{
+ // don't parse qualifier since we don't use them and they are ambiguous with `-` in base RID
RID rid = RID.Parse(runtimeIdentifier, noQualifier: true);
AddRuntimeIdentifier(rid, parent);

View file

@ -1,25 +0,0 @@
From fed0cbcfd1db11cc913d4dbb0e577172471eec50 Mon Sep 17 00:00:00 2001
From: Antoine Martin <dev@ayakael.net>
Date: Tue, 21 Feb 2023 15:57:02 -0500
Subject: [PATCH 13/15] runtime_make-lld-us-depend-on-existing-on-target
---
src/runtime/eng/common/native/init-compiler.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/runtime/eng/common/native/init-compiler.sh b/src/runtime/eng/common/native/init-compiler.sh
index c670cb796..a7bfef593 100644
--- a/src/runtime/eng/common/native/init-compiler.sh
+++ b/src/runtime/eng/common/native/init-compiler.sh
@@ -128,7 +128,7 @@ fi
# Only lld version >= 9 can be considered stable. lld doesn't support s390x.
if [ "$compiler" = "clang" ] && [ -n "$majorVersion" ] && [ "$majorVersion" -ge 9 ] && [ "$build_arch" != "s390x" ]; then
if "$CC" -fuse-ld=lld -Wl,--version >/dev/null 2>&1; then
- LDFLAGS="-fuse-ld=lld"
+ [ -f "$ROOTFS_DIR/usr/bin/lld" ] && LDFLAGS="-fuse-ld=lld"
fi
fi
--
2.38.2

View file

@ -0,0 +1,13 @@
diff --git a/src/runtime/eng/native/configurecompiler.cmake b/src/runtime/eng/native/configurecompiler.cmake
index c9a54547c0a..931da2cae5b 100644
--- a/src/runtime/eng/native/configurecompiler.cmake
+++ b/src/runtime/eng/native/configurecompiler.cmake
@@ -488,6 +488,8 @@ if (CLR_CMAKE_HOST_UNIX)
# other clang 16.0 suppressions
add_compile_options(-Wno-single-bit-bitfield-constant-conversion)
add_compile_options(-Wno-cast-function-type-strict)
+ add_compile_options(-Wno-incompatible-function-pointer-types-strict)
+ add_compile_options(-Wno-ignored-attributes)
else()
add_compile_options(-Wno-uninitialized)
add_compile_options(-Wno-strict-aliasing)

View file

@ -1,27 +0,0 @@
From b5bd27a369f9e4786c9c540a7fd96c766b4dca0a Mon Sep 17 00:00:00 2001
From: Antoine Martin <dev@ayakael.net>
Date: Tue, 21 Feb 2023 17:06:45 -0500
Subject: [PATCH 1/1] runtime_no-additional-runtime-id
For some reason, AdditionalRuntimeIdentifiers gets set as '$arch' rather than 'linux-musl-$arch'
Since we know our portable RID exists, just skip ensuring RID existence
---
.../src/Microsoft.NETCore.Platforms.csproj | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj
index 742f17881..81877a5e6 100644
--- a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj
+++ b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/Microsoft.NETCore.Platforms.csproj
@@ -21,8 +21,6 @@
<_generateRuntimeGraphTargetFramework Condition="'$(MSBuildRuntimeType)' == 'core'">$(NetCoreAppToolCurrent)</_generateRuntimeGraphTargetFramework>
<_generateRuntimeGraphTargetFramework Condition="'$(MSBuildRuntimeType)' != 'core'">net472</_generateRuntimeGraphTargetFramework>
<_generateRuntimeGraphTask>$([MSBuild]::NormalizePath('$(BaseOutputPath)', $(Configuration), '$(_generateRuntimeGraphTargetFramework)', '$(AssemblyName).dll'))</_generateRuntimeGraphTask>
- <!-- When building from source, ensure the RID we're building for is part of the RID graph -->
- <AdditionalRuntimeIdentifiers Condition="'$(DotNetBuildFromSource)' == 'true'">$(AdditionalRuntimeIdentifiers);$(OutputRID)</AdditionalRuntimeIdentifiers>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
--
2.38.2

View file

@ -0,0 +1,26 @@
diff --git a/src/runtime/src/coreclr/debug/createdump/crashinfounix.cpp.orig b/src/runtime/src/coreclr/debug/createdump/crashinfounix.cpp
index 20b2494..165b190 100644
--- a/src/runtime/src/coreclr/debug/createdump/crashinfounix.cpp.orig
+++ b/src/runtime/src/coreclr/debug/createdump/crashinfounix.cpp
@@ -469,7 +469,7 @@ CrashInfo::ReadProcessMemory(void* address, void* buffer, size_t size, size_t* r
// performance optimization.
m_canUseProcVmReadSyscall = false;
assert(m_fdMem != -1);
- *read = pread64(m_fdMem, buffer, size, (off64_t)address);
+ *read = pread(m_fdMem, buffer, size, (off_t)address);
}
if (*read == (size_t)-1)
diff --git a/src/runtime/src/coreclr/debug/createdump/crashinfo.cpp.orig b/src/runtime/src/coreclr/debug/createdump/crashinfo.cpp
index 5addb79..79655d1 100644
--- a/src/runtime/src/coreclr/debug/createdump/crashinfo.cpp.orig
+++ b/src/runtime/src/coreclr/debug/createdump/crashinfo.cpp
@@ -760,7 +760,7 @@ CrashInfo::PageMappedToPhysicalMemory(uint64_t start)
}
uint64_t pagemapOffset = (start / PAGE_SIZE) * sizeof(uint64_t);
- uint64_t seekResult = lseek64(m_fdPagemap, (off64_t) pagemapOffset, SEEK_SET);
+ uint64_t seekResult = lseek(m_fdPagemap, (off_t) pagemapOffset, SEEK_SET);
if (seekResult != pagemapOffset)
{
int seekErrno = errno;

View file

@ -1,24 +0,0 @@
From 8f8fa898b907192462834cced1bc39bca8ade9f7 Mon Sep 17 00:00:00 2001
From: Antoine Martin <dev@ayakael.net>
Date: Tue, 21 Feb 2023 19:14:55 -0500
Subject: [PATCH 1/1] sdk_dotnet-watch-nowarn-ad0001
---
src/sdk/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/sdk/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj b/src/sdk/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj
index 0e8811a7b..a359ae5e8 100644
--- a/src/sdk/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj
+++ b/src/sdk/src/BuiltInTools/dotnet-watch/dotnet-watch.csproj
@@ -9,6 +9,7 @@
<StrongNameKeyId>MicrosoftAspNetCore</StrongNameKeyId>
<UseAppHost>false</UseAppHost>
<RuntimeIdentifier />
+ <NoWarn>AD0001</NoWarn>
</PropertyGroup>
<ItemGroup>
--
2.38.2

View file

@ -1,53 +0,0 @@
From 16119e8a420ad8972693530de11697079f8bec51 Mon Sep 17 00:00:00 2001
From: Antoine Martin <dev@ayakael.net>
Date: Tue, 21 Feb 2023 15:59:54 -0500
Subject: [PATCH 15/15] sdk_dummy-shim-fix
Hack for building sdk within stage0, which expects to be built using the
whole stack.
---
src/sdk/build/GenerateResxSource.targets | 1 -
.../Microsoft.DotNet.PackageInstall.Tests.csproj | 1 -
.../SampleGlobalToolWithShim/includepublish.nuspec | 2 --
3 files changed, 4 deletions(-)
diff --git a/src/sdk/build/GenerateResxSource.targets b/src/sdk/build/GenerateResxSource.targets
index 239665655..b47510d90 100644
--- a/src/sdk/build/GenerateResxSource.targets
+++ b/src/sdk/build/GenerateResxSource.targets
@@ -1,7 +1,6 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="_CustomizeXlfSourceNames"
- DependsOnTargets="_CustomizeResourceNames"
BeforeTargets="PrepareResourceNames;GatherXlf"
>
<ItemGroup>
diff --git a/src/sdk/src/Tests/Microsoft.DotNet.PackageInstall.Tests/Microsoft.DotNet.PackageInstall.Tests.csproj b/src/sdk/src/Tests/Microsoft.DotNet.PackageInstall.Tests/Microsoft.DotNet.PackageInstall.Tests.csproj
index c75bf86d3..a295df546 100644
--- a/src/sdk/src/Tests/Microsoft.DotNet.PackageInstall.Tests/Microsoft.DotNet.PackageInstall.Tests.csproj
+++ b/src/sdk/src/Tests/Microsoft.DotNet.PackageInstall.Tests/Microsoft.DotNet.PackageInstall.Tests.csproj
@@ -104,7 +104,6 @@
</PropertyGroup>
<Copy SourceFiles="SampleGlobalToolWithShim/DotnetToolSettings.xml" DestinationFolder="$(testAssetSourceRoot)" />
<Copy SourceFiles="SampleGlobalToolWithShim/dummyshim" DestinationFolder="$(testAssetSourceRoot)" />
- <Copy SourceFiles="SampleGlobalToolWithShim/dummyshim.exe" DestinationFolder="$(testAssetSourceRoot)" />
<MSBuild BuildInParallel="False" Projects="SampleGlobalToolWithShim/consoledemo.csproj" Targets="Restore" Properties="Configuration=Release;BaseOutputPath=$(testAssetSourceRoot)/bin/;BaseIntermediateOutputPath=$(testAssetSourceRoot)/obj/;ImportDirectoryBuildProps=false;ImportDirectoryBuildTargets=false;ForceRestoreToEvaluateSeparately=1" RemoveProperties="TargetFramework">
</MSBuild>
<MSBuild BuildInParallel="False" Projects="SampleGlobalToolWithShim/consoledemo.csproj" Targets="Build;Publish" Properties="Configuration=Release;BaseOutputPath=$(testAssetSourceRoot)/bin/;BaseIntermediateOutputPath=$(testAssetSourceRoot)/obj/;ImportDirectoryBuildProps=false;ImportDirectoryBuildTargets=false" RemoveProperties="TargetFramework">
diff --git a/src/sdk/src/Tests/Microsoft.DotNet.PackageInstall.Tests/SampleGlobalToolWithShim/includepublish.nuspec b/src/sdk/src/Tests/Microsoft.DotNet.PackageInstall.Tests/SampleGlobalToolWithShim/includepublish.nuspec
index b2ed9d349..a93fb1f0d 100644
--- a/src/sdk/src/Tests/Microsoft.DotNet.PackageInstall.Tests/SampleGlobalToolWithShim/includepublish.nuspec
+++ b/src/sdk/src/Tests/Microsoft.DotNet.PackageInstall.Tests/SampleGlobalToolWithShim/includepublish.nuspec
@@ -12,8 +12,6 @@
<files>
<file src="bin\Release\netcoreapp2.1\publish\*.*" target="tools\netcoreapp2.1\any\" />
<file src="DotnetToolSettings.xml" target="tools\netcoreapp2.1\any\DotnetToolSettings.xml" />
- <file src="dummyshim.exe" target="tools\netcoreapp2.1\any\shims\win-x64\demo.exe" />
- <file src="dummyshim.exe" target="tools\netcoreapp2.1\any\shims\win-x86\demo.exe" />
<file src="dummyshim" target="tools\netcoreapp2.1\any\shims\osx-x64\demo" />
<file src="dummyshim" target="tools\netcoreapp2.1\any\shims\linux\demo" />
</files>
--
2.38.2

View file

@ -1,25 +0,0 @@
From 1c330142683d6d398e38762f7f04f0918426d79d Mon Sep 17 00:00:00 2001
From: Antoine Martin <dev@ayakael.net>
Date: Tue, 21 Feb 2023 15:58:42 -0500
Subject: [PATCH 14/15] sdk_fix-sdk-download
---
src/sdk/eng/restore-toolset.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/sdk/eng/restore-toolset.sh b/src/sdk/eng/restore-toolset.sh
index da38088d5..d5dd0956d 100644
--- a/src/sdk/eng/restore-toolset.sh
+++ b/src/sdk/eng/restore-toolset.sh
@@ -7,7 +7,7 @@ function InitializeCustomSDKToolset {
# The following frameworks and tools are used only for testing.
# Do not attempt to install them in source build.
- if [[ $properties == *"ArcadeBuildFromSource=true"* ]]; then
+ if [[ "${DotNetBuildFromSource:-}" == "true" ]]; then
return
fi
--
2.38.2