¿Compilado o empaquetado?

Esto es un debate que puede ser interesante en el foro. Antes que nada, me gustaría pedir que se tratase de la forma más civilizada posible este tema.

Bien, el motivo de lanzar esto, es porque hace tiempo encontré en GitHub el código fuente de Wolfenstein 3D junto a otras joyas de ID Software como RtCW, Enemy Territory, Quake, Doom… Con tal de revivir viejos tiempos, me descargué el código del Doom original, lo compilé y traté de ponerlo a funcionar en Debian. Esto me dio la idea de empaquetarlo y crear un .deb, solo por diversión/aprendizaje, además de hacerme pensar: ¿que motivos hay para compilar un paquete desde el código fuente, además de querer modificar este o que no esté en los repositorios oficiales? Este último caso me ocurría a mi con Wine :grinning:

Así que, ¿vosotros compiláis desde la fuente? ¿Por qué motivo?

Hola ,

Depende de como esté estructurado el mundo del SO en cuestión.
No todos los SO disponen de binarios ( lo que tu llamas empaquetados ).
Cierto es que en la mayoría de los sabores de GNU/Linux existen binarios y, el software que, no esté portado, necesitarás compilarlo a mano o usar recopilaciones de fuentes del tipo pkgsrc1.

Tirar de compilación siempre requiere una inversión de tiempo, bien sea en compilar o, en buscar las dependencias si no estan satisfechas, por eso mejor binarios si estan disponibles.

Saludos.

1 me gusta

Si hay paquete compilado de distribución, con especificación de dependencias y demás, y está compilado con las opciones que necesito (que normalmente sí, aunque en algunas ocasiones no como Tora para usar con Oracle), prefiero paquete compilado.

Fundamentalmente por comodidad de instalación, gestión de dependencias, actualización, manejo de alternativas, y en su caso, desinstalación.

El otro día me instalé GNU Guix[1] en una MV, y todo (creo o sino casi todo) se compila en el momento de la instalación (que como es normal, tarda un huevo).

Respecto a Doom, creo que viene en la distro[2] sin necesidad de generar .deb:

$ apt search --names-only '^doom'
Ordenando... Hecho
Buscar en todo el texto... Hecho
doom-wad-shareware/testing,unstable 1.9.fixed-2 all
  Shareware game files for the 3D game Doom

doomsday/testing,unstable 1.15.7-2 amd64
  enhanced version of the legendary DOOM game

doomsday-common/testing,unstable 1.15.7-2 amd64
  enhanced version of the legendary DOOM game - common files

doomsday-data/testing,unstable 1.15.7-2 all
  enhanced version of the legendary DOOM game - data files

doomsday-server/testing,unstable 1.15.7-2 amd64
  enhanced version of the legendary DOOM game - server

[1]: GNU Guix: https://www.gnu.org/software/guix/.
[2]: Doom en Debian: https://wiki.debian.org/Games/Doom.

1 me gusta

Sip, pero como he mencionado arriba, solo por diversión/aprendizaje. De hecho, hay varios Doom-based en Debian (o solía haberlos en el foro de Debian.es DEP).

En lo personal, me suele dar una pereza tremenda tener que compilar yo mismo el paquete, y solo llego a ese punto si requiero una versión que no está en los repositorios (como Wine, que en Debian testing solía estar muy desactualizado).

1 me gusta

Esos ni los cuento xD

Eso es relativo. Normalmente las actualizaciones son para corregir fallos de estabilidad y/o seguridad. Otro gallo cantaría si hablásemos de estable a beta.

Arch y OpenSUSE tienen unos servicios muy guays para empaquetar y lanzar tu código desde la nube directamente. En Debian me costó hacerlo un poco más a pelo, en la wiki hay info sobre el tema

https://wiki.debian.org/HowToPackageForDebian

Estoy de acuerdo con @Andy .

So ya está el binario, salvo que necesite modificarlo, se usa. Además hay que añadir que los binarios de la distro pueden traer parches que solucionen bugs o incompatibilidades con esta.

Las ventajas de compilarlo, más allá del reto, puede ser optimizar y activar / desactivar ciertas opciones. Creo que Gentoo en esto es el amo. Yo lo usé durante años. Se tardaba la vida en instalar cualquier cosa pero lo podías configurar al gusto

2 Me gusta