젠투 포티지에서 ATOM은 정확히 무엇을 의미하나요?

젠투 포티지에서 ATOM은 정확히 무엇을 의미하나요?

이 문제는 "atom"이라는 텍스트 편집기와는 아무런 관련이 없습니다.

포티지 매뉴얼 페이지에서는 "ATOM"이라는 용어를 사용하지만 용어에 대한 정의를 찾을 수 없어 혼란스럽습니다. Atom이 패키지를 설명한다는 것을 알고 있지만 다음 항목 중 어느 항목이 Atom인지 알 수 없습니다.

dev-lang/python
dev-lang/python-3.4.5
=dev-lang/python-3.4.5
>=dev-lang/python-3.4.5
dev-lang/*

답변1

~에 따르면ebuild(5) 매뉴얼 페이지, "종속성" 아래:

원자에 의존패키지 간의 관계를 계산할 때 포티지가 사용하는 종속성입니다.

그런 다음 다양한 유형의 원자에 대해 설명합니다.

  1. Atom 기본 사항: 순수 클래스/패키지 이름(예: dev-lang/python)
  2. Atom 버전: 위와 같지만 버전이 있습니다(예: dev-lang/python-3.4.5).
  3. 원자 접두사 연산자: 부울 연산자가 있는 버전이 지정된 원자(예: >=dev-lang/python-3.4.5)
  4. 확장된 원자 접두사/접미사: 와일드카드 및 차단기(예: dev-lang/python-3*)
  5. Atom 슬롯/하위 슬롯: 공존할 수 있는 패키지 버전(예: dev-lang/python-3.4.5:3.4/3.4m, :2.7 및 :3.6과 동시에 설치 가능))
  6. Atom USE 문: USE 플래그 처리

이것은 ebuild가 내부적으로 사용하는 것이며 일상적인 사용에는 실제로 필요하지 않습니다. 왜냐하면 패키지 관리자만이 정기적으로 이것을 볼 수 있기 때문입니다(그러나 슬롯은 볼 수 있습니다).

그러나 포티지는 원자를 약간 다르게 사용합니다. ~에 따르면맨페이지, 다음 원자 유형을 지원합니다.

  1. 기본 사항: 순수 클래스/패키지(예: dev-lang/python)
  2. version: 카테고리/패키지 버전(예: dev-lang/python-3.4.5), 비교 연산자 유무
  3. 슬롯:카테고리/패키지 버전:슬롯(예: dev-lang/python-3.4.5:3.4)
  4. 저장소: 카테고리/패키지 버전::repository (예: dev-lang/python::gentoo)
  5. 와일드카드: 대체(예: dev-lang/* 또는 =*/*-9999)

실제로는 종속성 측면에서 사용되지는 않지만 ebuild 시스템으로 전송될 때 일반적으로 동일한 규칙을 따릅니다. 또한 이들을 결합할 수도 있으므로 "<*/python*-9999:3.6::test"가 유효한 원자 사양이 됩니다. 하지만 나는 일반적으로 기본, 버전 및 저장소 원자를 고수합니다. 왜냐하면 슬롯은 일반적으로 중요하지 않고 와일드카드는 주의하지 않으면 예상치 못한 것과 일치할 수 있기 때문입니다.

관련 정보