TypicalPackagingErrors/StrikeOutMacro: различия между версиями

Материал из ALT Linux Wiki
(minor clarification)
(фикс заголовка)
Строка 1: Строка 1:
[[Category:Devel]]
[[Category:Devel]]


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


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

Версия от 10:05, 15 августа 2008


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

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

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

#%some_macro <--

BUG

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

или так: #some_macro

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

Ссылки