# Флаг USE=libressl

## Baritone

Решил перевести систему на libressl.

Просто есть одна вполне легальная и даже рекомендованная некоторыми правительственными чиновниками России программа, которая помогает исправлять некоторые косяки Роскомнадзора. Ну, Вы знаете, о чём я... и она требует libressl вместо openssl. Кроме того, вообще есть ощущение, что через некоторое время libressl будет в мэйнстриме вместо openssl.

Поскольку на живой системе переход не сработал, решил поиграться на простейшей, на базе образа stage3. 

1) Установил USE="libressl, ssl ". Обновляемые пакеты требуют openssl

2) Пересобрал всё без ssl, удалил openssl, поставил libressl. Начал по одному ставить пакеты, которые на stage3 по умолчанию используют ssl, в варианте с поддержкой ssl: wget, python, ещё кой-чего... Все требуют удалить конфликтующий libressl и поставить openssl.

3) Грубо сделал свои версии .ebuild-ов, удалив возможность компиляции с openssl, и начал их ставить по одному. Сработало. Основа системы перешла на libressl.

4) Попробовал расширить систему, поставить X-ы, это потянуло curl. У curl зависимости по ssl - чёрт ногу сломит. Он может собираться с десятком различных библиотек по выбору. И тут он начинает изображать, что я не сделал выбор между библиотеками, предоставляющими ssl. Поигравшись с флагами USE, обнаружил, что в сообщениях об ошибке постоянно указывается наличие флага (-libressl), хотя глобально USE="libressl, ssl ", и даже локально, для пакета curl, этот флаг был установлен.

После этого я понял, что не понимаю настройку переменной USE.

Всвязи с этим есть два вопроса:

1) Что могло вызвать, что опция (-libressl) указывается в скобках? Может, имеется какая-то блокировка некоторых флагов USE? Читая документацию, я не смог найти такую возможность.

2) Как снять минус с флага libressl ?

----------

## Baritone

Как говорится, сам дурак.

Действительно, опция USE=libressl заблокирована в 2015 году, потому что не работает для curl. 

Способ блокировки флагов переменной USE описан в man portage, я просто невнимательно смотрел. 

Я скомпилировал curl с nss.

Теперь у меня имеется система с libressl, буду смотреть, как она работает. 

Там сейчас установлены устаревшие X-ы с частнособственническими драйверами ATI, которые уже намечены для исключения из древа портэжей, и устаревшее ядро 3-й ветки, для игры "War Thander". О результатах отпишусь.

----------

## Baritone

Удалось перевести основную систему на libressl

При этом не стал воевать с разблокировкой флага USE=libressl, а просто скопировал нужные ebuildы из ветки портэжей libressl (подключается в layman, там, в отличие от основного древа, имеются все нужные патчи) в /ur/local/portage, и подредактировал их, чтобы они всегда использовали libressl, вне зависимости от состояния переменной USE. 

Как и в тестовой системе, собрал curl с nss, остальное собралось с libressl.

Последняя проблема была с ядром - ветка 4.4 не соглашалась компилироваться без openssl, но всё прекрасно получилось с ядром ветки 4.9

Кой-чего пересобирал с emerge -e, но не уверен, что это было нужно.

----------

## Pinkbyte

2 момента:

1) начинать эксперименты с libressl лучше на unstable - у многих стабильных ебилдов тупо нет поддержки libressl;

2) если уж хочется покрутить стабильную ветку, добавления USE="libressl" в make.conf недостаточно, нужно еще добавить "-libressl" в /etc/portage/profile/use.stable.mask - это разрешит использовать данный флаг в ебилдах(по умолчанию флаг замаскирован на всех стабильных ебилдах в профиле)

----------

## Baritone

 *Pinkbyte wrote:*   

> 2 момента:
> 
> 1) начинать эксперименты с libressl лучше на unstable - у многих стабильных ебилдов тупо нет поддержки libressl;
> 
> 2) если уж хочется покрутить стабильную ветку, добавления USE="libressl" в make.conf недостаточно, нужно еще добавить "-libressl" в /etc/portage/profile/use.stable.mask - это разрешит использовать данный флаг в ебилдах(по умолчанию флаг замаскирован на всех стабильных ебилдах в профиле)

 

Спасибо - я действительно не знал, как правильно разблокировать USE="libressl", и обходил проблему редактированием ebuildов в локальной ветке портэжей. Теперь уберу костыли. 

Но во во всяком случае я уже собрал всю свою систему заново, нужды в нестабильных версиях почти не было: это =net-nds/openldap-2.4.44-r1, =net-libs/neon-0.30.1-r1, остальное было взято в ветке libressl, подключаемой с помощью layman.

----------

