Con este empiezo una serie de articulos sobre sistemas de distribución de software. Hoy le toca al viejo conocido .deb. Todo aquel que ha probado apt sabe el gustirrinÃn que da usarlo 🙂 Pero claro, hay ocasiones en las que al salirnos de los repositorios oficiales de nuestra distro la cosa no va tan bien.
Un ejemplo. Como sabréis a estas alturas, en mi portatil (un apple powerbook) tengo instalada Ubuntu (Breezy ahora mismo) por que me parece que lleva lo mejor de Debian a un entorno de escritorio. En Universe (repositorio no oficial de Ubuntu) los MOTUs, maestros del universo, añaden cantidad de software muy interesante. Pero faltan algunas cosas, como cinelerra. La verdad es que cinelerra es para dar de comer aparte 🙂 Bueno, que me lio. El tema es que unos debs que han hecho la gente de cvs.cinelerra.org para distintas distros y distintas arquitecturas no cubre la combinacion Ubuntu/PPC. Lo mas cercano que hay es Debian/PPC.
Si añadimos el repositorio de cinelerra (garbure) a nuestra Ubuntu y tratamos de instalar cinelerra nos dira:
sudo apt-get install cinelerra . . . Los siguientes paquetes tienen dependencias incumplidas: cinelerra: Depende: libopenexr2 (>= 1.2.2) pero no es instalable E: Paquetes rotos
Y esto se debe a que en Ubuntu el paquete se llama libopenexr2c2. Por solo esa tonterÃa no podemos usar estos paquetes. Asà que vamos a hacer un pequeño hack: reconstruir el paquete deb de cinelerra cambiandole las dependencias.Agarrense que vienen curvas 🙂
1.- Nos bajamos el deb original de http://garbure.org/debian/pool/main/c/
wget http://garbure.org/debian/pool/main/c/cinelerra_1.2.2-3cvs20050618_powerpc.deb
2.-Extraemos la informacion
mkdir -p cinelerra_1.2.2-3cvs20050618_powerpc/DEBIAN dpkg -e cinelerra_1.2.2-3cvs20050618_powerpc.deb cinelerra_1.2.2-3cvs20050618_powerpc/DEBIAN/
3.- Ahora extraemos los ficheros del paquete al mismo directorio:
sudo dpkg -x cinelerra_1.2.2-3cvs20050618_powerpc.deb cinelerra_1.2.2-3cvs20050618_powerpc/
4.- Ahora tenemos un dir con el contenido del paquete y el fichero DEBIAN/control que debemos editar
ls cinelerra_1.2.2-3cvs20050618_powerpc -l total 8 drwxr-xr-x 2 patataman patataman 4096 2005-06-18 11:38 DEBIAN drwxr-xr-x 5 root root 4096 2005-06-18 11:37 usr vim cinelerra_1.2.2-3cvs20050618_powerpc/DEBIAN/control (buscamos libopenexr2 y lo cambiamos por libopenexr2c2)
5.-Regeneramos el deb
mkdir old mv cinelerra_1.2.2-3cvs20050618_powerpc.deb old sudo dpkg -b cinelerra_1.2.2-3cvs20050618_powerpc dpkg-deb: construyendo el paquete `cinelerra' en `cinelerra_1.2.2-3cvs20050618_powerpc.deb'. ls -l total 10280 drwxr-xr-x 4 root root 4096 2005-11-17 16:12 cinelerra_1.2.2-3cvs20050618_powerpc -rw-r--r-- 1 root root 10499528 2005-11-17 16:13 cinelerra_1.2.2-3cvs20050618_powerpc.deb drwxr-xr-x 2 patataman patataman 4096 2005-11-17 16:10 old
Voila!
Ahora lo podemos instalar con dpkg, pero se nos quejara de dependencias incumplidas, que arreglaremos con apt (hay que añadir la fuente de garbure antes)
sudo dpkg -i cinelerra_1.2.2-3cvs20050618_powerpc.deb sudo apt-get -f install
Por cierto, lo tendrÃa que haber dicho antes, pero haciendo estas cosas podemos dejar el sistema de paquetes en un estado inconsistente, vamos, que podemos dejarlo inútil! Asà que ojito, que yo no me responsabilizo de la caida de cabello producida por este texto 🙂
thank you very much, you helped me a lot! I’ll do a translation in my language (italian) and i’ll give you credit! come check to my blog 🙂 thanks!
I’m very happy if my post has been usefull for you, mat. And I want to thank you for the translation to Italian.
If you don’t understand some expresion of the post or if you have any cuestion, I’ll happily answer them in this blog or in moebius_AT_etxea.net.
Thanks again.