Dne 02. 04. 21 v 12:07 Zbigniew Jędrzejewski-Szmek napsal(a):
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?
This is one of the real issues: https://bugzilla.redhat.com/show_bug.cgi?id=878863 Vít
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
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ 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