pmatilai left a comment (rpm-software-management/rpm#3661)
> Rationale: The two macro defining statements behave the same when they are at
> the top level of rpm’s nesting level.
>
> But when they are used in nested macro expansions (like in %{!?foo: ... }
> constructs, %define theoretically only lasts until the > end brace (local
> scope), while %global definitions have global scope.
That used to be the case in rpm < 4.14 (prior to rhel-8 if you like). The worst
issue with it was that %define *appeared* to worked in those situations but
then an unrelated spec change could break suddenly break it. It was bad, but
the "always use global" cure is worse than the disease.
Since 4.14 only parametric macros have locally scoped macros.
--
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/3661#issuecomment-2731960210
You are receiving this because you are subscribed to this thread.
Message ID: <rpm-software-management/rpm/issues/3661/[email protected]>
_______________________________________________
Rpm-maint mailing list
[email protected]
https://lists.rpm.org/mailman/listinfo/rpm-maint