TypicalPackagingErrors/StrikeOutMacro: различия между версиями
(фикс заголовка) |
Ilis (обсуждение | вклад) (→Ссылки) |
||
Строка 18: | Строка 18: | ||
=== Ссылки === | === Ссылки === | ||
* [http://lists.altlinux.org/pipermail/sisyphus/2006-March/079002.html Пример неожиданного поведения] | * [http://lists.altlinux.org/pipermail/sisyphus/2006-March/079002.html Пример неожиданного поведения] | ||
[[Категория:TypicalPackagingErrors|{{SUBPAGENAME}}]] |
Текущая версия от 18:49, 13 марта 2009
Макросы в комментариях
Бывает, что какая-либо часть спек-файла в процессе работы комментируется, дописывается что-то выше, что-то ниже. Если при этом не учитывать такую особенность препроцессора rpm, как нечувствительность к контексту при замене макросов -- могут выйти накладки с теми макросами, результат обработки которых воздействует на среду, а не просто передаётся дальше в составе скрипта шеллу (например, %add_findreq_skiplist/%add_findprov_skiplist).
Проще говоря, если надо закомментировать строчку с макросом -- не следует делать это так:
#%some_macro <--
а следует так: #%%some_macro <-- первый % экранирует второй
или так: #some_macro
То же самое относится к использованию ссылок, скажем, на %_datadir/%name или %update_menus в секции %changelog -- могут получиться самые что ни на есть очаровательные врезки строк по десять. Если на каталоги и %name порой так ссылаться удобнее (памятуя про то, что длина строки в итоге увеличится), то другие макросы лучше экранировать по привычке.