https://bugzilla.redhat.com/show_bug.cgi?id=1290878
Bug ID: 1290878 Summary: macros.fonts uses %define instead of %global Product: Fedora Version: rawhide Component: fontpackages Assignee: nicolas.mailhot@laposte.net Reporter: tibbs@math.uh.edu QA Contact: extras-qa@fedoraproject.org CC: fonts-bugs@lists.fedoraproject.org, nicolas.mailhot@laposte.net, paul@frixxon.co.uk, tagoh@redhat.com
While working on some compatibility macros for EPEL (to let the older branches use some of the new RPM functionality without ifdefs) I found my macros broke nothing except the font packages. After some bugging I found that use of %define in the %_font_pkg() macro will expand itself recursively when expanded in certain contexts. It seems to work currently by luck.
Changing that one %define to %global appears to work and generates RPMs which differ from the current packages by nothing other than timestamps.
Is there a specific reason that %define is used there? As I understand it, the general rule is that you should use %global unless you know that you really need the special and difficult to explain behavior of %define. There's no comment in the macros file about this, so I suspect that the use of %define is not intentional.
Unfortunately this is holding up some work I'm doing so I'd like to get this pushed out at least for EL6 and EL5 as soon as is reasonable. I'll do a complete rebuild of all font packages and rpmdiff against current rawhide as well as EPEL5 and 6 and post it here to make sure there's no breakage, and I'm happy to push a package with that one line patched to any branches you desire. Just let me know.