Ubuntu: Que font-ils aux sources de vanille?

12

Corrigez-moi si je me trompe

Autant que je sache, les distributions comme Debian / Ubuntu / Fedora modifient généralement le code source vanilla avant de créer un paquet. Quelle est la raison de ces changements? Y a-t-il un problème avec la source d'origine? Comment puis-je obtenir la liste des modifications et la raison de ces modifications apportées à un package particulier?

Merci pour l'aide!

user5210
la source

Réponses:

18
apt-get source package

Vous obtiendrez deux ou trois fichiers: l'archive tar "originale" (parfois modifiée, mais rarement ... le seul changement est souvent le nom du fichier) - nommé * .orig.tar.gz, le debian change sous forme de * .diff Fichier .gz et quelques métadonnées. Parfois, le fichier .diff.gz est manquant: cela signifie que le paquet est construit uniquement pour debian / ubuntu, pour gérer un travail de distribution très spécifique ... comme celui dakqui gère les téléchargements des archives debian. Ensuite, tout le code est dans l'archive tar d'origine.

Les raisons sont multiples: correction de bugs pour les logiciels (lorsque l'amont ne le veut pas), adaptation des logiciels à debian (par exemple, ajustement des chemins de fichiers). Debian veut que tous les paquets soient conformes à la norme de hiérarchie FileSystem , et c'est un ajustement très courant.

L'archive tar d'origine n'est parfois pas la même que celle créée en amont en raison de problèmes d'emballage. Je me souviens avoir vu un programme distribué dans plusieurs tarballs, alors qu'ils ne généraient qu'un seul exécutable - le responsable Debian a décidé de créer son propre tarball «original» composé de tarballs amont goudronnés. L'autre raison est que parfois le responsable Debian décide d'ajouter un fichier binaire au paquet. Il est difficile de mettre des binaires dans le fichier .diff.gz, donc l'archive tar originale est modifiée (et cela est généralement clairement décrit dans la documentation du paquet).

Parfois (très rarement) la licence est le problème. Il arrive que l'amont ne comprenne pas ou ne veuille pas comprendre les implications dues à certaines licences. Debian veut que tous les problèmes de licence soient résolus, il arrive donc que les correctifs Debian fassent certaines choses spécifiques, ou que l'archive tar originale soit supprimée des fichiers distribués illégalement.

Il arrive également que certains contenus soient sous licence afin que vous puissiez les utiliser mais pas les distribuer. Habituellement (par exemple msttcorefonts, flashplugin-nonfree) le paquet debian n'est qu'une sorte de programme d'installation pour un paquet, et aucun contenu original n'est à l'intérieur du paquet.

pinepackage est également intéressant, car la licence interdit de distribuer des formulaires compilés. Par conséquent, il n'y a pas de pinepackage binaire, mais il existe pineun package source. Vous pouvez le télécharger en utilisant la commande ci-dessus et le compiler dans un paquet debian pour vous-même.

liori
la source
Pine est en cours de développement en tant qu'alpin pour contourner les problèmes de licence d'origine - washington.edu/pine
theotherreceive
Le pinepackage est toujours à l'intérieur du référentiel. Mais bon, c'est ainsi que les problèmes de licence rendent les choses plus difficiles.
liori
2

Les raisons sont probablement autant de fois qu'il y a de mainteneurs et de packages. Je suppose que généralement ils modifient le logiciel pour qu'il s'intègre mieux avec d'autres logiciels dans la distribution ou pour ajouter des fonctionnalités qui ne sont pas dans la version "officielle".

vous pouvez obtenir les sources (et les différences spécifiques à ubuntu) en tapant sudo apt-get source PACKAGENAMEsur la ligne de commande. Il téléchargera les sources vanilla et les différences du paquet dans le répertoire courant. Ils incluent généralement également des commentaires dans la source.

Kim
la source
1

Pense-y de cette façon. Si vous avez installé le programme à partir de l'archive tar source d'origine via ./configure; make; make install, vous avez encore du travail à faire. Vous devez faire des entrées de menu, vous devez configurer des fichiers de configuration, etc. Vous devrez peut-être donner ./configureun --prefix. Les changements des mainteneurs de distribution ne représentent souvent rien de plus que l'automatisation de ces tâches banales.

Ryan C. Thompson
la source