Estou construindo um pacote personalizado para o Debian, que pretendo então implantar em outras máquinas. Para simplificar, estou apenas instalando o arquivo .deb
diretamente com dpkg -i
.
De acordo com o Manual de Políticas Debian , você pode usar o especial palavras all
para um pacote independente de arquitetura e any
para um pacote dependente de arquitetura que pode ser construído para qualquer número de arquiteturas diferentes.
Então, eu fui em frente e escrevi Architecture: any
no meu arquivo de controle, no entanto, quando vou instalar o pacote, recebo este erro:
package architecture (any) does not match system (amd64)
Por que o pacote está sendo criado para a arquitetura any
? Este não é um pacote independente de arquitetura (é por isso que não escrevi all
), então parece que dpkg
não está substituindo any
pela arquitetura para a qual o pacote foi compilado.
Qual é a maneira correta de especificar que um pacote é específico da plataforma, mas pode ser construído para todas as plataformas disponíveis? Eu não quero ter que listar todos eles, existem centenas!
UPDATE: O processo de criação é um simples configure && make && make install PREFIX=/xyz
e então eu estou fazendo o pacote com fakeroot dpkg -b /xyz /output
Existe uma maneira padrão de substituir "any" com a arquitetura atual automaticamente, ou deve, por exemplo, estar usando sed
para modificar o arquivo de controle?