Versionando um pacote para fazer o upload para o PPA

6

Eu tenho um pacote chamado Artha que eu distribuo como fonte e (deb) binários para arquiteturas x86 e x86_64, ou seja, eu tenho a experiência em fazer arquivos deb. Recebi alguns pedidos para configurar um PPA. Eu pensei em fazer isso para o próximo lançamento. Artha no repositório do Ubuntu é da versão 1.0.2 e estou tentando criar um PPA para o Artha 1.0.3.

Eu leio Personal Package Archive docs do Launchpad , e o PPA agora está configurado, mas esta página sobre versionamento diz que para um pacote como o Artha que já está no repositório do Ubuntu, o nome artha-1.0.2-1ubuntu1 da versão do PPA deve ser artha-1.0.3-1ubuntu1ppa1 , de modo que, quando o repositório de atualizações do Ubuntu atualizar para o 1.0.3 do Artha, ele substitua o pacote do meu PPA.

Quando costumo fazer meu pacote .deb, recebo esses arquivos

  • artha_1.0.3.orig.tar.bz2
  • artha_1.0.3-1.debian.tar.gz
  • artha_1.0.3-1.dsc
  • artha_1.0.3-1_amd64.build
  • artha_1.0.3-1_amd64.changes
  • artha_1.0.3-1_amd64.deb

e seus equivalentes para i386. Esta página ao fazer o upload para um PPA diz que os arquivos .dsc, .changes e .debian.tar.gz serão ser carregado.

Aqui está minha confusão. Como eu fiz esses arquivos com a versão mencionada? ou seja, com o sufixo "ppa"? Certamente, eu sinto, renomear manualmente o diretório extraído do pacote fonte de Artha não parece o caminho certo.

Eu também devo debuild -S -sd ou debuild -S -sa ? A página do Launchpad diz que a versão alternativa de um pacote existente deve usar o primeiro. Isso parece ambíguo para mim. O que isto significa? Uma versão atualizada conta como uma versão alternativa?

Existem muitas páginas detalhadas sobre como configurar um PPA. Mas eles são para configurar apenas uma vez, enquanto os PPAs têm tudo a ver com atualizações mais rápidas de um pacote em particular e a manutenção é muito importante, eu seria ótimo se alguém pudesse me apontar para um documento desse tipo que fala sobre atualizações etc. ou seja, sobre coisas que acontecem a um PPA após o upload inicial.

    
por legends2k 07.10.2012 / 18:28

1 resposta

7

A versão do pacote resultante vem do número da versão fornecido em debian/changelog Então você deve ter a versão apropriada lá.

1.0.3-1 irá substituir um carregamento apenas do Ubuntu versionized 1.0.3-0ubuntu1

$ dpkg --compare-versions 1.0.3-1 le 1.0.3-0ubuntu1 || echo "False"
False

Mas ele não substituirá uma versão originada do Debian com alterações no Ubuntu, ou seja, 1.0.3-1ubuntu1

$ dpkg --compare-versions 1.0.3-1 le 1.0.3-1ubuntu1 || echo "False"
$

O caracter tilda ( ~ ) tem um significado especial nos números de versão. Por exemplo:

$ dpkg --compare-versions 1.0.3-1 le 1.0.3-1~ppa1 || echo "False"
False

Como o seu pacote não é originário do Debian, eu uso um número de versão como 1.0.3-0~ppa1 Isso garante que ele é menor que uma versão sincronizada diretamente do Debian ou introduzida no Ubuntu,

Assim, seu log de alterações deve ser semelhante:

artha (1.0.3-0~ppa1) quantal; urgency=low

  * New upstream release.

 -- Your Name <[email protected]>  Sun, 07 Oct 2012 13:06:56 -0400

O uso de debuild -S -sd ou debuild -S -sa é realmente uma questão diferente, mas aqui vai uma breve resposta.

-sa garante que .orig.tar.bz2 seja carregado. Se você não fez um upload desta versão upstream antes, use isso.

-sd explicitamente faz com que apenas o debian.tar.gz ou diff.tar.gz seja carregado. Isto é para quando você está fazendo uma alteração em uma versão upstream que já está disponível em seu arquivo de destino ou PPA. Isso ocorre porque o tarball original já deve estar presente lá.

    
por andrewsomething 07.10.2012 / 19:09