When reading some rpmbuild spec files, I come across some of the conditional macros which puzzle me.
example1
%if 0%{?rhel} > 7 blah blah %endif # I understand the above block tries to check if the # red hat enterprise linux version is above 7, then blah blah # But what is the usage of the '0'?
example 2
%if 0%{!?pkg_name:1} %define pkg_name foo %endif # I understand the above block tries to check if the pkg_name # is not defined, then define it with the value foo. # But what is the usage of the '0'?
My guess is that '0' indicates the next expression to be either 'nil' or a number so that rpm would consider them as a number (such as 06, 0, or 01 in above examples) instead of a string or empty string. But I am not sure about it.
Unfortunatly, most of the online tutorial materials did not cover this topic.