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