Resolve potential reproducible build issues
GNU ease.js is a pretty trivial case with respect to reproducibility---not much goes on during the build aside from concatenation and minification. Non-determinism is essentially confined to filesystem operations, which can be rectified by sorting using a static locale's collation sequence (which is done here). This does not resolve any concerns with autoconf-installed scripts (those in tools/), or the distribution tarball file metadata.master
parent
81bb349238
commit
3db234f9d4
|
@ -39,6 +39,7 @@ cat_modules=$(
|
||||||
s/[^/\]\+\/\.\.//g;
|
s/[^/\]\+\/\.\.//g;
|
||||||
s/\( \|\/\)\.\//\1/g;
|
s/\( \|\/\)\.\//\1/g;
|
||||||
" \
|
" \
|
||||||
|
| LC_ALL=C sort \
|
||||||
| node tools/combine-order.js \
|
| node tools/combine-order.js \
|
||||||
) || {
|
) || {
|
||||||
echo "Failed to get module list" >&2
|
echo "Failed to get module list" >&2
|
||||||
|
@ -56,7 +57,7 @@ all_modules=$(
|
||||||
remain_modules=$(
|
remain_modules=$(
|
||||||
echo "$cat_modules
|
echo "$cat_modules
|
||||||
$all_modules" \
|
$all_modules" \
|
||||||
| sort \
|
| LC_ALL=C sort \
|
||||||
| uniq -u
|
| uniq -u
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -140,7 +141,7 @@ if [ "$INC_TEST" ]; then
|
||||||
# note that not all tests are included
|
# note that not all tests are included
|
||||||
TEST_CASES=$( cd "$PATH_TEST"; find . -name '*Test*.js' \
|
TEST_CASES=$( cd "$PATH_TEST"; find . -name '*Test*.js' \
|
||||||
| sed 's/^.\///' \
|
| sed 's/^.\///' \
|
||||||
| sort \
|
| LC_ALL=C sort \
|
||||||
| grep -v '\(Combine\(PreEs5\)\?\|Index\)Test.js' \
|
| grep -v '\(Combine\(PreEs5\)\?\|Index\)Test.js' \
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -189,6 +190,3 @@ fi
|
||||||
|
|
||||||
# output combined file footer
|
# output combined file footer
|
||||||
tpl_footer
|
tpl_footer
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue