LINUX.ORG.RU

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

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

USE флаги могут притягивать зависимости. Хочешь поддержку ogg где-то там, указал USE флаг, оно мало того, что опцию в ./configure передало, так еще и соотв. либу доустановило, если ее еще нет. Если просто опцией компиляции, то компиляция просто оборвется где-то посредине, и ты будешь вчитываться в сообщение об ошибке и пытаться понять, какой же либы не хватает.

А может опции компиляции вообще не нужно, просто докачать какой-то файл типа локализации. В ядре USE флаг symlink может создать symlink. Ты можешь добавить USE флаг, который добавит твой конфиг при установке (правда, это уже новый ebuild будет).

Иногда опции компиляции могут противоречить друг другу. Например, есть софт, который можно установить только с поддержкой qt4 или qt5 (но не вместе). С опциями компиляции ты об этом узнаешь только когда ./configure упадет. А так это разруливается еще при парсинге USE флагов. Или наоборот: один USE флаг требует другого. Или какой-то USE флаг требует зависимость с определенным (другим) USE флагом. Много чего.

Потом - опции компиляции могут называться по-разному в разном софте. А глобальные USE флаги обеспечивают одинаковое название для всех программ, для которых они есть. И ты можешь задать глобальный USE флаг в make.conf и быть уверенным, что вся система, т. е. все релевантные программы будут собраны с нужной тебе функциональностью.

Исправление Kroz, :

USE флаги могут притягивать зависимости. Хочешь поддержку ogg где-то там, указал USE флаг, оно мало того, что опцию в ./configure передало, так еще и соотв. либу доустановило, если ее еще нет. Если просто опцией компиляции, то компиляция просто оборвется где-то посредине, и ты будешь вчитываться в сообщение об ошибке и пытаться понять, какой де либы не завтает.

А может опции компиляции вообще не нужно, просто докачать какой-то файл типа локализации. В ядре USE флаг symlink может создать symlink. Ты можешь добавить USE флаг, который добавит твой конфиг при установке (правда, это уже новый ebuild будет).

Иногда опции компиляции могут противоречить друг другу. Например, есть софт, который можно установить только с поддержкой qt4 или qt5 (но не вместе). С опциями компиляции ты об этом узнаешь только когда ./configure упадет. А так это разруливается еще при парсинге USE флагов. Или наоборот: один USE флаг требует другого. Или какой-то USE флаг требует зависимость с определенным (другим) USE флагом. Много чего.

Потом - опции компиляции могут называться по-разному в разном софте. А глобальные USE флаги обеспечивают одинаковое название для всех программ, для которых они есть. И ты можешь задать глобальный USE флаг в make.conf и быть уверенным, что вся система, т. е. все релевантные программы будут собраны с нужной тебе функциональностью.

Исправление Kroz, :

USE флаги могут притягивать зависимости. Хочешь поддержку ogg где-то там, указал USE флаг, оно мало того, что опцию в ./configure передало, так еще и соотв. либу установило.

А может опции компиляции вообще не нужно, просто докачать какой-то файл типа локализации. В ядре USE флаг symlink может создать symlink. Ты можешь добавить USE флаг, который добавит твой конфиг при установке (правда, это уже новый ebuild будет).

Иногда опции компиляции могут противоречить друг другу. Например, есть софт, который можно установить только с поддержкой qt4 или qt5 (но не вместе). С опциями компиляции ты об этом узнаешь только когда ./configure упадет. А так это разруливается еще при парсинге USE флагов. Или наоборот: один USE флаг требует другого. Или какой-то USE флаг требует зависимость с определенным (другим) USE флагом. Много чего.

Потом - опции компиляции могут называться по-разному в разном софте. А глобальные USE флаги обеспечивают одинаковое название для всех программ, для которых они есть. И ты можешь задать глобальный USE флаг в make.conf и быть уверенным, что вся система, т. е. все релевантные программы будут собраны с нужной тебе функциональностью.

Исправление Kroz, :

USE флаги могут притягивать зависимости. Хочешь поддержку ogg где-то там, указал USE флаг, оно мало того, что опцию в ./configure передало, так еще и соотв. либу установило.

А может опции компиляции вообще не нужно, просто докачать какой-то файл типа локализации. В ядре USE флаг symlink может создать symlink. Ты можешь добавть USE флаг, который добавит твой конфиг (правда, это уже ebuild будет).

Иногда опции компиляции могут противоречить друг другу. Например, есть софт, который можно установить только с поддержкой qt4 или qt5. Ты об этом узнаешь только когда ./configure упадет. А так это разруливается еще при парсинге USE флагов. Или наоборот: один USE флаг требует другого. Или какой-то USE флаг требует зависимость с определенным (другим) USE флагом. Много чего.

Потом - опции компиляции могут называться по-разному. А глобальные USE флаги обеспечивают одинаковое название для всех программ, для которых они есть. И ты можешь задать глобальный USE флаг в make.conf и быть уверенным, что вся система - все релевантные программы будут собраны с нудной тебе функциональностью.

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

USE флаги могут притягивать зависимости. Хочешь поддержку ogg где-то там, указа USE флаг, оно мало того, что опцию в ./configure передало, так еще и соотв. либу установило.

А может опции компиляции вообще не нужно, просто докачать какой-то файл типа локализации. В ядре USE флаг symlink может создать symlink. Ты можешь добавть USE флаг, который добавит твой конфиг (правда, это уже ebuild будет).

Иногда опции компиляции могут противоречить друг другу. Например, есть софт, который можно установить только с поддержкой qt4 или qt5. Ты об этом узнаешь только когда ./configure упадет. А так это разруливается еще при парсинге USE флагов. Или наоборот: один USE флаг требует другого. Или какой-то USE флаг требует зависимость с определенным (другим) USE флагом. Много чего.

Потом - опции компиляции могут называться по-разному. А глобальные USE флаги обеспечивают одинаковое название для всех программ, для которых они есть. И ты можешь задать глобальный USE флаг в make.conf и быть уверенным, что вся система - все релевантные программы будут собраны с нудной тебе функциональностью.