pub const KERNEL_LIST_LONG_ABOUT: &str = "(EOL) marks entries whose major.minor series is absent from kernel.org\'s current active releases. Suppressed when the active-release list cannot be fetched.\n\n--json emits one JSON object with three top-level fields:\n\n current_ktstr_kconfig_hash hex digest of the kconfig fragment the\n running binary was built with, for\n stale-entry detection.\n active_prefixes_fetch_error null on success; error string on\n active-series fetch failure. When\n non-null, every entry\'s `eol` is false\n regardless of actual support status \u{2014}\n check this field before trusting `eol`.\n entries array of per-entry objects. Each\n element is either a VALID entry (full\n field set) or a CORRUPT entry\n (`key`, `path`, `error`,\n `error_kind`). `error` is the\n human-readable reason; `error_kind`\n the machine-readable classifier.\n Detect\n corruption by the presence of `error`.\n\nValid entry fields: key, path, version (nullable), source, arch,\nbuilt_at, ktstr_kconfig_hash (nullable), extra_kconfig_hash\n(nullable), kconfig_status, eol, config_hash (nullable),\nimage_name, image_path, has_vmlinux, vmlinux_stripped.\n\n path absolute path to the cache entry DIRECTORY.\n image_path absolute path to the boot image file INSIDE\n that directory. `path` points at the dir, not\n the image \u{2014} scripts that want the kernel\n artifact to pass to qemu/vm-loaders should\n read `image_path`, not join `path` with a\n hardcoded filename.\n kconfig_status one of \"matches\", \"stale\", \"untracked\"\n (Display form of cache::KconfigStatus).\n source internally-tagged on \"type\":\n {\"type\": \"tarball\"}\n {\"type\": \"git\", \"git_hash\": ?, \"ref\": ?}\n {\"type\": \"local\", \"source_tree_path\": ?,\n \"git_hash\": ?}\n Dispatch on \"type\" before reading variant\n fields.\n eol true iff the entry\'s major.minor series is absent\n from the active-prefix list. Meaningful only when\n active_prefixes_fetch_error is null. Also false\n whenever version is null (the missing-version\n short-circuit in `entry_is_eol`).\n has_vmlinux true iff the uncompressed vmlinux is cached\n alongside the compressed image (required for\n DWARF-driven probes).\n vmlinux_stripped true iff the cached vmlinux came from a\n successful strip pass. false marks the\n raw-fallback path \u{2014} a larger on-disk payload\n indicating the strip pipeline errored on this\n kernel; the entry is still usable but the\n fallback is a signal to investigate. Meaningful\n only when has_vmlinux is true (false otherwise).\n config_hash CRC32 of the final merged .config; distinct\n from ktstr_kconfig_hash which covers only the\n ktstr fragment.\n extra_kconfig_hash\n CRC32 of the user `--extra-kconfig` fragment\n (raw bytes, no canonicalization), or null when\n the entry was built without --extra-kconfig.\n The cache key suffix grows from `kc{baked}` to\n `kc{baked}-xkc{extra}` when extras are present,\n and this field stores the `xkc` segment so\n `kernel list` is self-describing for entries\n that carry user modifications.\n\nWhen --kernel is a range, the subcommand SWITCHES to range-preview\nmode and emits a structurally different JSON shape \u{2014} the cache\nis not walked at all, only kernel.org\'s releases.json is fetched\nto expand the inclusive range. The --json output is one object\nwith four top-level fields:\n\n range literal range string supplied to --kernel\n (e.g. \"6.12..6.14\").\n start parsed start endpoint\n (MAJOR.MINOR[.PATCH][-rcN]).\n end parsed end endpoint, same shape as start.\n versions array of resolved version strings inside\n [start, end] inclusive, ascending by\n (major, minor, patch, rc) tuple. Stable and\n longterm releases only \u{2014} mainline / linux-next\n are excluded by the moniker filter.\n\nRange-mode output never carries cache metadata\n(no current_ktstr_kconfig_hash, no entries) \u{2014} to inspect cached\nkernels for one of the resolved versions, run `kernel list`\nwithout --kernel. Consumers should dispatch on the presence of\nthe `range` key (range mode) versus `entries` key (list mode)\nto branch the parse.";Expand description
long_about for kernel list --help. Embeds EOL_EXPLANATION
verbatim (via eol_explanation_literal!) so the tag legend
cannot drift between the post-table output and the help copy,
then appends a plain-text rendering of the --json output
schema so scripted consumers can discover the contract from the
terminal without running cargo doc. The schema wording
mirrors the Rust-doc schema on super::kernel_list; keeping both
surfaces terse makes a drift obvious on review. A plain-text
(not JSON/markdown) rendering is used because clap applies no
JSON/markdown formatting pass, so the schema reads as plain
text. Clap does apply terminal-width wrapping, so the embedded
EOL sentence re-flows to the width of the host terminal; the
schema block’s explicit \n line breaks survive wrapping and
preserve the column-aligned field table.