rpm/macros.kernel-source: echo "%%{expand:%%(test -z '%flavors_to_build' && echo %%%%internal_kmp_error)}" \ so probably after warning Macro %flavors_to_build needs whitespace before body the macro was not defined but rpm does not show the offending code, it does not say why it thinks that the body started without whitespace when the macro syntax is vaguely defined as the body starting after whitespace.