---
generated_at: 2026-02-17 12:35:00
metrics:
  claims_total: 28
  claims_with_evidence: 28
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート: 58-distros（Linuxディストリビューション検出）

## サマリー

本レポートは機能設計書「58-distros（Linuxディストリビューション検出）」の記載内容について、ソースコードに基づく根拠を示す。全28件の主張がすべてソースコードで確認可能であり、信頼度は1.00と評価される。

## Evidence一覧

| Evidence ID | ファイル | 行番号 | 内容 |
|------------|---------|--------|------|
| E-001 | lib/pure/distros.nim | 10-11 | モジュール説明「Linux distribution detection」 |
| E-002 | lib/pure/distros.nim | 12-17 | Nimbleパッケージ用出力例 |
| E-003 | lib/pure/distros.nim | 36-135 | Distribution enum定義 |
| E-004 | lib/pure/distros.nim | 37-40 | Windows, Posix, MacOSX, Linux |
| E-005 | lib/pure/distros.nim | 41-45 | Ubuntu, Debian, Gentoo, Fedora, RedHat |
| E-006 | lib/pure/distros.nim | 47-53 | OpenSUSE, Manjaro, CentOS, ArchLinux |
| E-007 | lib/pure/distros.nim | 81 | Alpine |
| E-008 | lib/pure/distros.nim | 111 | NixOS |
| E-009 | lib/pure/distros.nim | 126 | Void |
| E-010 | lib/pure/distros.nim | 128-132 | FreeBSD, NetBSD, OpenBSD, DragonFlyBSD |
| E-011 | lib/pure/distros.nim | 134 | Haiku |
| E-012 | lib/pure/distros.nim | 138-140 | LacksDevPackages定数 |
| E-013 | lib/pure/distros.nim | 144 | キャッシュ変数定義 |
| E-014 | lib/pure/distros.nim | 146-149 | cmdReleaseテンプレート |
| E-015 | lib/pure/distros.nim | 151-154 | uname, osReleaseID, release, hostnamectl |
| E-016 | lib/pure/distros.nim | 156-160 | detectOsWithAllCmd |
| E-017 | lib/pure/distros.nim | 162-205 | detectOsImpl |
| E-018 | lib/pure/distros.nim | 164-168 | 基本OS判定（defined） |
| E-019 | lib/pure/distros.nim | 190-192 | NixOS環境変数検出 |
| E-020 | lib/pure/distros.nim | 207-211 | detectOsテンプレート |
| E-021 | lib/pure/distros.nim | 214 | foreignDeps変数 |
| E-022 | lib/pure/distros.nim | 216-223 | foreignCmdプロシージャ |
| E-023 | lib/pure/distros.nim | 225-268 | foreignDepInstallCmdプロシージャ |
| E-024 | lib/pure/distros.nim | 234-236 | apt-get install（Ubuntu系） |
| E-025 | lib/pure/distros.nim | 259-260 | pacman -S（ArchLinux系） |
| E-026 | lib/pure/distros.nim | 251-252 | nix-env -i（NixOS） |
| E-027 | lib/pure/distros.nim | 270-274 | foreignDepプロシージャ |
| E-028 | lib/pure/distros.nim | 276-279 | echoForeignDepsプロシージャ |

## Claims対応表

| Claim ID | 主張内容 | Evidence ID | 検証結果 |
|----------|---------|-------------|---------|
| C-001 | distrosモジュールはLinuxディストリビューション検出を提供 | E-001 | 確認済 |
| C-002 | Nimbleパッケージの依存出力が目的 | E-002 | 確認済 |
| C-003 | Distribution enumで約100種類のOSを定義 | E-003 | 確認済 |
| C-004 | 基本OS（Windows, Posix, MacOSX, Linux）を含む | E-004 | 確認済 |
| C-005 | 主要Linuxディストリビューションを含む | E-005, E-006 | 確認済 |
| C-006 | Alpine, NixOS, Voidを含む | E-007, E-008, E-009 | 確認済 |
| C-007 | BSD系（FreeBSD, NetBSD, OpenBSD）を含む | E-010 | 確認済 |
| C-008 | Haikuを含む | E-011 | 確認済 |
| C-009 | LacksDevPackagesで開発パッケージ不要ディストロを定義 | E-012 | 確認済 |
| C-010 | コマンド結果をキャッシュ | E-013 | 確認済 |
| C-011 | cmdReleaseでコマンド実行とキャッシュ | E-014 | 確認済 |
| C-012 | uname, osReleaseID, release, hostnamectlコマンドを使用 | E-015 | 確認済 |
| C-013 | detectOsWithAllCmdで全コマンドを試行 | E-016 | 確認済 |
| C-014 | detectOsImplで検出ロジック実装 | E-017 | 確認済 |
| C-015 | defined()で基本OS判定 | E-018 | 確認済 |
| C-016 | NixOSは環境変数で検出 | E-019 | 確認済 |
| C-017 | detectOsテンプレートでDistribution.を省略可能 | E-020 | 確認済 |
| C-018 | foreignDeps変数で依存を保持 | E-021 | 確認済 |
| C-019 | foreignCmdでコマンドを登録 | E-022 | 確認済 |
| C-020 | foreignDepInstallCmdでインストールコマンド取得 | E-023 | 確認済 |
| C-021 | Ubuntu系はapt-getを使用 | E-024 | 確認済 |
| C-022 | ArchLinux系はpacmanを使用 | E-025 | 確認済 |
| C-023 | NixOSはnix-envを使用、sudo不要 | E-026 | 確認済 |
| C-024 | foreignDepでパッケージを登録 | E-027 | 確認済 |
| C-025 | echoForeignDepsで依存を出力 | E-028 | 確認済 |
| C-026 | requiresSudo=trueでsudo接頭辞追加 | E-022 | 確認済（219行） |
| C-027 | NimScriptではgorge()を使用 | E-014 | 確認済（148行） |
| C-028 | 不明ディストロはプレースホルダを返す | E-023 | 確認済（264行） |

## 不足情報

| 項目 | 説明 | 影響度 |
|------|------|--------|
| なし | すべての主張がソースコードで確認可能 | - |

## リスクフラグ

| リスク | 説明 | 対応策 |
|--------|------|--------|
| コマンド実行失敗 | lsb_release等がインストールされていない | 空文字列として扱い継続 |
| 検出不正確 | 派生ディストリビューションの誤検出 | 複数コマンドでクロスチェック |
| パッケージ名相違 | ディストリビューション間でパッケージ名が異なる | 開発者が正しい名前を指定 |
| sudo権限要求 | ユーザーへの適切な通知 | requiresSudoフラグで明示 |

## レビュアーチェックリスト

- [x] Distribution enumの説明がソースコードと一致している
- [x] LacksDevPackages定数の説明が正確である
- [x] キャッシュ機構の説明が正確である
- [x] detectOsImpl/detectOsの説明が正確である
- [x] NixOS検出の環境変数が正確である
- [x] foreignDepInstallCmdのパッケージマネージャー対応が正確である
- [x] foreignDep/foreignCmdの説明が正確である
- [x] echoForeignDepsの説明が正確である
- [x] コードリーディングガイドの行番号が正確である
