Estou usando o Launchpad para fazer upload de um .dsc
, um debian.tar.gz
e um .orig.tar.xz
. O arquivo orig contém os arquivos i386 e amd64 e eu uso debian/rules
para 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-tools
possa 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=low
parautopic 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.xz
e vários.dsc
&debian.tar.gz
R: Atualmente, construo um número de versão incrementado (ie
mypackage-1.1.0-0trusty0
emypackage-1.1.0-0utopic0
), mas a solução poderia ser melhor, pois tenho que reenviar o arquivoorig.tar.xz
para cada um e que ocupa o dobro do lugar no PPA, pois os construídos.deb
não são considerados uma cópia do um ao outro, mas 2 pacotes.
fonte
orig.tar.xz
se já o tiver carregado antes. Executedebuild -sd
(oudpkg-build-package -sd
) para gerar um.changes
arquivo que não carrega o tarball original.--to-suite
não foi feito para "séries", mas para outra coisa. Eu não sei. Parecia funcionar, mas nada mudou no meu PPA.--to-suite
é para a série. Eu não especificaria o-e
sinalizador, pois, por padrão, a versão mais recente será escolhida. Além disso, tente dividir--ppa-name=myname/myppa
a-p myname --ppa-name=myppa
, uma vez que--ppa-name
só quer o nome do PPA. Além disso, você não precisa especificar--to-*
se é a mesma coisa que a partir de.Respostas:
copy-package
é bom para isso, mas a chamada moderna correta seria:(Como o saiarcot895 observou corretamente, você precisava separar
--ppa
e--ppa-name
, mas isso sempre foi muito confuso, esse foi um dos motivos pelos quais adicionamos as opções unificadas--from
e--to
de 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 docopy-package
cheque para isso.)fonte