Guía Gentoo de Actualización a libxcb 1.4
1.
Actualizando a libxcb 1.4
Listado de Código 1.1: Actualizando los paquetes xcb |
# emerge -1 x11-proto/xcb-proto x11-libs/libxcb
# emerge -1 x11-proto/xproto x11-proto/xextproto x11-libs/libX11 x11-libs/libXext
|
Ahora tenemos todos los paquetes necesarios con el soporte para la nueva libxcb.
2.
Reparando los archivos libtool desenlazados
Mientras que la actualización de por sí esté lista y su sistema todavía
funcione, el instalar paquetes nuevos o actualizaciones podrían darnos
algunas sorpresas desagradables, dados los infames archivos .la
de libtool.
El problema es que hasta hace poco, libX11 usaba una librería libxcb
privada de nombre libxcb-xlib.so, creada específicamente para
libX11. Mientras que eso de por sí no es problema, esta mínima
librería poluía casi todos los archivos .la del sistema. Así
funciona libtool.
Ahora esto se convierte en problema ya que nuevas versiones de libxcb
ya no proporcionan esta librería (por supuesto que se hizo la
reparación correspondiente a libX11). Ahora necesitamos deshacernos de
todas las referencias a esta librería en los archivos .la.
Para hacer esto, ejecute
/usr/portage/x11-libs/libxcb/files/xcb-rebuilder.sh para
reparar todos los archivos .la del sistema.
Esta herramienta también reportará si todavía hay librerías
compartidas (archivos .so, localizados usualmente en
/lib y /usr/lib) todavía hacen referencia a la librería
desaparecida. Si la herramienta reporta paquetes desenlazados, por
favor siga leyendo y si no, está de suerte, su sistema está listo :)
3.
Reparando librerías compartidas "desenlazadas"
Para evitar echarle a perder los sistemas de los usuarios, hemos
decidido mantener libxcb-xlib.so para reparar el sistema
oportunamente, a su propio paso. Si siguió las instrucciones
anteriores, el sistema debería funcionar correctamente al momento de
construir y al ejecutar.
Antes de poder eliminar libxcb-xlib.so habrá que reconstruir
algunos paquetes. Si no lo hace, el eliminar la librería vieja
romperá el sistema.
Ejecute el siguiente guión para reconstruir un subconjunto sencillo y
efectivo de los paquetes que hayan sido potencialmente
desenlazados. No se preocupe acerca de la instalación de paquetes que
no estaban instalados antes.
Listado de Código 3.1: Primero la reconstrucción de paquetes esenciales |
# emerge --oneshot \
$(for i in x11-proto/ x11-libs/libxcb x11-libs/libX11 x11-libs/libXext \
x11-libs/libX x11-libs/xcb-util x11-libs/cairo \
x11-libs/pango x11-libs/gtk+ gnome-base/libgnomeui \
x11-libs/qt-gui; do \
qlist -IC $i; \
done) -pv
|
Una vez hecho esto, use revdep-rebuild (del paquete
app-portage/gentoolkit) para terminar de arreglar el resto del
sistema.
Listado de Código 3.2: Reconstruyendo el resto de paquetes desenlazados |
# revdep-rebuild -L libxcb-xlib.so.0
|
Cuando revdep-rebuild ya no reporte más paquetes desenlazados,
puede eliminar al archivo libxcb-xlib.so.0 con seguridad del
directorio de librerías.
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|