[devel] %_libexecdir
Dmitry V. Levin
ldv на altlinux.org
Ср Фев 23 03:19:10 MSK 2022
On Sun, Feb 20, 2022 at 11:28:30AM +0300, Anton Farygin wrote:
> Всем привет.
>
> А кто-то помнит по каким причинам у нас
>
> $ rpm --eval '%_libexecdir'
> /usr/lib
> а не /usr/libexec ???
>
> Там было что-то осмысленное, или просто такое legacy, которое менять
> страшно ?
Так было в FHS, это появилось ещё в прошлом веке до создания ALT.
Для того, чтобы менять такие древние традиции, надо ответить на два
вопроса, зачем и какой ценой. Грубо говоря, от изменения должна быть
какая-то существенная польза, перевешивающая затраты на изменение.
Неизвестно, есть ли вообще какая-нибудь польза от другого значения
макроса, но известно, что трудозатраты на проверку последствий
значительные.
Как обычно с такими макросами, отследить всё, на что они влияют, довольно
сложно, поскольку это не только пакеты, в спеках которых упоминается
макрос %_libexecdir, но и пакеты, в спеках которых упоминаются
использующие %_libexecdir макросы %configure и %makeinstall (может быть,
есть и другие макросы, но про эти два этот факт хорошо известен). Каждый
из пакетов, в котором не переопределяется %_libexecdir, но используется
один из этих трёх макросов, придётся проверить, не сломается ли он в
результате изменения значения %_libexecdir. Таких пакетов примерно 3770.
Несколько видов возможных поломок можно представить себе сразу:
- пакет перестанет собираться;
- в пакет перестанут упаковываться какие-то части, которые сейчас
упаковываются;
- пакет станет неправильно работать из-за неготовности к изменению;
- разные пакеты перестанут правильно взаимодействовать друг с другом из-за
того, что изменение не произошло в них синхронно, например, потому что в
одном из пакетов используется значение %_libexecdir не из макроса, а
зашито прямо в код.
В общем, объём потенциальных разрушений велик, и для того, чтобы начинать
обсуждать это всерьёз, нужно видеть потенциальную пользу, перевешивающую
всё это.
--
ldv
Подробная информация о списке рассылки Devel