Gentoo Portageでは、ATOMはどういう意味ですか?

Gentoo Portageでは、ATOMはどういう意味ですか?

この問題は「atom」というテキストエディタとは何の関係もありません。

Portageのマニュアルページでは「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) のマニュアルページ、「依存関係」の下:

原子に依存パッケージ間の関係を計算するときにPortageが使用する依存関係。

次に、様々な種類の原子について説明する。

  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が内部的に使用するものであり、日常的な使用には実際には必要ありません。なぜなら、パッケージマネージャだけが定期的にこれを見ることができるからです(しかしスロットは見ることができます)。

しかし、Portageは原子をわずかに異なって使用します。 ~によるとマンページ、次の原子タイプをサポートします。

  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」が有効な原子仕様になります。しかし、私は通常、基本、バージョン、リポジトリの原子に固執します。なぜなら、スロットは一般的に重要ではなく、ワイルドカードは注意しなければ予期しないものと一致する可能性があるからです。

おすすめ記事