Странное поведение portage с autounmask [РЕШЕНО], конфликт флагов

Бытаюсь установить unbound, который требует нестабильного openssl.
Сначала всё нормально, рсзмаскировал несколько пакетов:

# required by net-dns/unbound-1.4.21
# required by unbound (argument)
=net-libs/ldns-1.6.16 ~arm
# required by unbound (argument)
=net-dns/unbound-1.4.21 ~arm
# required by net-dns/unbound-1.4.21
# required by unbound (argument)
=net-dns/dnssec-root-20110630 ~arm
# required by net-misc/iputils-20121221[ssl,-static,ipv6]
# required by @system
# required by @world (argument)
=dev-libs/openssl-1.0.1e-r2 ~arm

Потребовалось изменение use:

>=dev-libs/openssl-1.0.1e-r2 -bindist

Однако после этих изменений portage снова требует, но уже другую версию:

=dev-libs/openssl-1.0.1e-r1 -bindist

Следующий проход:

=dev-libs/openssl-1.0.1c -bindist

Далее:

=dev-libs/openssl-1.0.1e -bindist

Вот зе?

P.S размаскировка пакетов целиком похоже зациклила portage. Даже при пересборке мира зависимости быстрее считались.

P.P.S

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-libs/openssl:0

  (dev-libs/openssl-1.0.1e-r1::gentoo, installed) pulled in by
    >=dev-libs/openssl-0.9.6d:0[bindist=] required by (net-misc/openssh-5.9_p1-r4::gentoo, installed)

  (dev-libs/openssl-1.0.1e-r2::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-libs/openssl-1.0.1c[-bindist] required by (net-libs/ldns-1.6.16::gentoo, ebuild scheduled for merge)

Чем его dev-libs/openssl-1.0.1e-r2 не устроил?

evadim правда, с тегами code несколько более читабельно?
Прошу прощения, коды не ввёл т.к на планшете прокрутка тормозила, а сообщение не было видно какое-то время прсле публикации (видимо, включена премодерация).

Не используйте autonmask,

Не используйте autonmask, решайте блокировки сами, с понимаеним отчего появилась блокировка и возможностей её устранения, а для этого нужно использовать ключ '-t' при вызове emerge и смотреть ebuild`ы пакетов, вызвавших блокировку.

Ну и внимательно прочитайте то, что вам пишет emerge:

>=dev-libs/openssl-0.9.6d:0[bindist=] required by (net-misc/openssh-5.9_p1-r4::gentoo, installed)
>=dev-libs/openssl-1.0.1c[-bindist] required by (net-libs/ldns-1.6.16::gentoo, ebuild scheduled for merge)

В общем, здесь говорится, что openssh "хочет", что бы openssl был собран с флагом bindist, т.к. сам openssh, скорее всего собран с этим флагом, а ldns "хочет", что бы openssl бы собран без флага bindist, т.к., скорее всего сам собран без него или выставлена жёсткая зависимость в сборки openssl без флага bindist.

В общем вам нужно пересобрать openssh без флага bindist и openssl установить так же без оного.

Вот и не мог ваш autounmask решить, что нужно сделать, включить флаг или выключить.

Спасибо, разобрался. bindist=

Спасибо, разобрался. bindist= означает, что выбор флага у пакетов должен совпадать. Отключение bindist у openssh решило проблему. Ключ t не помог даже при снятии автоматически собранных масок. А bindist на arm включён по дефолту.

Локальный оверлей растёт

kostik87 написал(а):Ключ t

kostik87 написал(а):
Ключ t не помог даже при снятии автоматически собранных масок.

Когда вам советуют воспользоваться ключом, то вы в начале хотя бы почитайте что этот ключ означает и делает. Я вам посоветовал пользоваться ключом '-t' при разрешении блокировок в ручную, а не пользоваться autounmask. Этот ключ выводит дерево зависимостей, по которому можно отследить какой пакет "тянет" устанавливаемый пакет. Так что прежде чем что-то делать почитайте документацию, в данном случае по emerge:

man emerge

ну, а что бы понять почему "тянется" пакет нужно смотреть ebuild пакета, который его "тянет", а возможно и ebuild пакета, который "тянет" пакет "тянущий" проблемный пакет.

Цитата:
А bindist на arm включён по дефолту.

Ни кто вам не запрещает выключить этот флаг клобально в make.conf. Посмотрите информацию по флагу в /usr/portage/profiles/use*

grep bindist /usr/portage/profiles/use*

Если в двух словах, то этот флаг отключает при сборке программы некоторые блоки кода (технологии), которые по каким-либо причинам попадают под лицензионные ограничения, в общем этот флаг можно отключить, что бы не отключать эти технологии, они иногда бывают полезны, например алгоритмы шифрования, кодеки, прочее.

Так что в начале читайте документацию, а потом делайте.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".