Need Help with duperemove in Debian
David A. Wheeler
dwheeler at dwheeler.com
Mon Sep 8 16:27:13 UTC 2025
> On Sep 4, 2025, at 5:24 PM, Chris Lamb <chris at reproducible-builds.org> wrote:
> ...
> The third confusing thing about sorting files in Make is that
> attempting to naively pipe the wildcard function to sort isn't
> actually valid Make code, and then, rather unhelpfully, you don't get
> any message that you've made a mistake. Your first attempt to fix
> the package:
>
> $(wildcard *.c | sort)
>
> … looks like it should do something useful, but it will still vary
> depending on the current collation. But this is because it's essentially
> bogus code:
>
> $(wildcard *.c | you can actually put anything here and receive no error surprise hahahaha)
>
> This is why, if you tried it, Roland's suggestion to use LC_ALL=C
> (quoted at the top of this email) would not have worked for you. That
> is to say, the following snippet wouldn't have worked for the same
> reason as my "you can actually put anything here" example immediately
> above:
>
> $(wildcard *.c | LC_ALL=C sort) # not really 'valid' Make and doesn't sort using C
Wow, that's a fun collision of GNU Make & shell syntax :-).
I propose documenting this footgun. My merge request is here:
https://salsa.debian.org/reproducible-builds/reproducible-website/-/merge_requests/192
--- David A. Wheeler
More information about the rb-general
mailing list