Réponse courte: pour tout obtenir, vous devez télécharger les packages source individuellement; il n'y a pas de service de navigation publique unique pour Ubuntu généralement disponible aujourd'hui. Mais nous y travaillons!
Longue réponse:
Le code source canonique pour l'ensemble d'Ubuntu est disponible sous forme de packages source. Vous pouvez aller sur https://launchpad.net/ubuntu/+source/hello , par exemple, cliquer sur l'un des numéros de version et vous pouvez télécharger les sources depuis la section Téléchargements. Pour trouver la source de chaque version de hello jamais publiée par Ubuntu, vous pouvez suivre le lien pour afficher son historique de publication complet et cliquer sur n'importe quelle chaîne de numéro de version à partir de là. Le même modèle d'URL fonctionne pour n'importe quel package source; il vous suffit de connaître le nom du paquet source.
Les packages source sont canoniques car ils sont l'unité de base avec laquelle les développeurs Ubuntu travaillent pour développer Ubuntu. Mais ils sont quelque peu lourds; décompresser un paquet source nécessite un certain outillage. dget
, à partir du devscripts
package, peut télécharger, vérifier et décompresser un package source en une seule commande si vous lui donnez l'URL du fichier dsc.
Ce n'est bien sûr pas très pratique.
Il y a des années, il y avait un effort pour améliorer cela. Ubuntu l'a appelé "Ubuntu Distributed Development", ou UDD pour faire court, et a développé un système de contrôle de version distribué appelé Bazaar pour essayer de résoudre ce problème. Dans le cadre de cet effort, les packages source ont été automatiquement importés dans la plate-forme d'hébergement Bazaar VCS sur Launchpad lors de leur publication. À ce moment-là, vous pouviez théoriquement trouver le code source de n'importe quel paquet sur code.launchpad.net
. Par exemple, vous pouvez toujours voir les sources importées par Bazaar pour le hello
package des versions Ubuntu Precise et Trusty sur https://code.launchpad.net/ubuntu/+source/hello .
Bazaar s'est concentré sur un ensemble spécifique de cas d'utilisation et avait une interface de ligne de commande très bien pensée. Jelmer Vernooij, l'un de ses développeurs, a écrit une rétrospective intéressante sur le développement de Bazaar , y compris comment cela s'intègre aux autres systèmes de contrôle de version distribués en cours de développement à l'époque.
Avec le temps, git a conquis le monde et Bazaar a pris le siège arrière. Pendant ce temps, l'UDD avait commencé à montrer ses fissures. Un nombre croissant de packages n'a pas pu être importé et a dû être réparé manuellement. Cela signifiait que, même si le développement d'Ubuntu sur les packages source se poursuivait, la vue Bazaar de ces packages sur code.launchpad.net
n'a pas été mise à jour.
Finalement, l'importateur UDD a été désactivé car personne ne le maintenait et cela ne valait pas la peine de le faire fonctionner.
Parallèlement à cela, en 2014, j'ai publié quelques notes sur la façon dont j'utilisais git pour effectuer le développement Ubuntu ; même si à l'époque les paquets Ubuntu n'étaient pas maintenus dans git en général.
Ce flux de travail basé sur git a été adopté par mon équipe (l'équipe du serveur Ubuntu) et nous avons continué à travailler pour rendre les sources Ubuntu disponibles via git. Un collègue et moi avons commencé à écrire une série de blogs (encore inachevée) expliquant ce que nous faisons.
Les dépôts git que vous avez trouvés pour certains paquets sont le résultat de notre importateur ( ~usd-import-team
). Nous y travaillons toujours activement, c'est pourquoi tous les packages ne sont pas encore disponibles de cette façon. Nous ne sommes pas encore au stade "bêta", attendez-vous à réimporter tous les packages avant d'être prêts (rompre tous les hachages de validation précédents), et ne gardons pas encore tous les référentiels importés à jour avec les derniers travaux de développement d'Ubuntu. Mais là où nous avons importé une version particulière d'un package, elle doit être suffisamment précise pour être parcourue.
Nous espérons accélérer l'importation de tous les packages et les maintenir à jour automatiquement au cours des prochains mois.
L'un de nos objectifs est exactement de résoudre la question que vous posez: avoir un seul endroit officiel sur Launchpad où tout le code source d'Ubuntu peut être parcouru.