영어로 읽기

다음을 통해 공유


CONTROL 파일

경고

CONTROL 파일은 더 이상 사용되지 않으며 이전 버전의 vcpkg와의 호환성을 위해서만 유지됩니다. 새로 작성한 포트에 vcpkg.json 매니페스트 파일을 사용합니다.

기존 파일을 파일로 변환하는 CONTROLvcpkg.json 사용합니다./vcpkg format-manifest path/to/CONTROL.

파일에는 CONTROL 포트에 대한 메타데이터가 포함되어 있습니다. 구문은 Debian control 형식을 기반으로 하지만 여기에 설명된 필드의 하위 집합만 지원합니다.

필드 이름은 대/소문자를 구분하며 선행 공백 없이 줄을 시작합니다. 단락은 하나 이상의 빈 줄로 구분됩니다.

원본 단락

파일의 CONTROL 첫 번째 단락은 원본 단락입니다. 필드와 필드가 SourceVersionDescription 있어야 합니다. 전체 필드 집합은 아래에 설명되어 있습니다.

예제

Source: ace
Version: 6.5.5
Description: The ADAPTIVE Communication Environment
Source: vtk
Version: 8.2.0
Port-Version: 2
Description: Software system for 3D computer graphics, image processing, and visualization
Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c

인식된 필드

Source

포트의 이름입니다.

새 포트를 추가할 때 이름은 vcpkg의 일부가 아닌 다른 프로젝트와 충돌할 수 있습니다. 예를 들어 json 너무 많은 다른 프로젝트와 충돌하므로 고유하게 만드는 것과 같이 taocpp-json 이름에 범위를 추가해야 합니다. 검색 엔진과 다른 패키지 컬렉션에 충돌이 없는지 확인합니다.

충돌을 검사 패키지 컬렉션:

버전

라이브러리 버전입니다.

이 필드는 영숫자 문자열 .이며 , _또는 -. 버전 순서 지정을 시도하지 않습니다. 모든 버전은 비트 문자열로 처리되며 같음만 평가됩니다.

태그가 지정된 릴리스 포트의 경우 다음 규칙을 따릅니다.

  1. 포트가 다음과 같은 va.b.c구성표를 따르는 경우 선행 v을 제거합니다. 이 경우 다음과 같습니다.a.b.c
  2. 포트가 버전에 고유한 이름을 포함하는 경우 다음과 같이 curl-7_65_1선행 이름을 제거합니다. 7_65_1

롤링-릴리스 포트의 경우 사용자가 커밋에 액세스한 날짜를 사용하며 형식은 다음과 같습니다YYYY-MM-DD. 다른 방법을 설명했습니다. 누군가가 타임 머신을 가지고 해당 날짜로 이동하면 이 커밋을 최신 마스터로 볼 수 있습니다.

예를 들어 다음과 같은 조건이 있습니다.

  1. 최신 커밋은 2019-04-19에서 이루어졌습니다.
  2. 현재 버전 문자열은 2019-02-14-1
  3. 오늘 날짜는 2019-06-01입니다.

그런 다음 현재 원본 버전을 업데이트하는 경우 버전을 2019-06-01제공해야 합니다.

포트 버전

포트의 버전입니다.

이 필드는 음수가 아닌 정수입니다. 포트 파일을 기본 라이브러리 버전과 별도로 버전화할 수 있습니다. 기본 버전의 라이브러리를 변경하지 않고 포트를 변경하는 경우 이 필드를 하나씩 증가시켜야 합니다(시작 시 0, 필드 없음 Port-Version 과 동일). 기본 라이브러리의 버전이 업그레이드되면 이 필드를 다시 0 설정해야 합니다(예: 필드 삭제 Port-Version ).

예제
Version: 1.0.5
Port-Version: 2
Version: 2019-03-21

설명

라이브러리에 대한 설명입니다.

규칙에 따라 설명의 첫 번째 줄은 라이브러리의 요약입니다. 선택적 세부 설명은 다음과 같습니다. 자세한 설명은 공백으로 시작하는 여러 줄일 수 있습니다.

예제
Description: C++ header-only JSON library
Description: Mosquitto is an open source message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1.
  MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for "machine
  to machine" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino.

홈 페이지

사용자가 추가 설명서 또는 원본 소스 코드를 찾을 수 있는 라이브러리 홈페이지의 URL입니다.

예시:

Homepage: https://github.com/Microsoft/vcpkg

빌드-의존

라이브러리에 종속성이 있는 vcpkg 포트의 쉼표로 구분된 목록입니다.

vcpkg는 빌드 전용 종속성과 런타임 종속성을 구분하지 않습니다. 라이브러리를 성공적으로 사용하는 데 필요한 전체 종속성 목록을 지정해야 합니다.

예를 들어 websocketpp는 헤더 전용 라이브러리이므로 설치 시 종속성이 필요하지 않습니다. 그러나 다운스트림 사용자는 라이브러리를 사용하기 위해 boost 및 openssl이 필요합니다. 따라서 websocketpp는 boost 및 openssl을 종속성으로 나열합니다.

포트가 다른 라이브러리의 선택적 기능에 종속된 경우 구문을 사용하여 portname[featurelist] 지정할 수 있습니다. 포트에 종속성의 기능이 필요하지 않은 경우 다음으로 portname[core]지정해야 합니다.

다른 요구 사항을 지원하기 위해 대상 트리플렛에 따라 종속성을 필터링할 수 있습니다. 이러한 필터는 아래 지원 필드와 동일한 구문을 사용하며 포트 이름 및 기능 목록 다음에 괄호로 묶입니다.

예시
Build-Depends: rapidjson, curl[core,openssl] (!windows), curl[core,winssl] (windows)

기본 기능

기본적으로 설치할 선택적 포트 기능의 쉼표로 구분된 목록입니다.

이 필드는 선택적입니다.

예시
Default-Features: dynamodb, s3, kinesis

지원

포트가 삼중항에 성공적으로 빌드될 것으로 예상되는 경우 true로 평가되는 식입니다.

현재 이 필드는 CI 테스트에서만 포트를 건너뛰는 데 사용됩니다. 나중에 이 메커니즘은 지정된 설치 트리가 성공할 것으로 예상되지 않는다는 것을 사용자에게 미리 경고하기 위한 것입니다. 따라서 이 필드는 낙관적으로 사용해야 합니다. 포트가 10% 성공해야 하는 경우 여전히 "지원됨"으로 표시되어야 합니다.

지원되는 식별자vcpkg.json 목록은 매니페스트 설명서의 플랫폼 식을 참조하세요.

예시
Supports: !(uwp|arm)

기능 단락

파일에 여러 선택적 기능을 지정할 CONTROL 수 있습니다. 필드와 Description 필드가 Feature 있어야 합니다. 필요에 따라 필드가 Build-Depends 있을 수 있습니다. 다른 단락과 하나 이상의 빈 줄로 구분해야 합니다.

예시

Source: vtk
Version: 8.2.0-2
Description: Software system for 3D computer graphics, image processing, and visualization
Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c

Feature: openvr
Description: OpenVR functionality for VTK
Build-Depends: sdl2, openvr

Feature: qt
Description: Qt functionality for VTK
Build-Depends: qt5

Feature: mpi
Description: MPI functionality for VTK
Build-Depends: mpi, hdf5[parallel]

Feature: python
Description: Python functionality for VTK
Build-Depends: python3

인식된 필드

기능

기능의 이름입니다.

설명

포트 Description 필드와 동일한 구문을 사용하는 기능에 대한 설명입니다.

빌드-의존

이 기능을 빌드하고 사용하는 데 필요한 종속성 목록입니다.

설치 시 선택한 모든 기능의 종속성이 결합되어 빌드에 대한 전체 종속성 목록을 생성합니다. 이 필드는 원본 단락과 동일한 구문을 Build-Depends 따릅니다.