Hide Forgot
When I used the following lines in a .spec file, the %{varrotdir} macro is set to /usr/local even on a Linux box. %ifos Linux %define varrootdir /usr %else %define varrootdir /usr/local %endif After several trials (%ifos vs %ifnos, Linux vs solaris) it seems the last alternative is always used, regardless of the test. This occurs with rpm 3.0.3.
This is similar to #5364, i.e. #defines are always executed inside if statements in the order specified, regardless of whether that part of the statement should be executed or not.
*** This bug has been marked as a duplicate of 5364 ***