LinuxForum.Fans
Тема

Как установить пакет из оверлея, игнорируя основное дерево portage

Автор: riso 18 сообщений 5037 просмотров
#230860

При обновлении (emerge -uNDpv world) мира выводит такую строку

text
[ebuild     U ~] x11-libs/cairo-1.10.2-r2 [1.10.2-r1] USE="X glib svg xcb (-aqua) -debug -directfb -doc (-drm) (-gallium) -opengl (-openvg) -qt4 -static-libs (-cleartype%) (-lcdfilter%*)" 0 kB [1=>0]

Дело в том, что у меня cairo стоит из оверлея. Флаг lcdfilter прописан в package.use, почему здесь он убран ?
grep cairo /etc/portage/package.use

text
x11-libs/cairo -cleartype lcdfilter xcb
text
Portage tree and overlays:
 [0] /usr/portage
 [1] /var/lib/layman/lcd-filtering

P.S. ось - gentoo

#230863

riso, так и указывайте при сборке, что нужно cairo устанавливать из оверлея.
Какая версия в оверлее?

#230869

eix -O cairo

text
[i] x11-libs/cairo
     Available versions:  1.8.10!t 1.10.2-r1!t (~)1.10.2-r1!t[1] [M](~)9999!t {X aqua (+)cleartype debug directfb doc drm gallium +glib lcdfilter opengl openvg qt4 static-libs +svg xcb}
     Installed versions:  1.10.2-r1!t[1](12:51:59 19.01.2012)(X glib lcdfilter svg xcb -aqua -cleartype -debug -directfb -doc -drm -gallium -opengl -openvg -qt4 -static-libs)
     Homepage:            http://cairographics.org/
     Description:         A vector graphics library with cross-device output support

[1] "lcd-filtering" /var/lib/layman/lcd-filtering

По другому не умею смотреть, если посоветуете как искать по оверлеям правильно, буду очень признателен

#230874

riso, да так и смотреть.
В основном дереве версия новее, поэтому её и ставит.

#230875

А можно замаскировать все версии cairo в основном дереве или сделать так, чтобы система не пыталась обновить с основного дерева ?

#230877
riso написал:
А можно замаскировать все версии cairo в основном дереве или сделать так, чтобы система не пыталась обновить с основного дерева ?
text

mkdir -p /etc/portage/pakage.mask
echo '>x11-libs/cairo-1.10.2-r1' >> /etc/portage/pakage.mask/x11-libs

«Костыль» это, конечно. Должен быть правильный способ. Вспомню — напишу.

#230880
Lupo Alberto написал:
Должен быть правильный способ. Вспомню — напишу.

Попробуйте (убрав предыдущие изменения — echo '>x11-libs/cairo-1.10.2-r1' >> /etc/portage/pakage.mask/x11-libs) сделать так:

text

echo 'x11-libs/cairo::gentoo' >> /etc/portage/pakage.mask/x11-libs

P.S. Если этот способ сработает, возьму на заметку — не было повода никогда проверить ;)

#230882

Lupo Alberto, спасибо, работает. Я так понял мы замаскировали cairo в ветке gentoo (основная ветка ?)

#230886
riso написал:
Я так понял мы замаскировали cairo в ветке gentoo (основная ветка ?)

Да.
Как я понимаю, также возможна комбинация первого способа и второго, т.е. маскировка и по версии, и по оверлею (либо основному дереву).

#230888

Lupo Alberto, первый способ тоже работает. Есть еще вопрос. emerge -pv --depclean показывает

text
>=x11-misc/xkeyboard-config-2.4.1-r3 pulled in by:
      x11-base/xorg-server-1.11.2-r2

как я понял не хватает пакета x11-misc/xkeyboard-config для разрешения всех зависимостей. Ну я запустил revdep-rebulid -p и он сказал, что все ок. Как я понимаю revdep-rebuild должен сам доустанавливать недостающие пакеты.

#230892

riso, покажите полностью вывод команды.
revdep-rebuild показывает, какие пакеты с «битыми» библиотеками нужно переустановить.

#230893
riso написал:
Как я понимаю revdep-rebuild должен сам доустанавливать недостающие пакеты.

Не совсем так он пересобирает пакеты с битыми библиотеками. Или я ошибаюсь?

#230898

[console]emerge -pv --depclean[/console]

text
Calculating dependencies... done!
 * Dependencies could not be completely resolved due to
 * the following required packages not being installed:
 * 
 *   >=x11-misc/xkeyboard-config-2.4.1-r3 pulled in by:
 *     x11-base/xorg-server-1.11.2-r2
 * 
 * Have you forgotten to do a complete update prior to depclean? The
 * most comprehensive command for this purpose is as follows:
 * 
 *   emerge --update --newuse --deep --with-bdeps=y @world
 * 
 * Note that the --with-bdeps=y option is not required in many
 * situations. Refer to the emerge manual page (run `man emerge`)
 * for more information about --with-bdeps.
 * 
 * Also, note that it may be necessary to manually uninstall
 * packages that no longer exist in the portage tree, since it may
 * not be possible to satisfy their dependencies.

[console]revdep-rebuild -p [/console]

text
 
 * Configuring search environment for revdep-rebuild
 * Checking reverse dependencies
 * Packages containing binaries and libraries broken by a package update
 * will be emerged.

* Collecting system binaries and libraries * Generated new 1_files.rr * Collecting complete LD_LIBRARY_PATH * Generated new 2_ldpath.rr * Checking dynamic linking consistency [ 100% ]

* Dynamic linking on your system is consistent... All done.

#230920

riso, написано, что зависимости не могут быть просчитаны, так как отсутствует требующийся для их разрешения пакет >=x11-misc/xkeyboard-config-2.4.1-r3. Возможно вы забыли провести полное обновление системы перед запуском этой команды.
Предлагается выполнить команду

text
emerge --update --newuse --deep --with-bdeps=y @world
#230924

да, это я прочел. Просто стало интересно по поводу revdep-rebuild. Кстати еще такой вопрос, как часто нужно обновлять систему, как то раз я просидел на ubuntu и не обновлял ее целый год.

#230927

riso, чем меньше промежутки между обновлениями, тем меньше проблем во время их проведения wink
P.S. Утверждение основано только на личном опыте, на истину не претендую. Вероятно, это в большей степени справедливо для домашнего компьютера и тестовой ветки. На сервере, подпишитесь на http://www.gentoo.org/security/en/glsa/ и обновляйтесь в соответствии с их рекомендациями.
...либо в крон что-либо вроде

text

glsa-check -p affected | mail root
#230937

Спасибо !

#231012

ИМХО обновление, как уборка, - каждый делает её в меру своей чистоплотности и лени...

Войдите или зарегистрируйтесь, чтобы ответить.