Hello, 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. > > 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? In linux-system-roles, such files are used to isolate parts that differ beween RHEL and Fedora. This way, merging between RHEL and Fedora is easier, as the spec file can be identical and the differences are in the include files, which differ. As a result, one does not have to deal with merge conflicts when synchronizing from Fedora to RHEL or vice-versa. See for example the explanation in https://src.fedoraproject.org/rpms/linux-system-roles/raw/rawhide/f/extrasources.inc Regards, Pavel -- _______________________________________________ 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