Eu gostaria de adicionar o pacote gourmet mais recente do Debian sid ao PPA da nossa equipe, para que os usuários do Ubuntu que gostariam de executar uma versão atualizada do Gourmet possam adicionar esse PPA às suas fontes de software. (Dependendo da dependência, isso não deve ser um problema, pois praticamente todas as nossas dependências atuais já estão disponíveis em todas as versões atualmente suportadas do Ubuntu.)
Eu baixei o *.dsc
arquivo e o tarian debian e orig, e até descobri que poderia usá- lo para o source.changes
arquivo do pacote . Também baixei a chave pública do mantenedor do Debian para dput
validar o pacote. Tentei fazer o upload do pacote para o nosso PPA usando dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes
(tentei também sem o tilda.) Isso pareceu ter êxito, mas não recebi um email de confirmação e agora nenhum pacote é exibido no nosso PPA , o que me leva a acreditar que o pacote foi rejeitado porque a chave do mantenedor do Debian obviamente não está entre as chaves dos membros da nossa equipe.
Então, qual é a maneira mais fácil de "copiar" um pacote do Debian (sid) para um PPA do Launchpad? Eu realmente preciso reconstruir o pacote inteiro localmente antes de poder carregá-lo?
Respostas:
Você precisa reconstruir o pacote de origem localmente antes de fazer o upload para ajustar o log de alterações e gerar novamente o arquivo de alterações. Embora desde que o backport de um pacote seja uma tarefa bastante comum, isso tenha sido script. Confira o
backportpackage
comando ubuntu-dev-tools package.Para fazer o backport de um pacote do Debian, simplesmente forneça a série de distribuição de destino, PPA e o arquivo dsc para o pacote:
É ainda mais simples fazer o backport de um pacote de uma versão do Ubuntu para outra, pois você não precisa encontrar o arquivo dsc. Digamos que queremos fazer backport de utópico para confiável:
fonte
~gourmet/ppa
como argumento o-u
parâmetro. (Mas eu estava felizmente capaz de copiá-lo do meu PPA para a equipe Gourmet via Launchpad.)Há algumas maneiras de fazer isto.
Quando fiz isso no Rhythmbox, segui a seguinte receita:
uma. Pegue o arquivo de origem e os arquivos debian
b. Descompacte a fonte (.orig.tar.xz)
c. renomear a pasta de origem algo como
rhythmbox-3.0.3
c. descompacte o arquivo debian (.debian.tar.xz)
d. mova a pasta debian para o diretório fonte
e
dch -i
alterar o arquivo de registro de alteraçõesf. mude o nome do pacote "instável" para o nome do destino do ubuntu - aqui eu usei o preciso para o 12.04. Altere a versão conforme apropriado para seu aplicativo. Aqui rhythmbox era 3.0.3 - então eu acabei de adicionar
-1~ppafossfreedom
g. crie um novo pacote de origem:
dh_build --createorig
h. Crie apenas a fonte com sua chave:
debuild -S -k0xABCDEFG
ondeABCDEFG
está sua chaveEu. faça o upload do seu pacote para construção:
fonte
dget
comando dodevscripts
pacote. Isso simplificará bastante.dget
=) O arquivo dsc contém todas as informações sobre as outras partes do pacote de origem. Então,dget
ele pega tudo e extrai-o corretamente se você der um link para o arquivo dsc.dget -ux http://http.debian.net/debian/pool/main/r/rhythmbox/rhythmbox_3.0.3-1.dsc