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