Wo genau kann der gesamte Quellcode auf dem Launchpad durchsucht werden?

8

Ich fand den Quellcode-Browser von Launchpad immer äußerst nützlich, wenn ich in einer Antwort einen Link zum Verpackungscode erstellen muss. Das URL-Muster ist so einfach ( https://code.launchpad.net/ubuntu/+source/<package>), dass ich oft nur das letzte Wort ersetzen kann, nachdem codeich es in meine Adressleiste eingegeben habe. In letzter Zeit habe ich jedoch festgestellt, dass es zunehmend inkonsistent ist, den tatsächlichen Verpackungscode zu finden.

Zum Beispiel:

Beachten Sie, dass für GDM-Pakete keine Git-Repositorys aufgeführt sind. Andere mögen GDM: Basar selbst , LightDM , zsh , Chrom , ...

Wo ist der ganze Verpackungscode geblieben?

Beachten Sie, dass ich den Verpackungscode nicht herunterladen möchte, den ich apt-get sourcedafür habe. Ich möchte den Software-Quellcode nicht durchsuchen, ich würde außerhalb von LP danach suchen (es sei denn, die Software wird natürlich auf LP entwickelt). Ich möchte den Verpackungscode für Ubuntu online durchsuchen und darauf verlinken können. Für Debian kann ich normalerweise die Verpackung auf Alioth ausgraben .

muru
quelle

Antworten:

11

Kurze Antwort: Um alles zu erhalten, müssen Sie die Quellpakete einzeln herunterladen. Es gibt heute keinen einzigen öffentlichen Browsing-Dienst für Ubuntu, der allgemein verfügbar ist. Aber wir arbeiten daran!

Lange Antwort:

Der kanonische Quellcode für Ubuntu ist als Quellpaket verfügbar. Sie können zu https://launchpad.net/ubuntu/+source/hello gehen , beispielsweise auf eine der Versionsnummern klicken und die Quellen aus dem Bereich Downloads herunterladen. Um die Quelle für jede Version von Hallo zu finden, die jemals von Ubuntu veröffentlicht wurde, können Sie dem Link folgen, um den vollständigen Veröffentlichungsverlauf anzuzeigen und von dort aus auf eine beliebige Versionsnummer zu klicken. Das gleiche URL-Muster funktioniert für jedes Quellpaket. Sie müssen nur den Namen des Quellpakets kennen.

Die Quellpakete sind kanonisch, da sie die Grundeinheit sind, mit der Ubuntu-Entwickler arbeiten, um Ubuntu zu entwickeln. Aber sie sind etwas unhandlich; Das Auspacken eines Quellpakets erfordert einige Werkzeuge. dgetkann aus dem devscriptsPaket ein Quellpaket in einem Befehl herunterladen, überprüfen und entpacken, wenn Sie ihm die URL zur dsc-Datei geben.

Dies ist natürlich nicht sehr praktisch.

Vor Jahren gab es Bemühungen, dies zu verbessern. Ubuntu nannte es "Ubuntu Distributed Development", kurz UDD, und entwickelte ein verteiltes Versionskontrollsystem namens Bazaar, um dieses Problem zu lösen. Im Rahmen dieser Bemühungen wurden Quellpakete bei ihrer Veröffentlichung automatisch in die Bazaar VCS-Hostingplattform auf Launchpad importiert. Zu diesem Zeitpunkt konnten Sie theoretisch den Quellcode für jedes Paket unter finden code.launchpad.net. Beispielsweise können Sie weiterhin die von Bazaar importierten Quellen für das helloPaket für die Versionen Precise und Trusty Ubuntu unter https://code.launchpad.net/ubuntu/+source/hello anzeigen .

Bazaar konzentrierte sich auf bestimmte Anwendungsfälle und verfügte über eine sehr gut durchdachte Befehlszeilenschnittstelle. Jelmer Vernooij, einer seiner Entwickler, hat eine interessante Retrospektive über die Entwicklung von Bazaar geschrieben , einschließlich der Frage, wie dies zu den anderen verteilten Versionskontrollsystemen passt, die zu dieser Zeit entwickelt wurden.

Mit der Zeit übernahm Git die Welt und Bazaar trat in den Hintergrund. Inzwischen hatte UDD begonnen, seine Risse zu zeigen. Eine zunehmende Anzahl von Paketen konnte nicht importiert werden und musste manuell behoben werden. Dies bedeutete, dass die Bazaar-Ansicht dieser Pakete unter code.launchpad.netnicht aktualisiert werden konnte, obwohl die Ubuntu-Entwicklung für Quellpakete fortgesetzt wurde .

Schließlich wurde der UDD-Importeur ausgeschaltet, weil niemand ihn wartete und es nicht wert war, ihn am Laufen zu halten.

Gleichzeitig veröffentlichte ich 2014 einige Hinweise dazu, wie ich git zur Durchführung der Ubuntu-Entwicklung verwendete . obwohl zu der Zeit Ubuntu-Pakete im Allgemeinen nicht in Git gepflegt wurden.

Dieser git-basierte Workflow wurde von meinem Team (dem Ubuntu Server-Team) übernommen und wir haben weiter daran gearbeitet, Ubuntu-Quellen über git verfügbar zu machen. Ein Kollege und ich haben begonnen, eine Blog-Serie (noch nicht fertig) zu schreiben, in der erklärt wird, was wir tun.

Die Git-Repositorys, die Sie für einige Pakete gefunden haben, sind ein Ergebnis unseres Importers ( ~usd-import-team). Wir arbeiten immer noch aktiv daran, weshalb noch nicht alle Pakete auf diese Weise verfügbar sind. Wir befinden uns noch nicht in der Beta-Phase. Wir gehen davon aus, dass wir alle Pakete erneut importieren werden, bevor wir bereit sind (alle vorherigen Commit-Hashes werden gebrochen), und halten noch nicht alle importierten Repositorys mit den neuesten Ubuntu-Entwicklungsarbeiten auf dem neuesten Stand. Wenn wir jedoch eine bestimmte Version eines Pakets importiert haben, sollte diese genau genug sein, um durchsucht zu werden.

Wir hoffen, dass wir in den nächsten Monaten alle Pakete importieren und automatisch auf dem neuesten Stand halten können.

Eines unserer Ziele ist es, genau die Frage zu lösen, die Sie stellen: einen einzigen offiziellen Ort auf dem Launchpad zu haben, an dem der gesamte Ubuntu-Quellcode durchsucht werden kann.

Robie Basak
quelle