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