Пробую Gentoo, и уже не раз сталкиваюсь с ситуацией, когда два пакета зависят от одного и того же третьего, но первый из этих двух хочет, чтобы третий был собран с флагом икс, а второй хочет, чтобы третий был собран без оного. Среди предлагаемых решений есть следующие:
- установить глобально флаг икс и пересобрать мир -uND world (вопрос - что делать, если это не сработает, и мне для установки второго пакета действительно нужна версия, собранная без этого флага?)
- замаскировать второй пакет (непонятно тогда, как я смогу вообще установить его?..)
- вмерджить второй пакет без проверки зависимостей, надеясь на то, что заработает и так (??? мне кажется, что это даже не решение, а очень грязный трюк, который может сработать, но нет абсолютно никаких гарантий работоспособности программы)
Как я понимаю, проблема в том, что пакет, установленный в систему, не идентифицируется портежем по набору USE-флагов, использованных при сборке. И мне непонятно, почему сделано именно так. Только для того, чтобы исключить дублирование пакетов в системе ? Разъясните, пожалуйста, правильно ли я всё интерпретирую, и есть ли решение этой проблемы в общем случае ?
PS. Погуглил по этой теме, наткнулся на менеджер пакетов Nix, который судя по описанию умеет делать именно то, что мне нужно, причем ещё и виртуализирует хранилище файлов, которые привносятся пакетом в систему при установке. То ли это, что мне надо ?
dependencies, gentoo