Onde exatamente todo o código-fonte no Launchpad é navegável?

8

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 eu possa substituir a última palavra com frequência depois de digitar codena minha barra de endereço. Mas, ultimamente, descobri que tem sido cada vez mais inconsistente encontrar o código de embalagem real.

Por exemplo:

  • GDM - não há nada mais novo que 15.10 (astuto) lá. Mas é claro a partir do changelog que o código de embalagens tem mudado desde então.
  • Bash - isso é interessante. Há um link para repositórios Git no Launchpad nessa página, e você pode ver embalagem para versões mais recentes. Da mesma forma para apt , bash, git, grub2, ....

Observe que não há repositórios Git listados para o pacote GDM. Outros, como GDM: bazar em si , LightDM , zsh , Chromium , ...

Para onde foi todo esse código de embalagem?

Observe que não quero fazer o download do código da embalagem, tenho apt-get sourceisso. Eu não quero procurar o código fonte do software, procuraria isso fora do LP (a menos que, é claro, o software seja desenvolvido no LP). Quero navegar on-line pelo código de embalagem do Ubuntu e poder vincular a ele. Para o Debian, geralmente posso desenterrar a embalagem no Alioth .

muru
fonte

Respostas:

11

Resposta curta: para obter tudo, você precisa baixar os pacotes de origem individualmente; não existe um serviço de navegação pública único para o Ubuntu disponível hoje em dia. Mas estamos trabalhando nisso!

Resposta longa:

O código fonte canônico para todo o Ubuntu está disponível como pacotes de origem. Você pode acessar https://launchpad.net/ubuntu/+source/hello , por exemplo, clicar em um dos números de versão e pode fazer o download dos 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 visualizar seu histórico completo de publicações e clicar em qualquer sequência de números de versão a partir daí. O mesmo padrão de URL funciona para qualquer pacote de origem; você só precisa saber o nome do pacote de origem.

Os pacotes de origem 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 difíceis de manejar; descompactar um pacote de origem precisa de algumas ferramentas. dget, do devscriptspacote, pode fazer o download, verificar e descompactar um pacote de origem em um comando se você fornecer a URL para o arquivo dsc.

Obviamente, isso não é muito conveniente.

Anos atrás, houve um esforço para melhorar isso. O Ubuntu chamou de "Desenvolvimento Distribuído do Ubuntu", 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 foram publicados. Naquele momento, você poderia encontrar teoricamente o código fonte de qualquer pacote em code.launchpad.net. Por exemplo, você ainda pode ver as fontes importadas do Bazaar para o hellopacote das versões Precise e Trusty Ubuntu em https://code.launchpad.net/ubuntu/+source/hello .

O Bazaar se concentrou 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 isso se encaixava nos outros sistemas de controle de versão distribuídos que estavam sendo desenvolvidos na época.

Com o tempo, o git conquistou o mundo e Bazaar sentou-se no banco de trás. 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 corrigir. Isso significava que, mesmo com o desenvolvimento do Ubuntu nos pacotes de código-fonte, a visão do Bazaar desses pacotes code.launchpad.netnão foi atualizada.

Eventualmente, o importador de UDD foi desativado porque ninguém a mantinha e não era considerado digno de mantê-lo funcionando.

Simultaneamente, em 2014 publiquei algumas notas sobre como estava usando o git para executar o desenvolvimento do Ubuntu ; embora na época os pacotes 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 trabalhando para disponibilizar fontes do Ubuntu por meio do git. Eu e um colega 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 maneira 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 não estamos mantendo todos os repositórios importados atualizados com o mais recente trabalho de desenvolvimento do Ubuntu. Mas onde importamos uma versão específica de um pacote, ele deve ser preciso 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 pergunta que você está fazendo: ter um único local oficial no Launchpad onde todo o código-fonte do Ubuntu possa ser navegado.

Robie Basak
fonte