Skip to content

Commit f0ddc70

Browse files
committed
Merge branch 'main' of https://github.com/dotnet/aspnetcore into safia/validations-sg
2 parents ab949d5 + 04a85e4 commit f0ddc70

File tree

45 files changed

+1410
-446
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1410
-446
lines changed

.github/policies/resourceManagement.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,7 @@ configuration:
539539
then:
540540
- removeMilestone
541541
- addMilestone:
542-
milestone: 9.0.1
542+
milestone: 9.0.2
543543
description: '[Milestone Assignments] Assign Milestone to PRs merged to release/9.0 branch'
544544
- if:
545545
- payloadType: Pull_Request
@@ -550,7 +550,7 @@ configuration:
550550
then:
551551
- removeMilestone
552552
- addMilestone:
553-
milestone: 8.0.12
553+
milestone: 8.0.13
554554
description: '[Milestone Assignments] Assign Milestone to PRs merged to release/8.0 branch'
555555
- if:
556556
- payloadType: Issues

.github/workflows/update-sdk.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
runs-on: ubuntu-latest
2121
steps:
2222
- uses: actions/checkout@v4
23-
- uses: martincostello/update-dotnet-sdk@67d6e2b14939c06978a7f80444157296c3defe14 # v3.2.3
23+
- uses: martincostello/update-dotnet-sdk@76e2c0df2303d4f6a404228105ebb7d60ace0556 # v3.4.0
2424
with:
2525
quality: 'daily'
2626
repo-token: ${{ secrets.GITHUB_TOKEN }}

docs/Servicing.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ We maintain several on-going releases at once and produce patches for them. An e
44

55
See the [.NET Core release lifecycle](https://dotnet.microsoft.com/platform/support/policy/dotnet-core#lifecycle) for more details on the currently-supported .NET releases.
66

7-
The status of current servicing fixes can be found on the [Servicing Status](https://github.com/dotnet/aspnetcore/projects/11) GitHub project.
7+
The status of current servicing fixes can be found on the [Servicing Status](https://github.com/orgs/dotnet/projects/448) GitHub project.
88

99
## Servicing Bar
1010

eng/Version.Details.xml

+196-196
Large diffs are not rendered by default.

eng/Versions.props

+95-95
Large diffs are not rendered by default.

eng/common/core-templates/post-build/post-build.yml

+6
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ parameters:
4444
displayName: Publish installers and checksums
4545
type: boolean
4646
default: true
47+
48+
- name: requireDefaultChannels
49+
displayName: Fail the build if there are no default channel(s) registrations for the current build
50+
type: boolean
51+
default: false
4752

4853
- name: SDLValidationParameters
4954
type: object
@@ -312,5 +317,6 @@ stages:
312317
-PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
313318
-AzdoToken '$(System.AccessToken)'
314319
-WaitPublishingFinish true
320+
-RequireDefaultChannels ${{ parameters.requireDefaultChannels }}
315321
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
316322
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'

eng/common/cross/build-rootfs.sh

+96-16
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -e
55
usage()
66
{
77
echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir <directory>]"
8-
echo "BuildArch can be: arm(default), arm64, armel, armv6, ppc64le, riscv64, s390x, x64, x86"
8+
echo "BuildArch can be: arm(default), arm64, armel, armv6, loongarch64, ppc64le, riscv64, s390x, x64, x86"
99
echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine"
1010
echo " for alpine can be specified with version: alpineX.YY or alpineedge"
1111
echo " for FreeBSD can be: freebsd13, freebsd14"
@@ -15,6 +15,7 @@ usage()
1515
echo "llvmx[.y] - optional, LLVM version for LLVM related packages."
1616
echo "--skipunmount - optional, will skip the unmount of rootfs folder."
1717
echo "--skipsigcheck - optional, will skip package signature checks (allowing untrusted packages)."
18+
echo "--skipemulation - optional, will skip qemu and debootstrap requirement when building environment for debian based systems."
1819
echo "--use-mirror - optional, use mirror URL to fetch resources, when available."
1920
echo "--jobs N - optional, restrict to N jobs."
2021
exit 1
@@ -32,6 +33,7 @@ __QEMUArch=arm
3233
__UbuntuArch=armhf
3334
__UbuntuRepo=
3435
__UbuntuSuites="updates security backports"
36+
__DebianSuites=
3537
__LLDB_Package="liblldb-3.9-dev"
3638
__SkipUnmount=0
3739

@@ -127,10 +129,12 @@ __AlpineKeys='
127129
616adfeb:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq0BFD1D4lIxQcsqEpQzU\npNCYM3aP1V/fxxVdT4DWvSI53JHTwHQamKdMWtEXetWVbP5zSROniYKFXd/xrD9X\n0jiGHey3lEtylXRIPxe5s+wXoCmNLcJVnvTcDtwx/ne2NLHxp76lyc25At+6RgE6\nADjLVuoD7M4IFDkAsd8UQ8zM0Dww9SylIk/wgV3ZkifecvgUQRagrNUdUjR56EBZ\nraQrev4hhzOgwelT0kXCu3snbUuNY/lU53CoTzfBJ5UfEJ5pMw1ij6X0r5S9IVsy\nKLWH1hiO0NzU2c8ViUYCly4Fe9xMTFc6u2dy/dxf6FwERfGzETQxqZvSfrRX+GLj\n/QZAXiPg5178hT/m0Y3z5IGenIC/80Z9NCi+byF1WuJlzKjDcF/TU72zk0+PNM/H\nKuppf3JT4DyjiVzNC5YoWJT2QRMS9KLP5iKCSThwVceEEg5HfhQBRT9M6KIcFLSs\nmFjx9kNEEmc1E8hl5IR3+3Ry8G5/bTIIruz14jgeY9u5jhL8Vyyvo41jgt9sLHR1\n/J1TxKfkgksYev7PoX6/ZzJ1ksWKZY5NFoDXTNYUgzFUTOoEaOg3BAQKadb3Qbbq\nXIrxmPBdgrn9QI7NCgfnAY3Tb4EEjs3ON/BNyEhUENcXOH6I1NbcuBQ7g9P73kE4\nVORdoc8MdJ5eoKBpO8Ww8HECAwEAAQ==
128130
616ae350:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyduVzi1mWm+lYo2Tqt/0\nXkCIWrDNP1QBMVPrE0/ZlU2bCGSoo2Z9FHQKz/mTyMRlhNqTfhJ5qU3U9XlyGOPJ\npiM+b91g26pnpXJ2Q2kOypSgOMOPA4cQ42PkHBEqhuzssfj9t7x47ppS94bboh46\nxLSDRff/NAbtwTpvhStV3URYkxFG++cKGGa5MPXBrxIp+iZf9GnuxVdST5PGiVGP\nODL/b69sPJQNbJHVquqUTOh5Ry8uuD2WZuXfKf7/C0jC/ie9m2+0CttNu9tMciGM\nEyKG1/Xhk5iIWO43m4SrrT2WkFlcZ1z2JSf9Pjm4C2+HovYpihwwdM/OdP8Xmsnr\nDzVB4YvQiW+IHBjStHVuyiZWc+JsgEPJzisNY0Wyc/kNyNtqVKpX6dRhMLanLmy+\nf53cCSI05KPQAcGj6tdL+D60uKDkt+FsDa0BTAobZ31OsFVid0vCXtsbplNhW1IF\nHwsGXBTVcfXg44RLyL8Lk/2dQxDHNHzAUslJXzPxaHBLmt++2COa2EI1iWlvtznk\nOk9WP8SOAIj+xdqoiHcC4j72BOVVgiITIJNHrbppZCq6qPR+fgXmXa+sDcGh30m6\n9Wpbr28kLMSHiENCWTdsFij+NQTd5S47H7XTROHnalYDuF1RpS+DpQidT5tUimaT\nJZDr++FjKrnnijbyNF8b98UCAwEAAQ==
129131
616db30d:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnpUpyWDWjlUk3smlWeA0\nlIMW+oJ38t92CRLHH3IqRhyECBRW0d0aRGtq7TY8PmxjjvBZrxTNDpJT6KUk4LRm\na6A6IuAI7QnNK8SJqM0DLzlpygd7GJf8ZL9SoHSH+gFsYF67Cpooz/YDqWrlN7Vw\ntO00s0B+eXy+PCXYU7VSfuWFGK8TGEv6HfGMALLjhqMManyvfp8hz3ubN1rK3c8C\nUS/ilRh1qckdbtPvoDPhSbTDmfU1g/EfRSIEXBrIMLg9ka/XB9PvWRrekrppnQzP\nhP9YE3x/wbFc5QqQWiRCYyQl/rgIMOXvIxhkfe8H5n1Et4VAorkpEAXdsfN8KSVv\nLSMazVlLp9GYq5SUpqYX3KnxdWBgN7BJoZ4sltsTpHQ/34SXWfu3UmyUveWj7wp0\nx9hwsPirVI00EEea9AbP7NM2rAyu6ukcm4m6ATd2DZJIViq2es6m60AE6SMCmrQF\nwmk4H/kdQgeAELVfGOm2VyJ3z69fQuywz7xu27S6zTKi05Qlnohxol4wVb6OB7qG\nLPRtK9ObgzRo/OPumyXqlzAi/Yvyd1ZQk8labZps3e16bQp8+pVPiumWioMFJDWV\nGZjCmyMSU8V6MB6njbgLHoyg2LCukCAeSjbPGGGYhnKLm1AKSoJh3IpZuqcKCk5C\n8CM1S15HxV78s9dFntEqIokCAwEAAQ==
132+
66ba20fe:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtfB12w4ZgqsXWZDfUAV/\n6Y4aHUKIu3q4SXrNZ7CXF9nXoAVYrS7NAxJdAodsY3vPCN0g5O8DFXR+390LdOuQ\n+HsGKCc1k5tX5ZXld37EZNTNSbR0k+NKhd9h6X3u6wqPOx7SIKxwAQR8qeeFq4pP\nrt9GAGlxtuYgzIIcKJPwE0dZlcBCg+GnptCUZXp/38BP1eYC+xTXSL6Muq1etYfg\nodXdb7Yl+2h1IHuOwo5rjgY5kpY7GcAs8AjGk3lDD/av60OTYccknH0NCVSmPoXK\nvrxDBOn0LQRNBLcAfnTKgHrzy0Q5h4TNkkyTgxkoQw5ObDk9nnabTxql732yy9BY\ns+hM9+dSFO1HKeVXreYSA2n1ndF18YAvAumzgyqzB7I4pMHXq1kC/8bONMJxwSkS\nYm6CoXKyavp7RqGMyeVpRC7tV+blkrrUml0BwNkxE+XnwDRB3xDV6hqgWe0XrifD\nYTfvd9ScZQP83ip0r4IKlq4GMv/R5shcCRJSkSZ6QSGshH40JYSoiwJf5FHbj9ND\n7do0UAqebWo4yNx63j/wb2ULorW3AClv0BCFSdPsIrCStiGdpgJDBR2P2NZOCob3\nG9uMj+wJD6JJg2nWqNJxkANXX37Qf8plgzssrhrgOvB0fjjS7GYhfkfmZTJ0wPOw\nA8+KzFseBh4UFGgue78KwgkCAwEAAQ==
130133
'
131134
__Keyring=
132135
__KeyringFile="/usr/share/keyrings/ubuntu-archive-keyring.gpg"
133136
__SkipSigCheck=0
137+
__SkipEmulation=0
134138
__UseMirror=0
135139

136140
__UnprocessedBuildArgs=
@@ -179,6 +183,19 @@ while :; do
179183
__Keyring="--keyring $__KeyringFile"
180184
fi
181185
;;
186+
loongarch64)
187+
__BuildArch=loongarch64
188+
__AlpineArch=loongarch64
189+
__QEMUArch=loongarch64
190+
__UbuntuArch=loong64
191+
__UbuntuSuites=
192+
__DebianSuites=unreleased
193+
__LLDB_Package="liblldb-19-dev"
194+
195+
if [[ "$__CodeName" == "sid" ]]; then
196+
__UbuntuRepo="http://ftp.ports.debian.org/debian-ports/"
197+
fi
198+
;;
182199
riscv64)
183200
__BuildArch=riscv64
184201
__AlpineArch=riscv64
@@ -339,10 +356,28 @@ while :; do
339356
;;
340357
sid) # Debian sid
341358
__CodeName=sid
342-
__KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg"
359+
__UbuntuSuites=
343360

344-
if [[ -z "$__UbuntuRepo" ]]; then
345-
__UbuntuRepo="http://ftp.debian.org/debian/"
361+
# Debian-Ports architectures need different values
362+
case "$__UbuntuArch" in
363+
amd64|arm64|armel|armhf|i386|mips64el|ppc64el|riscv64|s390x)
364+
__KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg"
365+
366+
if [[ -z "$__UbuntuRepo" ]]; then
367+
__UbuntuRepo="http://ftp.debian.org/debian/"
368+
fi
369+
;;
370+
*)
371+
__KeyringFile="/usr/share/keyrings/debian-ports-archive-keyring.gpg"
372+
373+
if [[ -z "$__UbuntuRepo" ]]; then
374+
__UbuntuRepo="http://ftp.ports.debian.org/debian-ports/"
375+
fi
376+
;;
377+
esac
378+
379+
if [[ -e "$__KeyringFile" ]]; then
380+
__Keyring="--keyring $__KeyringFile"
346381
fi
347382
;;
348383
tizen)
@@ -387,6 +422,9 @@ while :; do
387422
--skipsigcheck)
388423
__SkipSigCheck=1
389424
;;
425+
--skipemulation)
426+
__SkipEmulation=1
427+
;;
390428
--rootfsdir|-rootfsdir)
391429
shift
392430
__RootfsDir="$1"
@@ -419,9 +457,9 @@ case "$__AlpineVersion" in
419457
elif [[ "$__AlpineArch" == "x86" ]]; then
420458
__AlpineVersion=3.17 # minimum version that supports lldb-dev
421459
__AlpinePackages+=" llvm15-libs"
422-
elif [[ "$__AlpineArch" == "riscv64" ]]; then
423-
__AlpineLlvmLibsLookup=1
424-
__AlpineVersion=edge # minimum version with APKINDEX.tar.gz (packages archive)
460+
elif [[ "$__AlpineArch" == "riscv64" || "$__AlpineArch" == "loongarch64" ]]; then
461+
__AlpineVersion=3.21 # minimum version that supports lldb-dev
462+
__AlpinePackages+=" llvm19-libs"
425463
elif [[ -n "$__AlpineMajorVersion" ]]; then
426464
# use whichever alpine version is provided and select the latest toolchain libs
427465
__AlpineLlvmLibsLookup=1
@@ -505,11 +543,6 @@ if [[ "$__CodeName" == "alpine" ]]; then
505543
echo "$__ApkToolsSHA512SUM $__ApkToolsDir/apk.static" | sha512sum -c
506544
chmod +x "$__ApkToolsDir/apk.static"
507545

508-
if [[ -f "/usr/bin/qemu-$__QEMUArch-static" ]]; then
509-
mkdir -p "$__RootfsDir"/usr/bin
510-
cp -v "/usr/bin/qemu-$__QEMUArch-static" "$__RootfsDir/usr/bin"
511-
fi
512-
513546
if [[ "$__AlpineVersion" == "edge" ]]; then
514547
version=edge
515548
else
@@ -529,6 +562,10 @@ if [[ "$__CodeName" == "alpine" ]]; then
529562
__ApkSignatureArg="--keys-dir $__ApkKeysDir"
530563
fi
531564

565+
if [[ "$__SkipEmulation" == "1" ]]; then
566+
__NoEmulationArg="--no-scripts"
567+
fi
568+
532569
# initialize DB
533570
# shellcheck disable=SC2086
534571
"$__ApkToolsDir/apk.static" \
@@ -550,7 +587,7 @@ if [[ "$__CodeName" == "alpine" ]]; then
550587
"$__ApkToolsDir/apk.static" \
551588
-X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \
552589
-X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \
553-
-U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" \
590+
-U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" $__NoEmulationArg \
554591
add $__AlpinePackages
555592

556593
rm -r "$__ApkToolsDir"
@@ -745,25 +782,68 @@ elif [[ "$__CodeName" == "haiku" ]]; then
745782
popd
746783
rm -rf "$__RootfsDir/tmp"
747784
elif [[ -n "$__CodeName" ]]; then
785+
if [[ "$__SkipEmulation" == "1" ]]; then
786+
if [[ -z "$AR" ]]; then
787+
if command -v ar &>/dev/null; then
788+
AR="$(command -v ar)"
789+
elif command -v llvm-ar &>/dev/null; then
790+
AR="$(command -v llvm-ar)"
791+
else
792+
echo "Unable to find ar or llvm-ar on PATH, add them to PATH or set AR environment variable pointing to the available AR tool"
793+
exit 1
794+
fi
795+
fi
796+
797+
# shellcheck disable=SC2086
798+
suites="$__CodeName $__DebianSuites $(echo $__UbuntuSuites | xargs -n 1 | xargs -I {} echo -n "$__CodeName-{} ")"
799+
800+
PYTHON=${PYTHON_EXECUTABLE:-python3}
801+
802+
# shellcheck disable=SC2086,SC2046
803+
echo running "$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \
804+
$(echo $suites | xargs -n 1 | xargs -I {} echo -n "--suite {} ") \
805+
$__UbuntuPackages
806+
807+
# shellcheck disable=SC2086,SC2046
808+
"$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \
809+
$(echo $suites | xargs -n 1 | xargs -I {} echo -n "--suite {} ") \
810+
$__UbuntuPackages
811+
812+
exit 0
813+
fi
748814

815+
__UpdateOptions=
749816
if [[ "$__SkipSigCheck" == "0" ]]; then
750817
__Keyring="$__Keyring --force-check-gpg"
818+
else
819+
__Keyring=
820+
__UpdateOptions="--allow-unauthenticated --allow-insecure-repositories"
751821
fi
752822

753823
# shellcheck disable=SC2086
754824
echo running debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"
755-
debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"
756825

826+
# shellcheck disable=SC2086
827+
if ! debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"; then
828+
echo "debootstrap failed! dumping debootstrap.log"
829+
cat "$__RootfsDir/debootstrap/debootstrap.log"
830+
exit 1
831+
fi
832+
833+
rm -rf "$__RootfsDir"/etc/apt/*.{sources,list} "$__RootfsDir"/etc/apt/sources.list.d
757834
mkdir -p "$__RootfsDir/etc/apt/sources.list.d/"
835+
836+
# shellcheck disable=SC2086
758837
cat > "$__RootfsDir/etc/apt/sources.list.d/$__CodeName.sources" <<EOF
759838
Types: deb
760839
URIs: $__UbuntuRepo
761-
Suites: $__CodeName $(echo $__UbuntuSuites | xargs -n 1 | xargs -I {} echo -n "$__CodeName-{} ")
840+
Suites: $__CodeName $__DebianSuites $(echo $__UbuntuSuites | xargs -n 1 | xargs -I {} echo -n "$__CodeName-{} ")
762841
Components: main universe
763842
Signed-By: $__KeyringFile
764843
EOF
765844

766-
chroot "$__RootfsDir" apt-get update
845+
# shellcheck disable=SC2086
846+
chroot "$__RootfsDir" apt-get update $__UpdateOptions
767847
chroot "$__RootfsDir" apt-get -f -y install
768848
# shellcheck disable=SC2086
769849
chroot "$__RootfsDir" apt-get -y install $__UbuntuPackages

0 commit comments

Comments
 (0)