데비안 패키지 빌드에서 rpm.spec 파일에 대한 "exclude" 명령의 대안은 무엇입니까

데비안 패키지 빌드에서 rpm.spec 파일에 대한 "exclude" 명령의 대안은 무엇입니까

rpm 패키지를 빌드할 때 사양 파일에서 이 제외 명령을 사용하여 일부 패키지의 특정 파일을 제외할 수 있습니다.

전임자.

%exclude foobar/bin/printjob_svr.bin

deb 패키지를 빌드하는 동안 동일한 내용을 어떻게, 어디서 지정합니까? 소스에서 다른 패키지를 빌드할 때 제외해야 하는 파일 목록이 있습니다. 이제 소스에서 세 가지 다른 패키지를 빌드할 수 있지만 설치 시 모든 파일이 존재합니다.

답변1

데비안 패키지에서는 설치 후(소스 패키지에서) 파일을 제거하고 패키지를 빌드하기 전에 파일을 제거하거나, 설치할 파일 목록에 해당 파일을 나열하지 않거나, 설치에서 해당 파일을 제외하여 이를 수행할 수 있습니다. 특정 유형의 파일의 경우).

dhShort-style 기반을 사용하는 경우 debian/rules(암시적으로) 다음을 사용할 수 있습니다.

  • dh_auto_install, 업스트림 설치를 실행하여 파일을 배치합니다 debian/tmp(여러 패키지를 빌드하므로).
  • dh_installdebian/tmp, (etc.)의 내용을 기반으로 적절한 설치 대상 (etc)에 파일을 복사합니다 .debian/foobar.installdebiandebian/foobar.install

위에 나열된 세 가지 옵션이 아래에 번역되어 있습니다.

  1. 파일을 복사한 후 삭제 debian/tmp하려면

    override_dh_intall:
            rm -f debian/tmp/bin/printjob_svr.bin
            dh_install
    
  2. dh_install파일을 건너뛰도록 하려면 해당 파일을 .install파일에 나열하지 마십시오. 즉, 와일드카드나 일반 디렉터리 이름( bin, bin/*)을 사용할 수 없습니다. 에 건너뛴 파일도 나열해야 debian/not-installed하지만 에 경고가 표시됩니다 man dh_missing.

  3. 파일을 명시적으로 제외하려면 대상을 재정의하고 이 기능을 지원하는 명령 -X에서만 작동하는 옵션을 추가하세요.dh_

    override_dh_installdocs:
            dh_installdocs -Xprintjob_svr.bin
    

    (이것은 귀하의 사용 사례에 맞지 않습니다. 완전성을 위해 나열했습니다.)

관련 정보