TypicalPackagingErrors/StrikeOutMacro

Материал из ALT Linux Wiki


#%Макросы в комментариях

Бывает, что какая-либо часть спек-файла в процессе работы комментируется, дописывается что-то выше, что-то ниже. Если при этом не учитывать такую особенность препроцессора rpm, как нечувствительность к контексту при замене макросов -- могут выйти накладки с теми макросами, результат обработки которых воздействует на среду, а не просто передаётся дальше в составе скрипта шеллу (например, %add_findreq_skiplist/%add_findprov_skiplist).

Проще говоря, если надо закомментировать строчку с макросом -- не следует делать это так:

#%some_macro <--

BUG

а следует так: #%%some_macro <-- первый % экранирует второй

или так: #some_macro

То же самое относится к использованию ссылок, скажем, на %_datadir/%name или %update_menus в секции %changelog -- могут получиться самые что ни на есть очаровательные врезки строк по десять. Если на каталоги и %name порой так ссылаться удобнее (памятуя про то, что длина строки в итоге увеличится), то другие макросы лучше экранировать по привычке.

Ссылки