Бывает, что какая-либо часть спек-файла в процессе работы комментируется, дописывается что-то выше, что-то ниже. Если при этом не учитывать такую особенность препроцессора rpm, как нечувствительность к контексту при замене макросов — могут выйти накладки.
Проще говоря, если надо закомментировать строчку с макросом — не следует делать это так:
#%some_macro <— BUG
а следует так:
#%%some_macro <— первый % экранирует второй
или так:
#some_macro
То же самое относится к использованию ссылок, скажем, на %_datadir/%name или %update_menus в секции %changelog — могут получиться самые что ни на есть очаровательные врезки строк по десять. Если на каталоги и %name порой так ссылаться удобнее (памятуя про то, что длина строки в итоге увеличится), то другие макросы лучше экранировать по привычке.