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> ) e muitas vezes eu só posso 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 de embalagem real.

Por exemplo:

  • GDM - não há nada mais recente do que 15.10 (astuto) ali. Mas está claro no o changelog que o código de empacotamento mudou desde então.
  • Bash - isso é interessante. Há um link para repositórios Git no Launchpad nessa página e você pode ver as embalagens para lançamentos 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 o GDM: próprio bazar , LightDM , zsh , Chromium , ...

Para onde foi todo esse código de embalagem?

Note que não quero baixar o código de empacotamento, tenho apt-get source para isso. Eu não quero procurar o código-fonte do software, eu olharia fora do LP para isso (a menos, é claro, que o software seja desenvolvido em LP). Eu quero navegar no código de empacotamento do Ubuntu online, e ser capaz de linkar para ele. Para o Debian, eu normalmente consigo desenterrar o pacote em Alioth .

    
por muru 22.11.2017 / 09:17

1 resposta

10

Resposta curta: para obter tudo, você tem que baixar os pacotes de origem individualmente; Não existe um único serviço de navegação pública 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 fonte. Você pode acessar o link , por exemplo, clicar em um dos números de versão e fazer o download das fontes do Seção de downloads. Para encontrar a fonte para cada versão do hello já publicada pelo Ubuntu, você pode seguir o link para ver o seu histórico completo de publicação e clique em qualquer seqüência de números de versão de lá. O mesmo padrão de URL funciona para qualquer pacote de origem; 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 pouco desajeitados; descompactar um pacote de origem precisa de algumas ferramentas. dget , do pacote devscripts , pode fazer o download, verificar e descompactar um pacote fonte em um comando se você fornecer a URL para o arquivo dsc.

Isto, claro, não é muito conveniente.

Anos atrás, houve um esforço para melhorar isso. O Ubuntu o chamou de "Ubuntu Distributed Development", ou UDD, 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 código-fonte foram importados automaticamente para a plataforma de hospedagem do Bazaar VCS no Launchpad à medida que eram publicados. Naquela época, você poderia teoricamente encontrar o código-fonte para qualquer pacote em code.launchpad.net . Por exemplo, você ainda pode ver as fontes importadas pelo Bazaar para o pacote hello para os lançamentos Precise e Trusty do Ubuntu no link .

Bazaar focou em um conjunto específico de casos de uso e teve uma interface de linha de comando muito bem pensada. Jelmer Vernooij, um de seus desenvolvedores, escreveu uma interessante retrospectiva sobre o desenvolvimento do Bazaar , incluindo como isso se encaixou com os outros sistemas de controle de versão distribuídos sendo desenvolvidos na época.

Com o tempo, o git tomou conta do mundo, e o Bazaar ficou em segundo plano. Enquanto isso, a UDD começou a mostrar suas falhas. Um número crescente de pacotes não conseguiu importar e precisou de intervenção manual para corrigir. Isso significava que, mesmo com o desenvolvimento do Ubuntu em pacotes de fontes, a visão do Bazaar sobre esses pacotes em code.launchpad.net não foi atualizada.

Por fim, o importador da UDD foi desativado porque ninguém o mantinha e não foi considerado válido mantê-lo funcionando.

Ao mesmo tempo, em 2014, publiquei algumas anotações sobre como estava usando o git para executar o desenvolvimento do Ubuntu ; mesmo que no momento os pacotes do Ubuntu não estivessem sendo mantidos no git em geral.

Esse fluxo de trabalho baseado em gits foi adotado pela minha equipe (a equipe do Ubuntu Server) e continuamos a trabalhar para disponibilizar fontes do Ubuntu através do git. Um colega e eu começamos a escrever uma série de blogs (conforme ainda inacabado) explicando o que estamos fazendo.

Os repositórios git encontrados 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 commit anteriores) e não 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 aumentar 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 lugar oficial no Launchpad, onde todo o código-fonte do Ubuntu pode ser navegado.

    
por Robie Basak 04.01.2018 / 21:31