File tree Expand file tree Collapse file tree 1 file changed +17
-2
lines changed
Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -2113,17 +2113,32 @@ function Get-PackageDependencies
21132113
21142114 # These should match those in the Dockerfiles, but exclude tools like Git, which, and curl
21152115 $Dependencies = @ ()
2116+
2117+ # ICU version range follows .NET runtime policy.
2118+ # See: https://github.com/dotnet/runtime/blob/3fe8518d51bbcaa179bbe275b2597fbe1b88bc5a/src/native/libs/System.Globalization.Native/pal_icushim.c#L235-L243
2119+ #
2120+ # Version range rationale:
2121+ # - The runtime supports ICU versions >= the version it was built against
2122+ # and <= that version + 30, to allow sufficient headroom for future releases.
2123+ # - ICU typically releases about twice per year, so +30 provides roughly
2124+ # 15 years of forward compatibility.
2125+ # - On some platforms, the minimum supported version may be lower
2126+ # than the build version and we know that older versions just works.
2127+ #
2128+ $MinICUVersion = 60 # runtime minimum supported
2129+ $BuildICUVersion = 76 # current build version
2130+ $MaxICUVersion = $BuildICUVersion + 30 # headroom
2131+
21162132 if ($Distribution -eq ' deb' ) {
21172133 $Dependencies = @ (
21182134 " libc6" ,
21192135 " libgcc1" ,
21202136 " libgssapi-krb5-2" ,
21212137 " libstdc++6" ,
21222138 " zlib1g" ,
2123- " libicu76|libicu74|libicu72|libicu71|libicu70|libicu69|libicu68|libicu67|libicu66|libicu65|libicu63|libicu60|libicu57|libicu55|libicu52 " ,
2139+ (( $MaxICUVersion .. $MinICUVersion ). ForEach { " libicu $_ " } -join ' | ' ) ,
21242140 " libssl3|libssl1.1|libssl1.0.2|libssl1.0.0"
21252141 )
2126-
21272142 } elseif ($Distribution -eq ' rh' ) {
21282143 $Dependencies = @ (
21292144 " openssl-libs" ,
You can’t perform that action at this time.
0 commit comments