Hacer un paquete Debian rápidamente con Alien
(18533 lectures)
Por Paco Ros
Paco
(http://pacoros.wordpress.com)
Creado el 08/09/2003 20:06 modificado el 08/09/2003 20:06
|
En ocasiones queremos instalar un programa que sólo se encuentra disponible en tar.gz conteniendo o bien los binarios o bien el código fiente.
Una vez compilado, si hacemos un "make install" dejamos binarios desperdigados por el disco y fuera del control de paquetes. Lo que propongo a continuación es un truco para hacer un paquete rápidamente y que ese software quede reflejado como instalado en el repositorio apt. |
Pagina1/1 |
El truco es muy sencillo y voy a ilustrarlo con un ejemplo.
Ayer bajé los fuentes de kbiff desde la página del autor. No encontraba un paquete Debian compilado para KDE 3.1 (sí que está disponible paa la versión 3.2) y, si instalaba el código fuente, luego, cuando en Sid esté disponible el kbiff para KDE 3.2, no se me actualizaría automáticamente.
Estos son los pasos que seguí:
1.- Crear un directorio $HOME/tmp:
$ mkdir $HOME/tmp
2.- Copiar los fuentes al directorio:
$ cp kbiff-3.6.3.tar.bz2 $HOME/tmp
3.- Ir al directorio y descomprimir los fuentes:
$ cd $HOME/tmp ; tar zxvf kbiff-3.6.3.tar.gz
4.- Entrar en el directorio kbiff:
$ cd kbiff-3.6.3
5.- Crear un directorio /usr en /tmp:
$ mkdir /tmp/usr/
6.- Ejecutar el configure diciéndole que el "prefix" sea /tmp/usr. Esto provoca que, al instalarlo vaya todo a parar a /tmp/usr:
$ ./configure --prefix=/tmp/usr --with-qt-dir=/usr/share/qt3
Si os falta alguna librería, aquí el configure os debería avisar. No os debería faltar nada que no esté disponible vía apt-get install.
El siguiente paso (7) es ejecutar make:
$ make
8.- Y luego make install
$ make install
Ahora deberíamos tener la estructura de directorios adecuada en /tmp/usr:
$ ls /tmp/usr
bin lib man share
9.- Con la estructura de directorios correcta, tenemos que ir a /tmp y crear un ".tar.gz" con el directorio usr:
$ cd /tmp ; tar zcvf kbiff-3.6.2.tar.gz usr
Hasta aquí nada fuera de lo normal en una compilación cualquiera. Hemos hecho el make install en un directorio a parte (/tmp/usr) y, además, no hemos necesitado privilegios de root en ningún momento.
Ahora sólo queda convertir el ".tar.gz" en un paquete Debian. Para ello sí que necesitaremos privilegios de root (podemos usar sudo o fakeroot perfectamente)
# alien kbiff-3.6.3.tar.gz
¡Y listos! Ya podemos instalar nuestro paquete recién creado usando dpkg:
# dpkg -i kbiff_3.6.3-2_all.deb
Así de fácil, con Alien sólo tenemos que tomar un "tar.gz" que contenga cada fichero en su sitio dentro del árbol de directorios y convertirlo en .deb.
Por supuesto, los paquetes Debian dan mucho más de sí. Con este método, no podemos, por ejemplo, incluir scripts de post-instalación, o llamar a dselect para que configure otros programas, pero es una manera rápida de tener organizado el software que instalemos. Incluso se puede mejorar añadiendo entradas para el menú de KDE (los ficheros .desktop).
Si alguien quiere adentrarse en el "maravilloso mundo de los paquetes Debian" puede leerse esto:
- Guía del nuevo desarrollador de Debian
- Este artículo de esdebian
|
|
|
|
|
|
Comentarios Es posible que se hayan omitido algunos comentarios considerados poco constructivos
|
1. Crack (08/09/2003 20:29, #16978) Por: El cobarde anónimo |
Bon article!! Comentar-te que personalment uso una variable per a instal·lar programari a un lloc en concret:
make install DESTDIR=/ruta_al_directori
|
|
2. Re: Hacer un paquete Debian rápidamente con Alien (08/09/2003 21:25, #16981) Por: kyle (http://linuca.org) |
| en realidad, es más fácil 0:-) |
|
3. Re: Hacer un paquete Debian rápidamente con Alien (08/09/2003 21:48, #16986) Por: Switch |
¡Hey!
¡Muy bueno eso! Esta no me la sabía... ¿No te animas a puner un "truco"?
Gracias por el enlace.
Saludos |
|
|
4. Re: Hacer un paquete Debian rápidamente con Alien (08/09/2003 21:43, #16985) Por: El cobarde anónimo |
| Yo uso alien para pasar de rpm a deb, y checkinstall para crear debs apartir de las fuentes, te deja hasta ponerle una descripcion al paquete
Salu2 |
|
5. Re: Hacer un paquete Debian rápidamente con Alien (10/09/2003 01:26, #17028) Por: tcb (http://thebigpig.org) |
| Ei! el checkinstall ese está muy bien. |
|
|
|
|
7. Re: Hacer un paquete Debian rápidamente con Alien (08/09/2003 21:59, #16989) Por: suy (http://lacurva.net) |
Merci por el artículo.
A veces, para los programas kde en concreto, el hacer un paquete debian es muy fácil, ya que tienen un directorio debian/ en repositorio (almenos sí todos los que están en el repositorio de kde). En esos casos, basta con hacer dpkg-buildpackage -rfakeroot -us -uc y tendréis un paquete debian, sin peros.
Y aún más perro todavía, como instalar programas sin ser root, usando un directorio $HOME/local creado a tal efecto.
Saludos. |
|
8. checkinstall (09/09/2003 01:35, #17001) Por: El cobarde anónimo |
No solo permite hacer debs, sino paquetes slackware y rpm's de forma rápida y segura. donde harías un make install, ejecutas checkinstall y listo.
De todas maneras hacer un paquete deb no es tan dificil, buscar en google "making debian packages easy way". |
|
9. Te corrijo (09/09/2003 12:31, #17011) Por: El cobarde anónimo |
| Hacer un paquete deb es facilísimo, aunque hacerlo correctamente (como en uno de oficial) tiene sus horas de lectura y arendizaje. |
|
|
10. Re: Hacer un paquete Debian rápidamente con Alien (11/09/2003 02:04, #17044) Por: El cobarde anónimo |
| Solo un pequeño detalle, (uso Alien version 8.34)
:/tmp# alien loque-sea-0.1.gz
Unknown type of package, loque-sea-0.1.gz.
en cambio
:/tmp# alien loque-sea-0.1.tgz
loque-sea_0.1-2_all.deb generated
que cosas... ;-) |
|
11. Re: Hacer un paquete Debian rápidamente con Alien (13/09/2003 21:21, #17101) Por: El cobarde anónimo |
| ¿Funciona luego bien a pesar de usar --prefix=/tmp/usr? Es decir, ¿no busca las librerias en /tmp/usr/lib, etc? |
|