LINUX.ORG.RU

История изменений

Исправление Pinkbyte, (текущая версия) :

Это гентуспецифичная проблема, изначально возникшая на префиксе, которую так никто и не решил

Если вкратце - сложно согласовать USE-флаги с пакетами которые способны детектить наличие зависимостей в рантайме.

Например поставил ты пакет с USE="-foo", а зависимость foo доставил отдельно(прочитав где-нибудь, что она решает проблему с неполной работой твоего пакета). В результате пакетный менеджер думает, что foo не нужна для твоего пакета, а у тебя всё работает. А потом ты выполнил emerge --depclean, ненужный никому(по мнению пакетного менеджера) foo удалился(если ты его поставил как зависимость с -1) и ты снова наступаешь на грабли.

В случае зависимостей, которые решаются во время компиляции максимум на что ты можешь напороться - это автомагия. Тут эта автомагия выходит на уровень выполнения.

Другого решения кроме как вводить USE-флаги, которые могут вызывать проблемы описанные выши в принципе нет. И делают это крайне неохотно. Обычно просто в pkg_postinst для ебилда проблемного софта помещают текст в стиле «если вам нужны дополнительные фичи - доустановить пакет такой-то». Но это сложно назвать полноценным решением проблемы.

Исходная версия Pinkbyte, :

Это гентуспецифичная проблема, изначально возникшая на префиксе, которую так никто и не решил

Если вкратце - сложно согласовать USE-флаги с пакетами которые способны детектить наличие зависимостей в рантайме.

Например поставил ты пакет с USE="-foo", а зависимость foo доставил отдельно(прочитав где-нибудь, что она решает проблему с неполной работой твоего пакета). В результате пакетный менеджер думает, что foo не нужна для твоего пакета, а у тебя всё работает. А потом ты выполнил emerge --depclean, ненужный никому(по мнению пакетного менеджера) foo удалился(если ты его поставил как зависимость с -1) и ты снова наступаешь на грабли.

В случае зависимостей, которые решаются во время компиляции максимум на что ты можешь напороться - это автомагия. Тут эта автомагия выходит на уровень выполнения.

Другого решения кроме как вводить USE-флаги, которые могут вызывать проблемы описанные выши в принципе нет. И делают это крайне неохотно. Обычно просто в pkg_postinst для ебилда проблемного софта помещают текст в стиле «если вам нужны дополнительные фичи - доустановить пакет такой-то»