On Mon, Jun 10, 2024 at 08:35:36AM -0700, Adam Williamson wrote: > On Mon, 2024-06-10 at 16:38 +0200, Vít Ondruch wrote: > > Dne 10. 06. 24 v 16:24 Daniel P. Berrangé napsal(a): > > > On Mon, Jun 10, 2024 at 04:18:14PM +0200, Miroslav Suchý wrote: > > > > Lately, I noticed that several SPEC files in Fedora use this syntax: > > > > > > > > Source: macros.vlc > > > > > > > > And this file defines macros that are loaded by rpmbuild during buildtime and are used in the SPEC file. > > > > > > > > This makes parsing of the SPEC file harder, because any parser have to have > > > > this maro file in current directory - just reading SPEC file is not enough. > > > > > > There is also: > > > > ~~~ > > > > %{load:%{S:1}} > > > > ~~~ > > > > > > Which actually loads the file. > > > > > > > > > > > > I mentioned vlc, but it is used in many other packages: valkey, zig, > > > > typelib-srpm-macros, ansible-packaging, rakudo, sip and many many other. > > > > > > > > Why are packagers doing this? I am not saying this is bad, it just surprised > > > > me. I am used to put all macros at the top of the SPEC file and this is new > > > > to me. What is the benefit? > > > I don't know if it is the case for vlc, but the common benefit would be > > > where the same macros are to be used in both this local spec, and the > > > specs of other dependent RPMs. > > > > > > That is precisely the reason I have pioneered this approach and using it > > for Ruby. > > It might be nice to package the macros, in that case. That's what we do > for other languages like Python, in python-rpm-macros... I guess there's a distinction here between packaging the macros in their own self-contained RPM, vs packaging them as a sub-RPM of the "main" package. I don't recall our packaging guidelines expressing a preference either way. We seem to have a mix of both approaches across various Fedora packages. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- _______________________________________________ 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, report it: https://pagure.io/fedora-infrastructure/new_issue