On Thu, 24 Dec 2015 15:01:02 -0600
Jason L Tibbitts III <tibbs(a)math.uh.edu> wrote:
To satisfy my curiosity, I grepped the convenient tarball of
specfiles
(
http://pkgs.fedoraproject.org/repo/rpm-specs-latest.tar.xz) for lines
matching "(?<!%)%define" (%define but not %%define). To my surprise,
there were more than 1900 hits.
Here's a complete (long) list. I don't think there's much point in
doing anything about the vast majority of these, but if you're in
cleaning up your packages then why not? Also, feel free to let me
know if any of these are false positives. (They may be due to
%define in the changelog or in a "comment", which is also something
that should be fixed.) And if you're using %define because you
actually need one of the peculiar behaviors it exhibits, please let
me know because I'd like to see an actual example of that.
In perl-Module-Extract-VERSION I have this for provides filtering that
works in EPEL < 7:
# Filter bogus provide for perl(ExtUtils::MakeMaker::_version) (prior to rpm 4.9)
%global provfilt /bin/sh -c "%{__perl_provides} | grep -Fvx
'perl(ExtUtils::MakeMaker::_version)'"
%define __perl_provides %{provfilt}
It's been there for a long time and it's quite common in perl module
packages. I don't think this works with %global instead of %define.
Paul.