Cambiar las dependencias de un paquete Debian

Todo esto surgió hace un par de días por la tarde, cuando en pleno ataque versionítico me empeñé en instalar Iceweasel 4.0 (bajo el claro efecto del ‘culo veo, culo quiero’)

Comencé por probar activando los repos de mozilla-Debian:
deb http://mozilla.debian.net squeeze-backports iceweasel4.0

Pero por alguna razón que aún desconozco (quizá saturación del servidor) no había forma de descargar la clave gpg, se excedía el tiempo de conexión una y otra vez.

De paso por el IRC, el pato más famoso de esdebian me recuerda que Iceweasel 4.0 ya está en experimental, así que ni corto ni perezoso me dispongo a instalarlo desde allí. Mierda, faltan dependencias. No pasa nada, el pato me enseña como “engañar” a xulrunner (una de las dependencias fallidas) para que tome por buenas las versiones que aparecen en squeeze de los paquetes de los que depende. Total, tampoco es que haya habido un gran salto de versiones, así que debería ir bien. Pues nada, a mangonear el archivo control de xulrunner y a ver qué pasa. Bajamos el paquetito de experimental (es la versión que pide iceweasel como dependencia) y al lío:

mkdir xulrunner

Le podéis poner el nombre que os parezca, obviamente.

Extraemos el contenido del paquete en el directorio xulrunner:
dpkg-deb --extract paquete.deb xulrunner

Extraemos el archivo control y lo ubicamos en nuestro directorio xulrunner/DEBIAN:
dpkg-deb --control paquete.deb xulrunner/DEBIAN/

Y hecho esto, modificamos el control indicando las dependencias de xulrunner como las correspondientes a las versiones de los paquetes de Squeeze (podéis utilizar aptitude show o la web debian-packages para comprobar cuáles son).

Ale, a reconstruir el paquete:
dpkg-deb --build xulrunner

Por último, instalamos la versión de Iceweasel desde experimental y listo:
aptitude -t experimental install iceweasel

(Y de igual manera los paquetes de idiomas, etc.)

De primeras, todo parece funcionar bien, pero he de confesar que al segundo día Iceweasel empezó a mostrar un comportamiento algo errático, con parpadeos en la pantalla (imagino que por culpa de libcairo2, una de las dependencias cuya
versión cambiamos, pero a saber) y algún cuelgue esporádico (¿cosa del flash?).

Pero vamos, que da igual, que esto iba de explicar un poco cómo cambiar las dependencias de un paquete Debian, adaptado a un caso concreto, que siempre viene bien saberlo.

Que aproveche.

¡Un saludo!

P.D. Mis agradecimientos al pato por transmitirme una pequeña parte de su sabiduría empaquetadora 😉

 

Debish