Я не уверен, что формат dpkg
сам по себе может делать то, что вам нужно.
Однако вы можете использовать сценарии предварительной установки . Здесь вы можете проверить, соответствует ли ЦП нужному уровню, и прервать его, если он недостаточно хорош. Таким образом, ваш пакет не будет установлен.
Сценарий preinst
является частью раздела control
пакета pkg; вы можете прочитать об этом на https://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html
Их иногда называют сценариями предварительной установки . Если они заканчиваются ненулевым кодом выхода, установка пакета завершается ошибкой.
Ваш сценарий preinst
может быть таким же простым, как
#!/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