Source: xmake
Version: 2.9.9+ds-1
User: [email protected]
Usertag: filesystem

Hi,

xmake's ./configure uses `find` to produce lists of build targets. The files found are returned by `find` in filesystem order, which is not deterministic.

This order then gets propagated to the `ar -c` call for libxmake.a, making libxmake.a not reproducible.

Please find a patch attached which should fix this issue.

Thanks for considering.

Chris

--- xmake-2.9.9+ds.orig/configure
+++ xmake-2.9.9+ds/configure
@@ -243,9 +243,9 @@ _os_find() {
     local name="${2}"
     local depth="${3}"
     if test_nz "${depth}"; then
-        _ret=$(find "${dir}" -maxdepth "${depth}" -mindepth "${depth}" -type f 
-name "${name}")
+        _ret=$(find "${dir}" -maxdepth "${depth}" -mindepth "${depth}" -type f 
-name "${name}" | sort)
     else
-        _ret=$(find "${dir}" -type f -name "${name}")
+        _ret=$(find "${dir}" -type f -name "${name}" | sort)
     fi
 }
 

Reply via email to