Sempre achei o navegador de código-fonte do Launchpad extremamente útil quando preciso vincular ao código de empacotamento em uma resposta. O padrão de URL é simples o suficiente ( https://code.launchpad.net/ubuntu/+source/<package>
) para que muitas vezes eu possa apenas substituir a última palavra depois de digitar code
na minha barra de endereços. Mas, ultimamente, descobri que tem sido cada vez mais inconsistente encontrar o código real da embalagem.
Por exemplo:
- GDM - não há nada mais recente do que 15.10 (astuto) lá. Mas está claro no changelog que o código da embalagem mudou desde então.
- Bash - isso é interessante. Há um link para os repositórios Git no Launchpad nessa página, e lá você pode ver o empacotamento para versões mais recentes. Da mesma forma para apt , bash, git, grub2, ....
Observe que não há repositórios Git listados para empacotamento GDM. Outros como o próprio GDM: bazaar , LightDM , zsh , Chromium , ...
Para onde foi todo aquele código de embalagem?
Observe que não quero baixar o código da embalagem, tenho apt-get source
para isso. Não quero navegar pelo código-fonte do software, procuraria isso fora do LP (a menos, é claro, que o software seja desenvolvido em LP). Quero navegar pelo código de empacotamento do Ubuntu online e poder vinculá-lo. Para o Debian, geralmente posso desenterrar o pacote no Alioth .
Resposta curta: para obter tudo, você precisa baixar os pacotes de origem individualmente; não há um único serviço de navegação pública para o Ubuntu geralmente disponível hoje. Mas estamos trabalhando nisso!
Resposta longa:
O código-fonte canônico para todo o Ubuntu está disponível como pacotes-fonte. Você pode acessar https://launchpad.net/ubuntu/+source/hello , por exemplo, clicar em um dos números de versão e baixar os fontes na seção Downloads. Para encontrar a fonte de todas as versões do hello já publicadas pelo Ubuntu, você pode seguir o link para ver seu histórico de publicação completo e clicar em qualquer string de número de versão a partir daí. O mesmo padrão de URL funciona para qualquer pacote fonte; você só precisa saber o nome do pacote fonte.
Os pacotes fonte são canônicos porque são a unidade básica com a qual os desenvolvedores do Ubuntu trabalham para desenvolver o Ubuntu. Mas eles são um tanto pesados; desempacotar um pacote fonte requer algumas ferramentas.
dget
, dodevscripts
pacote, pode baixar, verificar e descompactar um pacote de origem em um comando se você fornecer a URL para o arquivo dsc.Claro que isso não é muito conveniente.
Anos atrás, houve um esforço para melhorar isso. O Ubuntu o chamou de "Ubuntu Distributed Development", ou UDD para abreviar, e desenvolveu um sistema de controle de versão distribuído chamado Bazaar para tentar resolver esse problema. Como parte desse esforço, os pacotes de origem foram importados automaticamente para a plataforma de hospedagem Bazaar VCS no Launchpad à medida que eram publicados. Naquela época, teoricamente, você poderia encontrar o código-fonte de qualquer pacote em
code.launchpad.net
. Por exemplo, você ainda pode ver as fontes importadas do Bazaar para ohello
pacote dos lançamentos Precise e Trusty do Ubuntu em https://code.launchpad.net/ubuntu/+source/hello .O Bazaar se concentrava em um conjunto específico de casos de uso e tinha uma interface de linha de comando muito bem pensada. Jelmer Vernooij, um de seus desenvolvedores, escreveu uma retrospectiva interessante sobre o desenvolvimento do Bazaar , incluindo como ele se encaixou com os outros sistemas de controle de versão distribuída desenvolvidos na época.
Com o tempo, o git dominou o mundo e o Bazaar ficou em segundo plano. Enquanto isso, a UDD começou a mostrar suas rachaduras. Um número crescente de pacotes falhou ao importar e precisou de intervenção manual para corrigi-los. Isso significava que, mesmo com o desenvolvimento do Ubuntu nos pacotes de origem, a visualização Bazaar desses pacotes
code.launchpad.net
falhava em ser atualizada.Eventualmente, o importador UDD foi desligado porque ninguém o estava mantendo e não valia a pena mantê-lo funcionando.
Simultaneamente a isso, em 2014 publiquei algumas notas sobre como eu estava usando o git para executar o desenvolvimento do Ubuntu ; mesmo que na época os pacotes do Ubuntu não estivessem sendo mantidos no git em geral.
Esse fluxo de trabalho baseado em git foi adotado por minha equipe (a equipe do Ubuntu Server) e continuamos a trabalhar para disponibilizar as fontes do Ubuntu por meio do git. Um colega e eu começamos a escrever uma série de blogs (ainda inacabada) explicando o que estamos fazendo.
Os repositórios git que você encontrou para alguns pacotes são resultado do nosso importador (
~usd-import-team
). Ainda estamos trabalhando ativamente nisso, e é por isso que nem todos os pacotes estão disponíveis dessa forma ainda. Ainda não estamos no estágio "beta", esperamos reimportar todos os pacotes antes de estarmos prontos (quebrando todos os hashes de confirmação anteriores) e ainda não estamos mantendo todos os repositórios importados atualizados com o último trabalho de desenvolvimento do Ubuntu. Mas onde importamos uma versão específica de um pacote, ela deve ser precisa o suficiente para navegar.Esperamos acelerar a importação de todos os pacotes e mantê-los atualizados automaticamente nos próximos meses.
Um dos nossos objetivos é exatamente resolver a questão que você está fazendo: ter um único local oficial no Launchpad onde todo o código-fonte do Ubuntu possa ser navegado.