Barra de ativação: CLI “Copiando Pacotes”

8

Estou usando o Launchpad para fazer upload de um .dsc, um debian.tar.gze um .orig.tar.xz. O arquivo orig contém os arquivos i386 e amd64 e eu uso debian/rulespara criar diferentes pacotes de arquitetura. Mas ele se baseia apenas na série Trusty. Gostaria de usar o recurso Copiar pacotes , mas quero que seja automatizado.

Atualmente, tenho que me conectar ao Launchpad , clique em Exibir detalhes do pacote , clique em Copiar pacotes e use:

> Destination PPA:
> This PPA

> Destination series:
> Utopic

> Copy existing binaries

Existe uma maneira de automatizar tudo isso "copiar os binários existentes da série mais antiga para a nova série" ou fazê-lo através da CLI para usá-lo em um script?

Obrigado


Conduz :

  • P: Talvez ubuntu-archive-toolspossa me ajudar a fazer isso, parece ter um script python de cópia-pacote?

    A: Não funciona com isso:python copy-package -y -b --ppa-name=myname/myppa --to-ppa-name=myname/myppa -s trusty --to-suite=utopic -e versionofpackage

  • P: Talvez se eu alterar minha entrada no changelog de trusty ; urgency=lowpara utopic trusty ; urgency=low?

    A: Não funciona:Unable to find distroseries: utopic trusty. Further error processing not possible because of a critical previous error.

  • P: Crie 1 orig.tar.xze vários .dsc&debian.tar.gz

    R: Atualmente, construo um número de versão incrementado (ie mypackage-1.1.0-0trusty0e mypackage-1.1.0-0utopic0), mas a solução poderia ser melhor, pois tenho que reenviar o arquivo orig.tar.xzpara cada um e que ocupa o dobro do lugar no PPA, pois os construídos .debnão são considerados uma cópia do um ao outro, mas 2 pacotes.

MrVaykadji
fonte
1
Para o registro, você não precisa recarregar o arquivo orig.tar.xzse já o tiver carregado antes. Execute debuild -sd(ou dpkg-build-package -sd) para gerar um .changesarquivo que não carrega o tarball original.
saiarcot895
Que erro você recebeu com o primeiro método?
saiarcot895
Obrigado pela primeira dica @ saiarcot895, eu vou usá-lo! O primeiro método não produziu nada, acho que é porque --to-suitenão foi feito para "séries", mas para outra coisa. Eu não sei. Parecia funcionar, mas nada mudou no meu PPA.
MrVaykadji
1
--to-suiteé para a série. Eu não especificaria o -esinalizador, pois, por padrão, a versão mais recente será escolhida. Além disso, tente dividir --ppa-name=myname/myppaa -p myname --ppa-name=myppa, uma vez que --ppa-namesó quer o nome do PPA. Além disso, você não precisa especificar --to-*se é a mesma coisa que a partir de.
saiarcot895
@ saiarcot895: Não consigo fazer o pacote de cópias funcionar. Eu tenho um token de autorização, sou o proprietário do PPA, mas não funciona.
MrVaykadji

Respostas:

2

copy-package é bom para isso, mas a chamada moderna correta seria:

./copy-package --from=~myname/ubuntu/myppa --from-suite=trusty --to=~myname/ubuntu/myppa --to-suite=utopic -b -y packagename

(Como o saiarcot895 observou corretamente, você precisava separar --ppae --ppa-name, mas isso sempre foi muito confuso, esse foi um dos motivos pelos quais adicionamos as opções unificadas --frome --tode especificação de arquivos. Além disso, você deixou de incluir o nome do pacote, provavelmente o motivo pelo qual não conseguiu saída; versões mais recentes do copy-packagecheque para isso.)

Colin Watson
fonte