Skip to content

Commit 48f4a71

Browse files
3apRafaelGSS
authored andcommitted
build: fix indeterminacy of icu_locales value
`icu_locales` is generated by joining values from `set` data structure. However, `set` doesn't guarantee an order, so the result of `icu_locales` is not determined. For example, the result value could be 'en,root' or 'root,en'. This fix makes it deterministic. The main reason of this fix is to restore the reproducibility of the build because the value of `icu_locales` is embedded into `node` binary. PR-URL: #42865 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
1 parent 0ec32d0 commit 48f4a71

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

configure.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1664,7 +1664,7 @@ def icu_download(path):
16641664
o['variables']['icu_small'] = b(True)
16651665
locs = set(options.with_icu_locales.split(','))
16661666
locs.add('root') # must have root
1667-
o['variables']['icu_locales'] = ','.join(str(loc) for loc in locs)
1667+
o['variables']['icu_locales'] = ','.join(str(loc) for loc in sorted(locs))
16681668
# We will check a bit later if we can use the canned deps/icu-small
16691669
o['variables']['icu_default_data'] = options.with_icu_default_data_dir or ''
16701670
elif with_intl == 'full-icu':

0 commit comments

Comments
 (0)