Como eu crio um PPA para um programa de trabalho?

33

Vamos supor que eu tenha um aplicativo de trabalho escrito em C, C ++ ou Python. Eu quero criar um PPA do Launchpad para que outros possam instalá-lo facilmente a partir de um pacote. Por favor, dê instruções passo a passo para fazer isso do começo ao fim. (Ou forneça um link que faça o mesmo;)

  • A linguagem de programação é importante? (Poderia ser um script bash?)
  • Preciso adicionar algo à minha compilação?
  • Para onde a compilação deve se instalar?
  • Como defino dependências?
  • Como eu uso dependências?
  • Como faço para criar um .deb?
  • O que preciso fazer antes de fazer o upload para o Launchpad?
por d3vid 01.03.2011 / 13:49

2 respostas

31

Essa é uma pergunta muito ampla. Vou tentar responder o máximo que puder, mas definitivamente NÃO SERÁ instrução passo-a-passo. Isso ocorre porque não há algoritmo passo a passo para criar um pacote. A maneira como você faz isso depende de muitos fatores, principalmente do tipo de pacote (aplicativo, biblioteca), a estrutura da origem e muitos detalhes.

Por sorte, há um guia completo em Ссылка

Vou tentar ajudá-lo um pouco com a compreensão de todo o processo, então quando você estiver mais familiarizado com isso. O Guia de embalagem inclui recursos para ajuda adicional.

Antes de mais nada, você deve perceber que criar um pacote (um arquivo .deb) é um processo separado da criação de um PPA. Criar um PPA é uma questão de acessar o perfil do Launchpad e clicar no link "Criar um novo PPA". Isso é tudo. É criado, funciona, mas está vazio. Para fazer upload de um pacote, você deve primeiro criar um. Mas deixe-me primeiro responder algumas de suas pequenas perguntas.

  • O idioma de programação NÃO é importante. Pode ser um aplicativo C ++, script Bash, Brainfuck Hello World, um único arquivo README ou um conjunto de fotos legais. Pacotes podem conter qualquer arquivo. Durante a instalação, o pacote é extraído para a raiz ("/") do seu sistema de arquivos. Dessa forma, eles podem colocar alguns arquivos na pasta binários, adicionar alguns papéis de parede ao conjunto padrão do GNOME ou fornecer ao usuário um script Bash.
  • Você DO precisa adicionar algo à fonte. Deve ser um diretório de nível superior chamado "debian". Haverá alguns arquivos com os detalhes do pacote - eles serão usados ​​para definir o tipo do pacote, etc.
  • As dependências são listadas em um desses arquivos (entre outros detalhes). Onde obtê-los? Eles são simplesmente outros pacotes que seu aplicativo usa. O desenvolvedor do aplicativo saberá quais bibliotecas e recursos seu programa requer, então ele não deve ter muita dificuldade em listá-los.
    • Algumas ferramentas usadas para criar um pacote (pbuilder) podem preencher as dependências automaticamente, provavelmente determinando o que seu aplicativo requer durante a compilação.
  • Também é altamente recomendado para usar o AutoTools . Essa é outra coisa que você pode precisar adicionar, mas provavelmente quase todos os softwares já os usam. AutoTools é um conjunto de programas extremamente úteis - automake, autoconf e autoscan para citar alguns. Quando você compila e instala um programa com o famoso ./ configure & amp; & amp; fazer & amp; & amp; make install então os autotools são usados ​​para lidar automaticamente com a fonte, para preparar outros recursos incluídos na fonte para a instalação, e para extrair o resultado da compilação para o lugar apropriado (para responder sua pergunta: A compilação extrairá MUITOS lugares separados.Os binários irão para / usr / local / bin, os documentos para / usr / local / share / docs etc. Além disso, os binários de um pacote irão para lugares diferentes, fe os binários para / usr / bin Como lidar com este layout complicado de diretórios? Use o AutoTools - ele se importará com isso automaticamente, e é por isso que eles são tão úteis).

Construir um pacote .deb pode parecer um processo muito complicado, mas não é tão difícil. Eu recomendo strongmente que você o guia oficial do Ubuntu para criar pacotes: Ссылка

É ENORME, mas você verá que provavelmente pode pular a maior parte do texto (dependendo do pacote que você vai construir). Basicamente, o processo de empacotamento consiste nessas partes (todas são explicadas claramente no Guia) :

  1. Inicie algumas ferramentas usadas para criar pacotes.
  2. Obter a fonte
  3. Crie o diretório ./debian e preencha-o com os dados necessários
  4. Compile o pacote com debuild [Isso deve criar um conjunto de arquivos, incluindo * .dsc, * _source.build, * _source.changes, que são responsáveis ​​pelos dados sobre o pacote e como lidar com (você também terá uma fonte .tar.gz)]
  5. Teste se tudo funciona executando o pbuilder localmente (ele pegará todos esses arquivos mencionados acima e tentará combiná-los em um pacote .deb, construindo automaticamente a origem com a ajuda do AutoTools - é por isso que eles são cruciais para o empacotamento < em> [francamente falando - não - você pode se dar bem sem eles ou com algumas alternativas, mas essa é a abordagem mais fácil, e outras podem requerer alguma configuração avançada, já que você precisará instruir o construtor sobre como construir a fonte (usando ./debian/rules file) - mas isso não é para iniciantes] ) - se você quer apenas pegar um pacote .deb, está pronto.

Agora você terá que fazer o upload para o seu PPA, que é explicado nesta página de ajuda: Ссылка

  1. Use dput para fazer upload desses arquivos para o Launchpad
  2. O Launchpad executará o pbuilder em seus computadores e gerará pacotes em um ambiente limpo
  3. Finalmente, os pacotes devem aparecer no PPA.

Como você vê, criar um PPA não é tão simples . Mas não tenha medo , também não é tão difícil. Além disso, recomendo que você não incentive os desenvolvedores a usar um PPA, pois provavelmente eles não o ouvirão, pois precisariam fazer algum trabalho adicional (e se quisessem, já o teriam feito), mas você pode quer tentar apoiar os desenvolvedores do Ubuntu e toda a comunidade e fornecer-lhes os pacotes que você preparou:)

Eu desejo que você boa sorte com a criação de pacotes, espero que você ache minha resposta útil:)

Seu amigo, Rafał Cieślak

    
por Rafał Cieślak 01.03.2011 / 20:47
5
  • Antes de poder enviar o seu pacote, você precisará configurá-lo para o pacote .deb , consulte o Guia de Embalagem do Ubuntu .

  • Depois de criar um pacote para o seu software, consulte a documentação do PPA do Launchpad. Ele irá guiá-lo desde a criação do PPA até o upload do seu pacote.

por Isaiah 01.03.2011 / 20:27