Como editar um pacote de backport antes de enviá-lo para um PPA?

2

Estou tentando fazer backport do Clang 3.2 para o Quantal da Raring. Pensando que este seria um processo relativamente indolor, eu corri o seguinte comando:

backportpackage -s raring -d quantal -u ppa:george-edison55/clang3.2-backports clang

O pacote foi enviado para o PPA sem nenhum erro e construído sem erros também. Infelizmente, ele não pode ser instalado porque o arquivo debian/control contém as seguintes dependências:

Depends: ... libgcc-4.7-dev, libobjc-4.7-dev ...

Esses pacotes não existem no Quantal. O conteúdo desses pacotes está contido no gcc-4.7 e gobjc-4.7 pacotes em vez disso. Meu problema é que não tenho ideia de como fazer a alteração antes de fazer o upload do pacote para o meu PPA.

Eu tentei instruir backportpackage para não enviar para o meu PPA e despejar os arquivos em /tmp/clang3.2 onde eu os editei. No entanto, tentar carregar o pacote simplesmente resulta no .tar.gz original sendo baixado novamente e sobrescrevendo minhas alterações.

Qual é a maneira correta de fazer isso?

    
por Nathan Osman 03.04.2013 / 07:32

1 resposta

1

Embora exista a opção -w que diz ao backportpackage para preservar o diretório de trabalho, ainda não há como dizer que ele mantém as fontes descompactadas (e modificadas) também. Então aqui está o que funcionou para mim:

  1. Copie o programa localmente para modificá-lo:

    cp /usr/bin/backportpackage ~

  2. Abra o arquivo local e encontre a função do_backport . Sua última linha deve se parecer com

    shutil.rmtree (srcdir)

  3. Exclua essa linha, salve o arquivo e execute o script como normalmente faz, certifique-se de fornecer a opção -w para especificar o diretório de trabalho.

  4. Vá para o diretório de trabalho. Deve existir um subdiretório com o nome < package > - < dist > , por ex. gcc-xenial .
  5. cd para esse diretório, faça as alterações desejadas.
  6. Faça um pacote debian. Assine e envie o resultado:

    debuild --no-lintian -S -nc -uc -us -sd

    debsign ../<package-version>_source.changes

    dput -u ppa:<user>/<repo> <package-version>_source.changes

por Alexander Solovets 24.03.2017 / 18:40