# cl-update
Синхронизация репозиториев
* Синхронизация Distros репозитория ... [ ok ]
* Синхронизация Calculate репозитория ... [ ok ]
* Синхронизация Portage репозитория ... [ ok ]
* Синхронизация завершена
Конфигурация системы
* Исправление настроек ... [ ok ]
* Обновление конфигурационных файлов ... [ ok ]
Проверка обновлений
* Вычисление зависимостей ... [ ok ]
(and 1 more with the same problem)
app-text/poppler:0
(app-text/poppler-0.32.0:0/51::gentoo, будет установлен бинарный пакет) зависимость пакета
(нет родительских пакетов, которым не удовлетворяли бы другие пакеты в данном слоте)
(app-text/poppler-0.26.5:0/46::gentoo, установлен) зависимость пакета
>=app-text/poppler-0.14:0/46=[cairo] необходим для (app-text/atril-1.8.1:0/0::gentoo, установлен)
^^^^^^
(and 3 more with the same problem)
Возможно, для решения проблемы следует запретить установку одного из
этих пакетов, замаскировав его в package.mask. Однако не следует
исключать и того, что существуют конфликтующие зависимости, которые
нельзя разрешить одновременно. Если конфликтуют зависимости двух
разных пакетов, эти пакеты не могут быть установлены одновременно.
Возможно, вам следует повторить операцию, указав бОльшую величину
для опции --backtrack, например, --backtrack=30. В ряде случаев
этого достаточно, чтобы разрешить проблему.
Более подробную информацию вы найдёте в разделе MASKED PACKAGES
man-страницы emerge или в Настольной книге Gentoo.
emerge: нет ebuild файлов, соответствующих "dev-lang/perl:0/5.18=[-build(-)]".
(требуется по зависимости для "dev-perl/JSON-2.590.0-r1::gentoo" [установлен])
(требуется по зависимости для "www-client/chromium-43.0.2357.65::gentoo" [ebuild])
(требуется по зависимости для "www-plugins/chrome-ublock-0.9.8.2::calculate" [binary])
(требуется по зависимости для "@selected" [комплект])
(требуется по зависимости для "@world" [аргумент])
* Выполнение Emerge завершилось с ошибкой
* Не удалось обновить
# eix poppler
[U] app-text/poppler
Available versions: 0.32.0(0/51)^t ~0.33.0(0/52)^t ~0.33.0-r1(0/52)^t **9999(0/9999)^t {cairo cjk curl cxx debug doc +introspection +jpeg (+)jpeg2k +lcms png qt4 qt5 tiff +utils}
Installed versions: 0.26.5(0/46)^t(13:31:37 09.03.2015)(cairo cxx jpeg jpeg2k lcms png qt4 tiff utils -cjk -curl -debug -doc -introspection -qt5)
Homepage: http://poppler.freedesktop.org/
Description: PDF rendering library based on the xpdf-3.0 code base
Что мы здесь видим?
- Что флаг USE=“cairo” включен (Это первое что предлагают проверить).
вообще-то он включен по-умолчанию и бинарный пакет poppler тоже идёт с этим флагом. - что пакет app-text/atril требует слот 0/46 как в стабильной версии 1.8.0, так и в нестабильной 1.8.1, замаскированной ключевым словом ~amd64
- что пакет poppler был стабилизирован со слотом 0/51
Нельзя этого было делать!! Надо было сначала проверить все зависимые пакеты (зависимости-то то все видны) и стабилизировать сразу все, чтобы при обновлении не возникало ошибок.
Кто виноват в этом эпическом фейле? Думаю, что в первую очередь команда gentoo,
потому что оба пакета - atril и poppler находятся в одном дереве (оверлеи тут не при чём).
Виновата ли разница между stable релизами и rolling релизами? В данном случае, не виновата. Можно было правильно выполнить этот конкретный ролл и проблем бы не было.
В случае с оверлеями - тут нужно думать больше (читателям в качестве упражнения),
может вообще надо бросать gentoo и переходить на Debian. Там пакеты из исходников тоже в принципе собирают…
Все ли gentoo-based дистрибутивы принципиально неработоспособны?
Очевидно не все, потому что это зависит от политики стабилизации пакетов.
Если не полагаться на мейнтейнеров gentoo и иметь отдельное главное дерево,
как это делают в Funtoo или Exherbo, то проблему можно решить.
В этом плане я возлагаю большие надежды на emergelinux.org
С заблокированными javascript он пока выглядит не очень, но очевидно,
что при правильной политике у него большое будущее.