O que exatamente o termo ATOM significa no Gentoo Portage?

0

Esta questão não é sobre o editor de texto chamado 'atom'.

Proteger man pages usam o termo 'ATOM', mas não consigo encontrar uma definição desse termo e me confundo. Eu entendo que o atom descreve um pacote, mas não sei quais dos seguintes itens são átomos:

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

Por favor ajude.

    
por lesnik 03.12.2017 / 14:59

1 resposta

2

De acordo com a página do manual ebuild (5) , em " Dependências ":

"Um depend átomo é simplesmente uma dependência que é usada pelo portage ao calcular relacionamentos entre pacotes." Em seguida, ele descreve tipos diferentes de átomos:

  1. Bases Atom: um nome de categoria / pacote simples (por exemplo, dev-lang / python)
  2. Versões Atom: como acima, mas com uma versão (por exemplo, dev-lang / python-3.4.5)
  3. Operadores de prefixo do Atom: átomos com versão com operadores booleanos (por exemplo, > = dev-lang / python-3.4.5)
  4. Prefixos / postfixos de átomos estendidos: curingas e bloqueadores (por exemplo, dev-lang / python-3 *)
  5. Slots / sub-slots Atom: versões de um pacote que pode coexistir (por exemplo, dev-lang / python-3.4.5: 3.4 / 3.4m, que pode ser instalado ao mesmo tempo que: 2.7 e: 3.6 , por exemplo)
  6. Declarações de uso de átomos: lida com sinalizadores de USE

Isto é o que ebuilds usam internamente e não é realmente necessário para o uso diário, já que apenas mantenedores de pacotes os vêem regularmente (você verá slots, no entanto.)

O uso de átomos do Portage é um pouco diferente, no entanto. De acordo com sua página de manual , ele suporta os seguintes tipos de átomo:

  1. Base: categoria / pacote principal (por exemplo, dev-lang / python)
  2. Versão: category / package-version (por exemplo, dev-lang / python-3.4.5), com ou sem operadores de comparação
  3. Slot: categoria / pacote-versão: slot (por exemplo, dev-lang / python-3.4.5: 3.4)
  4. Repositório: categoria / pacote-versão :: repositório (por exemplo, dev-lang / python :: gentoo)
  5. Curingas: substituição arbitrária (por exemplo, dev-lang / * ou = * / * - 9999)

Eles não são realmente usados em um sentido de dependência, mas como eles são enviados para o sistema ebuild, eles seguem as mesmas regras. Você pode combiná-los também, então "< * / python * -9999: 3.6 :: test" seria uma especificação válida de átomos. Eu geralmente fico com os átomos base, versionados e de repositório, já que os slots geralmente não são importantes e os curingas podem corresponder a coisas não intencionais se você não for cuidadoso.

    
por 28.12.2017 / 22:19