Dove è esattamente tutto il codice sorgente su Launchpad sfogliabile?


8

Ho sempre trovato il browser del codice sorgente di Launchpad estremamente utile quando ho bisogno di collegarmi al codice di packaging in una risposta. Il pattern URL è abbastanza semplice ( https://code.launchpad.net/ubuntu/+source/<package>) che spesso posso semplicemente sostituire l'ultima parola dopo aver digitato la codemia barra degli indirizzi. Ma, di recente, ho scoperto che è stato sempre più incoerente trovare il codice di imballaggio effettivo.

Per esempio:

  • GDM - non c'è niente di più nuovo di 15.10 (astuto) lì. Ma dal log delle modifiche è chiaro che da allora il codice di imballaggio è cambiato.
  • Bash - questo è interessante. C'è un link ai repository Git su Launchpad in quella pagina e puoi vedere i pacchetti per le versioni più recenti. Allo stesso modo per apt , bash, git, grub2, ....

Nota che non ci sono repository Git elencati per il packaging GDM. Altri come GDM: bazar stesso , LightDM , zsh , Chromium , ...

Dov'è finito tutto quel codice di imballaggio?

Si noti che non voglio scaricare il codice dell'imballaggio, lo devo fare apt-get source. Non voglio sfogliare il codice sorgente del software, cercherei quello all'esterno di LP (a meno che, ovviamente, il software non sia sviluppato su LP). Voglio sfogliare online il codice di packaging per Ubuntu ed essere in grado di collegarlo ad esso. Per Debian, di solito riesco a scavare la confezione su Alioth .

Risposte:


11

Risposta breve: per ottenere tutto, è necessario scaricare i pacchetti sorgente singolarmente; non esiste un unico servizio di navigazione pubblica per Ubuntu generalmente disponibile oggi. Ma ci stiamo lavorando!

Risposta lunga:

Il codice sorgente canonico per tutta Ubuntu è disponibile come pacchetti sorgente. Puoi andare su https://launchpad.net/ubuntu/+source/hello , ad esempio, fare clic su uno dei numeri di versione e puoi scaricare i sorgenti dalla sezione Download. Per trovare la fonte per ogni versione di Hello mai pubblicata da Ubuntu, puoi seguire il link per visualizzare la sua cronologia di pubblicazione completa e fare clic su qualsiasi stringa del numero di versione da lì. Lo stesso modello di URL funziona per qualsiasi pacchetto sorgente; devi solo conoscere il nome del pacchetto sorgente.

I pacchetti sorgente sono canonici perché sono l'unità base con cui gli sviluppatori Ubuntu lavorano per sviluppare Ubuntu. Ma sono piuttosto ingombranti; spacchettare un pacchetto sorgente ha bisogno di alcuni strumenti. dget, dal devscriptspacchetto, può scaricare, verificare e decomprimere un pacchetto di origine in un comando se gli dai l'URL al file dsc.

Questo, ovviamente, non è molto conveniente.

Anni fa, ci fu uno sforzo per renderlo migliore. Ubuntu lo chiamò "Ubuntu Distributed Development", o UDD in breve, e sviluppò un sistema di controllo della versione distribuita chiamato Bazaar per cercare di risolvere questo problema. Come parte di questo sforzo, i pacchetti sorgente sono stati importati automaticamente nella piattaforma di hosting VCS di Bazaar su Launchpad man mano che venivano pubblicati. A quel tempo, si potrebbe teoricamente trovare il codice sorgente per qualsiasi pacchetto su code.launchpad.net. Ad esempio, puoi ancora vedere le fonti importate da Bazaar per il hellopacchetto per le versioni Ubuntu Precise e Trusty su https://code.launchpad.net/ubuntu/+source/hello .

Bazaar si è concentrato su una serie specifica di casi d'uso e aveva un'interfaccia a riga di comando molto ben ponderata. Jelmer Vernooij, uno dei suoi sviluppatori, ha scritto un'interessante retrospettiva sullo sviluppo di Bazaar , incluso il modo in cui questo si adattava agli altri sistemi di controllo della versione distribuita in quel momento.

Col tempo, Git prese il controllo del mondo e Bazaar prese posto in secondo piano. Nel frattempo, l'UDD aveva iniziato a mostrare le sue crepe. Un numero crescente di pacchetti non è riuscito a importare e per risolvere è stato necessario l'intervento manuale. Ciò significava che, anche se lo sviluppo di Ubuntu sui pacchetti sorgente continuava, la vista di Bazaar su quei pacchetti code.launchpad.netnon riusciva ad essere aggiornata.

Alla fine, l'importatore UDD è stato disattivato perché nessuno lo stava mantenendo e non si è ritenuto che valesse la pena farlo funzionare.

Allo stesso tempo, nel 2014 ho pubblicato alcune note su come stavo usando git per eseguire lo sviluppo di Ubuntu ; anche se al momento i pacchetti Ubuntu non venivano mantenuti in git in generale.

Questo flusso di lavoro basato su git è stato adottato dal mio team (il team di Ubuntu Server) e abbiamo continuato a lavorare per rendere disponibili le fonti di Ubuntu tramite git. Un collega e io abbiamo iniziato a scrivere una serie di blog (ancora incompiuta) che spiega cosa stiamo facendo.

I repository git che hai trovato per alcuni pacchetti sono il risultato del nostro importatore ( ~usd-import-team). Stiamo ancora lavorando attivamente su questo, motivo per cui non tutti i pacchetti sono ancora disponibili in questo modo. Non siamo ancora nella fase "beta", prevediamo di reimportare tutti i pacchetti prima di essere pronti (rompendo tutti gli hash di commit precedenti) e non stiamo ancora aggiornando tutti i repository importati con l'ultimo sviluppo di Ubuntu. Ma dove abbiamo importato una versione particolare di un pacchetto, dovrebbe essere abbastanza accurato da navigare.

Speriamo di accelerare l'importazione di tutti i pacchetti e di mantenerli aggiornati automaticamente nei prossimi mesi.

Uno dei nostri obiettivi è esattamente quello di risolvere la domanda che stai ponendo: avere un unico posto ufficiale su Launchpad in cui è possibile sfogliare tutto il codice sorgente di Ubuntu.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.