Noticia Crea paquetes rpm y deb desde cualquier distribución Linux!


La creación de paquetes o empaquetado puede ser fácil y divertido...

Una de las desventajas de usar alguna distribución es la carencia de paquetes, en estos casos lo mediato es que nos pongamos a compilar el codigo fuente del programa en question, algo no practico y sencillo para alguien que inicia en Linux, y otros factores que imposibiliten su compilación en la distribución destino. Para solventar estas carencias tenemos fpm Gestión de paquetes Effing! quien construye paquetes para múltiples plataformas (deb, rpm, etc) con gran facilidad y cordura.
Pero que mas claro que ver la presentación sobre que es realmente http://goo.gl/sWs3Z

2 ejemplos donde usted podría usar fpm

Ejemplo 1
Yo tenia un paquete que cree en rpm en Fedora, y quería instalarselo a una amiga en su Ubuntu, muchos dirían "usa alien" Alien no siempre hará las cosas bien, en Alien usted no puede crear un paquete digamos si tiene un pc de 64 bits (x86_64) a 32 bits (i386), aunque lo force.
Ejemplo 2Encontré un programa que no existe en mi distribucion, y no se absolutamente nada sobre empaquetamiento o simplemente no tengo el tiempo para crear el paquete de forma normal.
Si usted se indentifica con cualquiera de los dos ejemplos, la solucion es muy sencilla.

¿Cómo instalo fpm?


Instalamos dependencias

Ubuntu

sudo apt-get -y install ruby-dev rpm2cpio

Fedora

su -c 'yum -y install ruby-devel binutils'

Instalamos fpm

gem install fpm

USO

Tengo un rpm o deb

Desde una terminal
mkdir /tmp/installdir

cd /tmp/installdir
Extraemos nuestro rpm (caso sea .rpm)

Formato
rpm2cpio /path/to/file.rpm | cpio -i --make-directories
Suponiendo que tengo un rpm de App Inventor, appinventor-1.1-1.fc20.x86_64.rpm en mi directorio personal (HOME)

rpm2cpio $HOME/appinventor-1.1-1.fc20.x86_64.rpm | cpio -i --make-directories

Extraemos nuestro deb (caso sea .deb)
ar vx $HOME/appinventor-1.1_amd64.deb

tar -xzvf data.tar.gz && rm -f control.tar.gz data.tar.gz debian-binary

Creamos nuestro deb (caso querramos un deb)




Creamos nuestro rpm (caso querramos un rpm)




Explicación
Simplemente usted deberá cambiar los datos anteriores dependiendo su nombre, email, nombre del programa, versión, descripción del programa, etc. siempre respetando todas las comillas, y guiones.

La ruta al final "usr/google/appinventor/" debe ser cambiada dependiendo la estructura del paquete extraida en la ruta /tmp/installdir; si se observa el "usr" no inicia con "/" todas las rutas finales que incluyas deberán ir de esa manera.

Podemos crear también nuestro rpm o deb con las lineas de fpm anteriores, compilando código fuente siempre y cuando, creando como ruta de instalacion en "/tmp/installdir" no olvidando incluir toda dependencia para que corra el programa que por lo general seria la opcion -d

Ejemplos

-d 'java'

-d 'java >= 6'

-d 'java = 6'
Algo mas claro?, nada del otro mundo veamos el wiki cada opción de las lineas anteriores tienen su función descrita en el wiki y opciones mas avanzadas.


Referencias:
https://github.com/jordansissel/fpm

Enlace a la fuente original: Crea paquetes rpm y deb desde cualquier distribución Linux!

Continúar leyendo...