On Thu, Apr 01, 2021 at 12:33:48AM +0200, Kalev Lember wrote: > On Thu, Apr 1, 2021 at 12:18 AM Zbigniew Jędrzejewski-Szmek < > zbyszek@xxxxxxxxx> 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. Thank you for the explanation. > 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. That sounds like a plausible concern. But is this something that actually caused real problems, or just a theoretical issue? > 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). If the system was designed like this initially, that'd be fine. But this pattern is widely used and up-to-now there was no indication in the packaging guidelines or rpm output that this is not the recommended pattern. In fact, I know some people preferred the (declarative) %exclude over the (imperative) rm. And Miro raises another issue upthread: there might be packages which require files in %check, and %exclude them. This change would require removing those files at the end of %check, which is rather ugly. Right we have ~1000 packages which will break. There is also an unknown number of non-distro packages which may be affected. I'm not happy about how rpm is changing in a backwards incompatible way. E.g. this means that suddenly ~5% of F33 will not rebuild on F35. I think we should have a strong justification for such a change. Zbyszek _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure