Como eu coloco dependências de hardware em pacotes .deb?

4

Construindo pacotes deb otimizados para instruções arbitrárias da CPU, como eu coloco as instruções da CPU como uma dependência nos pacotes deb? O pacote não é destinado a distribuição em massa, mas eu não quero que as pessoas confundam com falhas, porque a CPU delas é muito antiga para minhas compilações.

    
por Zulgrib 27.08.2016 / 01:33

1 resposta

6

Não tenho certeza se o formato dpkg , em si, pode fazer o que você precisa.

No entanto, você pode fazer uso dos scripts pré-instalação . Neste você pode testar para ver se a CPU é do nível certo e abortar se não for bom o suficiente. Desta forma, o seu pacote não será instalado.

O script preinst faz parte da seção control de um pacote; você pode ler sobre isso no link

Às vezes, elas são chamadas de pré-instalação de scripts de integridade . Se eles terminarem com um código de saída diferente de zero, a instalação do pacote falhará.

Seu script preinst pode ser tão simples quanto

#!/bin/sh
set -e

flags='grep ^flags /proc/cpuinfo | head -1'

if [ -z "'echo $flags | grep sse4'" ]
then
  echo Can only run on machines with SSE4 instructions.  Install failed
  exit 1
fi

exit 0
    
por 27.08.2016 / 02:32