I've been thinking about this more and, as it turns out, this is more of a 
social problem than a technical one.

The `debug*.list` files in particular are a result of RPM itself violating the 
new build isolation, by calling `%{__find_debuginfo}` with the 
`%{builddir}/%{buildsubdir}` argument (which causes it put files in that 
directory). We could fix that easily by passing `%{builddir}` instead, which 
really is the only correct location since these *are* build artifacts, however 
that would likely cause some packages to break in case they assume the current 
`debug*.list` paths. A rudimentary grepping through all Fedora spec files 
reveals a number of candidates like that.

So, a safer, backwards compatible approach could be this:
1. Enforce `%clean` stage execution when in-place mode is active 
(`%{_build_in_place}` is `1`) and
2. Ship a default `%clean` action for the known files/globs (such as the 
`debug*.list`)

This would ensure a pristine source tree for the stock RPM installation, and is 
basically what #3658 is about. Of course, people or distros may still write 
stuff to `%{buildsubdir}` directory for some reason, but that's not something 
we can control. In the documentation, this is explicitly mentioned (like you 
said in the first comment in this thread) so that's where we can draw the line.

Any thoughts?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/discussions/3644#discussioncomment-14711189
You are receiving this because you are subscribed to this thread.

Message ID: 
<rpm-software-management/rpm/repo-discussions/3644/comments/[email protected]>
_______________________________________________
Rpm-maint mailing list
[email protected]
https://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to