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.
(Own goal notice: I have a few packages on this list. Off to fix them
up now.)