Skip to content

Commit aea551f

Browse files
Update dependencies from https://github.com/dotnet/arcade build 20250106.1 (#433)
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk From Version 10.0.0-beta.25053.3 -> To Version 10.0.0-beta.25056.1 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
1 parent 049cbd1 commit aea551f

File tree

6 files changed

+51
-42
lines changed

6 files changed

+51
-42
lines changed

eng/Version.Details.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@
1111
<Sha>e9b99f554a3c298e1106ea171f5a0462780af2c5</Sha>
1212
<SourceBuild RepoName="msbuild" ManagedOnly="true" />
1313
</Dependency>
14-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25053.3">
14+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25056.1">
1515
<Uri>https://github.com/dotnet/arcade</Uri>
16-
<Sha>05d4d46d438eec2d012a0dae7a9118e5fab947af</Sha>
16+
<Sha>e58820063a8754d418518bce69ca2df0e3b4ac25</Sha>
1717
</Dependency>
1818
<!-- Intermediate is necessary for source build. -->
19-
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="10.0.0-beta.25053.3">
19+
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="10.0.0-beta.25056.1">
2020
<Uri>https://github.com/dotnet/arcade</Uri>
21-
<Sha>05d4d46d438eec2d012a0dae7a9118e5fab947af</Sha>
21+
<Sha>e58820063a8754d418518bce69ca2df0e3b4ac25</Sha>
2222
<SourceBuild RepoName="arcade" ManagedOnly="true" />
2323
</Dependency>
2424
<!-- Intermediate is necessary for source build. -->

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

Lines changed: 6 additions & 0 deletions
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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -800,7 +800,7 @@ elif [[ -n "$__CodeName" ]]; then
800800
PYTHON=${PYTHON_EXECUTABLE:-python3}
801801

802802
# shellcheck disable=SC2086,SC2046
803-
echo running "$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --rootfsdir "$__RootfsDir" --artool "$AR" \
803+
echo running "$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \
804804
$(echo $suites | xargs -n 1 | xargs -I {} echo -n "--suite {} ") \
805805
$__UbuntuPackages
806806

eng/common/cross/install-debs.py

Lines changed: 33 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -162,23 +162,35 @@ def parse_package_index(content):
162162
packages = {}
163163
aliases = {}
164164
entries = re.split(r'\n\n+', content)
165+
165166
for entry in entries:
166167
fields = dict(re.findall(r'^(\S+): (.+)$', entry, re.MULTILINE))
167168
if "Package" in fields:
168169
package_name = fields["Package"]
169-
packages[package_name] = {
170-
"Version": fields.get("Version"),
171-
"Filename": fields.get("Filename"),
172-
"Depends": fields.get("Depends")
173-
}
174-
if "Provides" in fields:
175-
provides_list = [x.strip() for x in fields["Provides"].split(",")]
176-
for alias in provides_list:
177-
# strip version specifiers
178-
alias_name = re.sub(r'\s*\(=.*\)', '', alias)
179-
if alias_name not in aliases:
180-
aliases[alias_name] = []
181-
aliases[alias_name].append(package_name)
170+
version = fields.get("Version")
171+
filename = fields.get("Filename")
172+
depends = fields.get("Depends")
173+
provides = fields.get("Provides", None)
174+
175+
# Only update if package_name is not in packages or if the new version is higher
176+
if package_name not in packages or compare_debian_versions(version, packages[package_name]["Version"]) > 0:
177+
packages[package_name] = {
178+
"Version": version,
179+
"Filename": filename,
180+
"Depends": depends
181+
}
182+
183+
# Update aliases if package provides any alternatives
184+
if provides:
185+
provides_list = [x.strip() for x in provides.split(",")]
186+
for alias in provides_list:
187+
# Strip version specifiers
188+
alias_name = re.sub(r'\s*\(=.*\)', '', alias)
189+
if alias_name not in aliases:
190+
aliases[alias_name] = []
191+
if package_name not in aliases[alias_name]:
192+
aliases[alias_name].append(package_name)
193+
182194
return packages, aliases
183195

184196
def install_packages(mirror, packages_info, aliases, tmp_dir, extract_dir, ar_tool, desired_packages):
@@ -189,27 +201,13 @@ def install_packages(mirror, packages_info, aliases, tmp_dir, extract_dir, ar_to
189201
packages_to_download = {}
190202

191203
for pkg in resolved_packages:
192-
available_versions = [pkg]
204+
if pkg in packages_info:
205+
packages_to_download[pkg] = packages_info[pkg]
193206

194207
if pkg in aliases:
195-
available_versions.extend(aliases[pkg])
196-
197-
# Choose the package with the latest version
198-
if available_versions:
199-
best_package = max(
200-
(p for p in available_versions if p in packages_info),
201-
key=lambda p: (
202-
1 if p == pkg else 0,
203-
cmp_to_key(lambda p1, p2: compare_debian_versions(
204-
packages_info[p1]["Version"],
205-
packages_info[p2]["Version"]
206-
))(p)
207-
),
208-
default=None
209-
)
210-
211-
if best_package:
212-
packages_to_download[best_package] = packages_info[best_package]
208+
for alias in aliases[pkg]:
209+
if alias in packages_info:
210+
packages_to_download[alias] = packages_info[alias]
213211

214212
asyncio.run(download_deb_files_parallel(mirror, packages_to_download, tmp_dir))
215213

@@ -225,11 +223,11 @@ def install_packages(mirror, packages_info, aliases, tmp_dir, extract_dir, ar_to
225223
for pkg in reversed(resolved_packages):
226224
deb_file = package_to_deb_file_map.get(pkg)
227225
if deb_file and os.path.exists(deb_file):
228-
extract_deb_file_using_dpkg(deb_file, tmp_dir, extract_dir, ar_tool)
226+
extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool)
229227

230228
print("All done!")
231229

232-
def extract_deb_file_using_dpkg(deb_file, tmp_dir, extract_dir, ar_tool):
230+
def extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool):
233231
"""Extract .deb file contents"""
234232

235233
os.makedirs(extract_dir, exist_ok=True)
@@ -270,7 +268,7 @@ def extract_deb_file_using_dpkg(deb_file, tmp_dir, extract_dir, ar_tool):
270268
raise ValueError(f"Unsupported compression format: {file_extension}")
271269

272270
with tarfile.open(tar_file_path, mode) as tar:
273-
tar.extractall(path=extract_dir, filter=None)
271+
tar.extractall(path=extract_dir, filter='fully_trusted')
274272

275273
def finalize_setup(rootfsdir):
276274
lib_dir = os.path.join(rootfsdir, 'lib')

eng/common/post-build/publish-using-darc.ps1

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ param(
55
[Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro.dot.net',
66
[Parameter(Mandatory=$true)][string] $WaitPublishingFinish,
77
[Parameter(Mandatory=$false)][string] $ArtifactsPublishingAdditionalParameters,
8-
[Parameter(Mandatory=$false)][string] $SymbolPublishingAdditionalParameters
8+
[Parameter(Mandatory=$false)][string] $SymbolPublishingAdditionalParameters,
9+
[Parameter(Mandatory=$false)][string] $RequireDefaultChannels
910
)
1011

1112
try {
@@ -33,6 +34,10 @@ try {
3334
if ("false" -eq $WaitPublishingFinish) {
3435
$optionalParams.Add("--no-wait") | Out-Null
3536
}
37+
38+
if ("true" -eq $RequireDefaultChannels) {
39+
$optionalParams.Add("--default-channels-required") | Out-Null
40+
}
3641

3742
& $darc add-build-to-channel `
3843
--id $buildId `

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
"dotnet": "10.0.100-alpha.1.24573.1"
44
},
55
"msbuild-sdks": {
6-
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25053.3"
6+
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25056.1"
77
}
88
}

0 commit comments

Comments
 (0)