LINUX.ORG.RU

portage - Автоматическое разрешение кольцевых зависимостей по заранее заданному шаблону

 , ,


0

3

Собственно, бывает два варианта:
1. Ебилд, по кривости автора (ПО или ебилда?), требует при определенном флаге самого себя (или либу, которая в нём идёт) включить при компиляции. Для успешной компиляции с определенным флагом нужно собрать приложение без него, а потом с ним (например, собираете пульсаудио с xen, не собирается, собираете без - собираете, потом уже собираете с ним. Или dev-libs/redland need to be compiled without USE «sqlite» before builed with it).
2. Ебилд, который требует для сборки уже установленный ебилд, но тот блокирует его из-за кольцевых зависимостей с другими пакетами (пример: собираете систему, нету ни xorg, ни DE, ни mesa. Портаж требует собрать всё это с mesa USE="-xorg", а уже потом можно будет будет пересобрать с USE=«xorg»).

Руками это делается без проблем, вопрос в том, как это можно автоматизировать, желательно не вторгаясь в ебилды, чтобы обновления не нарушать.

Также хочу заметить, что часть проблем возникает на уровне запрета портажа, а часть уже как ошибки configure или компиляции.

Под автоматизацией я, конечно, не подразумеваю ИИ у портажа, а просто следование моим командам в скрипте.

☆☆☆

Последнее исправление: ktulhu666 (всего исправлений: 1)

У меня таких проблем не возникает. Ты просто неправильно решаешь блокировки. Смысла в том, что бы в начале что-то собрать с отключённым флагом, а потом с включённым или наоборот нет. Используй ключ '-t' для более детального просмотра дерева зависимостей и читай ebuild`ы проблемных пакетов.

kostik87 ★★★★★
()
Ответ на: комментарий от ktulhu666

ошибки идут уже при configure

Значит читаешь config.log, если причина сбоя неясна и ты не можешь её устранить, то спрашиваешь на форуме и пишешь в Gentoo Bugs.

при компиляции

Смотришь build.log и пишешь на Gentoo Bugs и прикладываешь все необходимые данные.

В обоих случаях даёшь наводку на то, что при сборке вот таким вот «макаром» всё собирается. Дальше мантейнер думает и правит ebuild.

Хотя лучше рассмотреть реальный пример.

Использую

Значит плохо используешь.

В любом случае то, что ты делаешь неправильно. Пока ты не станешь сообщать о проблемах в Gentoo Bugs проблема останется.

Кроме всего прочего имеет место быть так же проблема совместимости версий, которую можно решить размаскировав более новую версию пакета и поставив её.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)

А я-то думал, что только слакварщики мучаются сборками... Оказывается, у нас это просто детский лепет. :)

slamd64 ★★★★★
()
Ответ на: комментарий от slamd64

Вы не правильно поняли. У Вас хрен соберешь, а у нас нужно лишний раз на кнопку нажать.

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от slamd64

Нет, просто кто-то не плохо читает документацию, а при возникновении действительно проблем не хочет о них сообщать, правда в их наличии я честно говоря сомневаюсь.

kostik87 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.