.deb 패키지에 하드웨어 종속성을 추가하는 방법은 무엇입니까?

.deb 패키지에 하드웨어 종속성을 추가하는 방법은 무엇입니까?

CPU 명령어에 최적화된 deb 패키지를 빌드하려면 CPU 명령어를 deb 패키지의 종속성으로 사용하는 방법은 무엇입니까? 패키지는 대량 배포에 적합하지 않지만, 사람들이 내 빌드에 비해 CPU가 너무 오래되었기 때문에 충돌로 인해 혼란스러워지는 것을 원하지 않습니다.

답변1

dpkg형식 자체가 원하는 대로 작동하는지 잘 모르겠습니다 .

하지만 당신은할 수 있는사용사전 설치된스크립트. 여기에서 CPU 수준이 올바른지 테스트하고 CPU 수준이 충분하지 않으면 중단할 수 있습니다. 이렇게 하면 패키지가 설치되지 않습니다.

이 스크립트는 preinstpkg 섹션의 일부 입니다 control.https://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html

이들은 때때로 불린다.사전 설치된 온전성 스크립트. 0이 아닌 종료 코드로 끝나면 패키지 설치가 실패합니다.

스크립트 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

관련 정보