On 07. 04. 20 10:09, Tom Hughes via devel wrote:
That will mean that most %fedora conditions will need to be extended with a %rhel condition and that in many cases new features may silently not be enabled in ELN builds until that is manually discovered and the condition is amended which seems to be the exact opposite of what is required if the goal is to see how "Fedora Future" builds in an EL environment.
To take just one example hundreds of nodejs packages would build as if they are on Fedora 18 or earlier because they contain this:
%if 0%{?fedora} >= 19 ExclusiveArch: %{nodejs_arches} noarch %else ExclusiveArch: %{ix86} x86_64 %{arm} noarch %endif
Now that is no longer required, and happens to be mostly harmless because it just means they will hard code the arch list instead of using the macro, but it's the kind of thing where ELN will wind up building as if it's an ancient version of Fedora rather than as if it is rawhide.
The idea is that if such package indeed is built in ELN, such conditionals should be fixed. If we define %fedora in ELN, the problems will only arise in RHEL and the conditionals will likely remain unfixed in Fedora.
This particular example might remain unfixed because it "works" as is.
Anyway, when introducing conditionals like this initially, I highly recommend to do this instead:
%if %{defined nodejs_arches} ExclusiveArch: %{nodejs_arches} noarch %else ExclusiveArch: %{ix86} x86_64 %{arm} noarch %endif
To avoid this kind of bad conditional.