Reempacotando .deb com um destino alternativo

1

Eu gostaria de criar um PPA que hospede builds adicionais de binutils-cross , já que o Ubuntu e o Debian fornecem apenas arquiteturas comuns (não há nenhuma versão oficial do ia64-cross para Trusty ou Wheezy, por exemplo).

A única alteração necessária para isso é definir o conteúdo do arquivo debian/target para a arquitetura de destino (por exemplo, ia64-linux-gnu ).

Depois de configurar uma conta do launchpad e assinar o Código de Conduta, quais etapas eu preciso publicar?

As etapas normais que eu invoco para construir o software localmente são, por exemplo:

apt-get source binutils
cd binutils-*
export DEB_TARGET_ARCH=ia64-linux-gnu
echo ia64-linux-gnu > debian/target
dpkg-buildpackage -us -uc

Sou completamente novo no PPA e no Launchpad, por isso peço desculpas se esta é uma pergunta boba.

Editar

Note que não estou perguntando como construir um mips ou qualquer binário de arquitetura externa no Launchpad. Os binários emitidos dessa maneira são binários i386 ou x86_64, que eles mesmos podem montar / desmontar o / etc para arquiteturas estrangeiras.

Isso é para criar o mips equivalente do binutils-aarch64-linux-gnu package .

$ dpkg -S $(which mips-linux-gnu-as)
binutils-mips-linux-gnu: /usr/bin/mips-linux-gnu-as
$ file $(which mips-linux-gnu-as)
/usr/bin/mips-linux-gnu-as: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=44e6366aeea6fb2b12b7e39aec2394fef86c642c, stripped
$ uname -a
Linux ubuntu 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ echo nop | mips-linux-gnu-as -
$ file a.out
a.out: ELF 32-bit MSB  relocatable, MIPS, MIPS-I version 1 (SYSV), not stripped
    
por Zach R 08.10.2014 / 21:40

1 resposta

2

Para fazer esse tipo de coisa, você normalmente modificaria o pacote fonte localmente da maneira desejada, ajustaria sua versão e / ou nome e o carregaria no seu PPA. Você pode conseguir a mudança de variável de ambiente configurando-a em debian/rules .

A árvore de documentação no link responde a várias perguntas comuns nessa área.

Eu sugeriria olhar para os pacotes de código binutils-*-cross existentes no Ubuntu (por exemplo, binutils-arm64-cross ) como um modelo para isso, no entanto. Eles fazem isso por build - dependendo de binutils-source . Provavelmente seria mais rápido usar qualquer um dos que estão mais atualizados, pesquisar e substituir nomes de arquitetura, ajustar o log de alterações e fazer o upload.

    
por Colin Watson 08.10.2014 / 22:41