Ubuntu: ¿Qué están haciendo a las fuentes de vainilla?

12

Corrígeme si estoy equivocado

Hasta donde yo sé, distribuciones como Debian / Ubuntu / Fedora suelen modificar el código fuente de vainilla antes de crear un paquete. ¿Cuál es la razón detrás de estos cambios? ¿Hay algún problema con la fuente original? ¿Cómo puedo obtener la lista de cambios y la razón de los cambios realizados en un paquete en particular?

¡Gracias por la ayuda!

usuario5210
fuente

Respuestas:

18
apt-get source package

Obtendrá dos o tres archivos: tarball "original" (a veces modificado, pero raramente ... el único cambio es a menudo el nombre del archivo) - llamado * .orig.tar.gz, el debian cambia en forma de * .diff .gz y algunos metadatos. A veces falta el archivo .diff.gz: esto significa que el paquete está construido solo para debian / ubuntu, para manejar un trabajo de distribución muy específico ... como el dakque administra las cargas del archivo debian. Entonces todo el código está en el tarball original.

Las razones son múltiples: corregir errores para el software (cuando upstream no lo desea), adaptar el software a debian (por ejemplo, ajustar las rutas de los archivos). Debian quiere que todos los paquetes cumplan con el Estándar de Jerarquía de FileSystem , y este es un ajuste muy común.

El tarball original a veces no es lo mismo que el upstream creado debido a problemas de empaque. Recuerdo haber visto un programa distribuido en varios tarballs, mientras generaban un solo ejecutable: el responsable de Debian decidió hacer su propio tarball "original" que consistía en tarballs tarred upstream. La otra razón es cuando a veces el mantenedor de Debian decide agregar algún archivo binario al paquete. Es difícil poner binarios dentro del archivo .diff.gz, por lo que se modifica el tarball original (y esto generalmente se describe claramente en la documentación del paquete).

A veces (muy raramente) la licencia es el problema. Sucede que el upstream no entiende o no quiere entender las implicaciones debido a algunas licencias. Debian quiere que se resuelvan todos los problemas de licencia, por lo que sucede que los parches de Debian hacen algunas cosas específicas, o el tarball original se elimina de los archivos distribuidos ilegalmente.

También sucede que parte del contenido tiene licencia para que pueda usarlo pero no distribuirlo. Por lo general, (fe for ) msttcorefonts, flashplugin-nonfreeel paquete debian es solo una especie de instalador para un paquete, y no hay contenido original dentro del paquete.

pineEl paquete también es interesante, porque la licencia prohíbe distribuir formularios compilados. Por lo tanto, no hay pineun paquete binario, pero hay un pinepaquete fuente. Puede descargarlo utilizando el comando anterior y compilarlo en un paquete de Debian.

liori
fuente
Pino está siendo desarrollado como alpino de moverse por los problemas de licencia originales - washington.edu/pine
theotherreceive
Aún así el pinepaquete está dentro del repositorio. Pero bueno, así es como los problemas de licencia dificultan las cosas.
liori
2

Las razones son probablemente tantas como hay mantenedores y paquetes. Supongo que generalmente modifican el software para que se integre mejor con otro software en la distribución o para agregar funciones que no están en la versión "oficial".

puede obtener las fuentes (y los diferenciales específicos de ubuntu) escribiendo sudo apt-get source PACKAGENAMEen la línea de comando. Descargará las fuentes de vainilla y las diferencias del paquete al directorio actual. Por lo general, también incluyen algunos comentarios en la fuente.

Kim
fuente
1

Piénsalo de esta manera. Si instaló el programa desde el tarball fuente original a través de ./configure; make; make install, todavía tiene trabajo por hacer. Debe realizar entradas de menú, configurar archivos de configuración, etc. Puede que tenga que dar ./configureun --prefix. Los cambios de los mantenedores de la distribución a menudo equivalen a nada más que la automatización de estas tareas cotidianas.

Ryan C. Thompson
fuente