On Thu, Apr 1, 2021 at 12:18 AM Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> wrote:
On Wed, Mar 31, 2021 at 11:45:54PM +0200, Miro Hrončok wrote:
> On 31. 03. 21 21:52, Ben Cotton wrote:
> >* Strict checking for unpackaged content in builds
> > ...
> >* Many existing packages will fail to build due to the stricter
> >buildroot content checking. Fixing this in the packaging is always
> >backwards compatible. We could temporarily set
> >`%_unpackaged_files_terminate_build 0` in rawhide to alleviate initial
> >impact if necessary.
>
> This is my main concern with this update.
>
> tl;dr If you %exclude something and there is no other subpackage to
> own the files, the build fails:

Whaaat? What is the point of %exclude if not to exclude files from the
list? Why would rpm upstream want to break this? Seems like a completely
backwards change that will make packaging harder instead of easier.

%exclude can be used for splitting up packages, so you can do

%files foo
%exclude bar.so
*.so

%files bar
bar.so


If my understanding is right, the above is what rpm upstream considers correct use for %exclude.

For just not packaging some files, rm at the end of %install usually works just fine (but people have also been using %exclude for that and this change would break a bunch of packages that do this. I'm unsure if it's a good thing or not).

I believe the motivation for that change is brp scripts that would still see the files that are %excluded in files and possibly do wrong things. Using rm in install doesn't have that problem.

-- 
Kalev