Hi, GNU Make now has a --shuffle option that simulates non-deterministic ordering of target prerequisites. See https://trofi.github.io/posts/238-new-make-shuffle-mode.html and also previous work in Debian by Santiago Vila: https://people.debian.org/~sanvila/make-shuffle/
While make always processes prerequisites left-to-right when running sequentially, prerequisites can be evaluated in an arbitrary order when building in parallel (make -j). This option is thus useful to trigger and debug issues that occur when building in parallel. I identified 511 packages in unstable[0] (dd-list[1]) that fail to build with 'make --shuffle=reverse' or 'make --shuffle=random', but do not fail to build with 'make --shuffle=none'. [0] http://qa-logs.debian.net/2025/05/05/shuffle/sources.txt [1] http://qa-logs.debian.net/2025/05/05/shuffle/dd-list.txt Builds logs are available in http://qa-logs.debian.net/2025/05/05/shuffle/ I would like to submit bugs (severity:minor) against those packages. I'd rather do the bug submitting now to avoid refreshing build results later, but I agree that this is not release-critical material of course, so I can also wait until after the trixie release. One could argue that those issues are not bugs in Debian since they cannot be triggered in packages that do not build in parallel. However building in parallel is now the default, so I think that even for those packages that do not build in parallel yet, it is good to know that there is something broken that could bite with a difficult-to-reproduce-and-explain race condition if parallel building was enabled. I prepared a wiki page [2] and debugged a few failures listed on that page (#1104421 #1104428 #1104429 #1104430 #1104751). [2] https://wiki.debian.org/qa.debian.org/FTBFS/Shuffle Note to self or anyone interested: I did not check if packages built with or without --shuffle were identical. That could be fun as a future work. Proposed bug template: --------------------------------------->8 From: {{ fullname }} <{{ email }}> To: sub...@bugs.debian.org Subject: {{ package }}: FTBFS with make --shuffle: {{ summary }} Source: {{ package }} Version: {{ version }} Severity: minor Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-shuffle Hi, GNU Make now has a --shuffle option that simulates non-deterministic ordering of target prerequisites. See https://trofi.github.io/posts/238-new-make-shuffle-mode.html and also previous work in Debian by Santiago Vila: https://people.debian.org/~sanvila/make-shuffle/ This package fails to build with make --shuffle=reverse or make --shuffle=random. This is likely to be caused by a missing dependency in debian/rules or an upstream Makefile. More information about this mass bug filing is available at https://wiki.debian.org/qa.debian.org/FTBFS/Shuffle [...] --------------------------------------->8 - Lucas