`debian/control` 파일의 조건부 종속성

`debian/control` 파일의 조건부 종속성

나는 공식 데비안 배포판과 함께 제공되는 특정 버전의 라이브러리에 의존하는 소프트웨어를 패키징하고 있습니다. 소프트웨어에는 번들 라이브러리 소스도 있습니다.

debian/control10 이전의 데비안 버전에서는 아무것도 지정할 필요가 없지만 10 이상의 경우 릴리스된 버전을 빌드 요구 사항으로 사용할 수 있도록 파일에서 이를 설명할 수 있는 방법이 있습니까 ?

또한 이전 버전에서는(파일에서 어떻게 감지합니까 ?) 구성 단계에서 추가 옵션을 전달 debian/rules해야 합니다 .cmake

답변1

이에 대한 규칙은 없습니다. 소스 패키지(포함 debian/control)는 해당 배포판에서 작동하는 빌드 종속성을 포함한 빌드 지침과 함께 특정 배포판 및 버전에 업로드되어야 합니다.

debian/control어떤 경우에는 즉시 수정할 수 있지만 debian/rules빌드가 시작되기 전에 해결되므로 빌드 종속성에는 적용되지 않습니다.

실제로는 두 가지 접근 방식이 적합할 수 있습니다.

  • 공개 소스를 가져와 관심 있는 각 대상에 대한 합계를 생성하려면 일종의 템플릿 도구를 사용하세요 debian/control.debian/rules

  • 버전 제어 시스템의 분기를 사용하여 개별 대상을 분리하지만 여전히 상당히 간단한 유지 관리가 가능합니다.

후자는 여러 대상에 업로드를 허용해야 할 때 데비안의 대부분 패키지를 유지 관리하는 방법입니다(예를 들어실험적이거나 안정적이거나 백포트되어 불안정함).

또한 이전 버전에서는(파일에서 어떻게 감지합니까 ?) 구성 단계에서 추가 옵션을 전달 debian/rules해야 합니다 .cmake

이전 버전을 감지하고 동작을 하드코딩하는 대신 구현하려는 동작을 감지하면 됩니다. 예를 들어 시스템에 종속 라이브러리가 있는지 확인한 다음 cmake호출을 조정하거나 cmake문제가 있는 경우 설치된 cmake.

관련 정보