Prefiero Empaquetar RPM Antes Que Debian

por | 21 febrero, 2010

Hola, supongo que ya llevo una cantidad razonable tanto de tiempo como de programas empaquetados en rpm y deb como para poder tener una opinión de ambos formatos, aun no siendo empaquetador oficial de ambos. La cuestión es que después de muchos programas empaquetados prefiero el formato RPM, y las razones (entre otras) son:

  1. Con rpm sólo nos hace falta un fichero .spec para especificar todas las órdenes para empaquetarlos; mientras que en Debian son multitud de ficheros: el control para la descripción del paquete/s, las dependencias, la versión, arquitectura, sección, mantenedores, etc… Luego el fichero rules en donde especificamos como compilar e instalar el programa, si lo debemos dividir en varios paquetes y como quedan divididos, el uso de todos los dh-scripts necesarios. Luego necesitamos tantos ficheros de tipo dirs  e installs como subpaquetes tenga el programa a empaquetar, especificando en cada uno de ellos las rutas en donde quedarán instalados todos los ficheros. Bueno por no contar los tropocientos README, Changelog, los emacs* (casi nunca utilizados), etc, etc… Todo eso con rpm lo podemos tener en el mismo fichero spec de forma clara y concisa, ya que viene por secciones.
  2. Debian tiene no se cuántos métodos diferentes de empaquetación: pbuilder, cdbs, dpkg, etc… y ninguno de ellos viene con un tutorial claro de cómo empaquetar programas multipaquetes, los empaquetadores oficiales de Debian y Ubuntu no dan instrucciones sobre ello claras y concisas, es como que no quieren hacerlo. Bueno los de Ubuntu, muchos de ellos ni saben, sólo toman prestados los ficheros de empaquetado de Debian.
  3. En Debian se tiende demasiado al multipaquete, una táctica a día de hoy totalmente obsoleta, ya que los ordenadores de hoy en día cuentan con suficiente capacidad en el disco duro como para poder instalar todo. Sólo veo útil el multipaquete para separar el programa de sus librerías de desarrollo, pero no lo veo útil para separar otras características de los programas, como documentación, archivos e-macs, etc. Además, lo vería útil si la multiempaquetación vieniese lo suficientemente documentada, cosa que no sucede.
  4. Otra cosa que no me gusta, es que cada empaquetador se saca su propia forma de empaquetar dentero de un mismo método, con lo que todo se convierte en un caos tremebundo.
  5. Lo de que los debs son más seguros y fiables que los rpm es algo de lo que me parto de risa. Los paquetes como tales son igual de seguros, ambos se pueden firmar de la misma forma en los repositorios, pasarles el md5sums y lo que quieras; de hecho eso es lo que se hace.  Otra cosa es el control que se lleven de los paquetes por parte de los empaquetadores oficiales y la seguridad de los repositorios, y eso es obvio que no tiene nada que ver con los paquetes en sí.  Y otra cosa es qué es más seguro si rpm o apt, pero eso no compete al empaquetador, sino al/los desarrollador/es de rpm y apt.
  6. La estructura de los directorios para empaquetar RPMS es mucho más clara. tenemos más directorios, sí, pero cada uno cumple su función, swólo se crean una vez y tú sólo pones a manos las fuentes en SOURCES y el .spec en SPECS, todo lo demás se encarga el rpmbuild de hacerlo siguiendo las órdenes del .spec. En Debian debes crear multitud de ficheros (e incluso directorios) a mano. Sirva de ejemplo que al empaquetar Octave 3.2.4 al estilo Debian llevo casi 100 ficheros creados y 2 directorios más. Con RPM sólo me ha hecho falta un fichero .spec, 2 parches y el icono del lanzador. Octave 3.2.4 ya hace días que esta empaquetado en rpm para Mandriva, con Ubuntu llevo dos días y no sale del caos que hay montado por seguir el método Debian de un empaquetador oficial de Debian.

Esto que escribo no sigue crear ninguna polémica, sólo es dar mi opinión del caos en el que hay que adentrarse para empaquetar debs, cuando con rpm sólo necesitamos un fichero .spec mas los parches (si los hay) del programa y ficheros externos (como lanzadores, iconos para los lanzadores, etc).

En fin, seguiré empaquetando  para ambas distros, porque me gusta usar Ubuntu y Mandriva, pero hacer debs la mayoría de las veces resulta muy engorroso, costoso, etc

Saludos

5 pensamientos en “Prefiero Empaquetar RPM Antes Que Debian

  1. Alejandro

    Yo sigo rezando por el día en que se dejen de gilipolleces y decidan de una vez por todas tomar un sistema de paquetería unificado. Ese día, TODAS las distros darán un salto de gigante porque: se podrían usar repositorios comunes (los de Mandriva valdrían para Ubuntu y cualquier otra distro, lo que sería muy bueno), se ahorraría el trabajo de empaquetamiento a menos de la mitad (la misma versión de un paquete no se empaqueta solo una vez, sino miles de veces, lo que es un trabajo absurdo). En fin muchísimas ventajas. Yo aprendí a hacer rpm en una tarde, pero deb no aprendí en unos 3 días ni creo que ya lo haga. Coincido contigo en que rpm es más fácil, pero me aburre ver tanta pasividad por un tema que debería ser la prioridad número 1.

  2. protion9

    Muy interesante Cristobal.

    Llevo ya largos meses cacharreando en openSUSE, por probar una distribución rpm y la verdad es que me ha parecido rápida y sin ningún problema de dependencias. Ahora tengo preparadita una Mandriva 2010 para echarle el ojo (me he cargado openSUSE instalando KDE 4.4. Niños, no toqueis el escritorio estándar que te viene en el sistema, :P). La verdad es que rpm ya no tiene nada que envidiar a deb.

    Un saludo.

  3. sanatas

    Buenas

    No se empaquetar rpm así que solo te voy a rebatir el punto 3 Debian no solo está para las aquitecturas típicas de i386 o amd64 tiene muchas otras (arm, mips, sparc…) y en las que si que importa el tamaño de la instalación.

    Y desde el punto de vista de usuario en la velocidad y el manejo de dependencias me parecen mejor los deb que los rpm.

  4. Cristobal

    @Alejandro->Jejeje, no olvido tu inestimable ayuda para rpm. Muy de acuerdo contigo con lo de unificarlo en un único formato; pero ya han habido varios intentos y nada
    @Protion9->Ahora mismo llevo la Mandriva 2010.0 con KDE4.4.0, de lujo
    @Sanatas->Bueno, a ver cómo te lo excplico debian empaqueta para arquitecturas que son minoritarias. Ten en cuenta, que empaquetar no es mas que comprimir los binarios de un programa con una pre-especificación de ruta de instalación mas algunos scripts.
    Todo lo de que se haga para sparc, por poner un ejemplo en sí, se hace en la compilación, con lo del configure, make etc.
    Después con un sencillo script se puede hacer desde el rules que para sparc un determinado programa sea multipaquete.
    Pero ya digo, los multipaquetes es un abuso de uso en Debian, que deberían de acabar de raíz, y si no, pues que saquen tutoriales decentes de cómo multiempaquetar, porque me da la sensación de que no quieren hacerlo.
    Sé que eres un ferviente defensor de Debian así que va a ser difícil convencerte jejejeje. Pero fíjate en ArchLinux, si no fuese por su difícil instalación ya me la habría agenciado sin máquina virtual

  5. sanatas

    Reconozco que la distro que más me gusta y más tiempo he usado ha sido debian pero ahora mismo tengo una fedora 11 y estoy muy contento. Hasta mayo que no salga la 13 no tengo intención de cambiarme.
    Eso de que empaquetar para minorías que decirte usando linux :p
    Y lo de probar arch si te gusta hazlo. Si es difícil a base de ensayo error seguro que lo consigues :d porque supongo que no tendrás nada que te importe perder en un solo disco duro sin copia de seguridad.

Los comentarios están cerrados.