Skip to content

docs(matrix): correct the openSUSE column for Tumbleweed src-oss - #320

Merged
Gerrrt merged 2 commits into
mainfrom
claude/github-issues-query-5m5z5o
Aug 1, 2026
Merged

docs(matrix): correct the openSUSE column for Tumbleweed src-oss#320
Gerrrt merged 2 commits into
mainfrom
claude/github-issues-query-5m5z5o

Conversation

@Gerrrt

@Gerrrt Gerrrt commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator

Addresses the matrix half of dotgibson/dotfiles-openSUSE#74.

What & why

PORTING-MATRIX.md's openSUSE column understated what Tumbleweed packages. Seven tools were marked bootstrap-only (script³/cargo³/go³) that main OSS (src-oss, mirroring OBS openSUSE:Factory) now ships first-class — starship, atuin, yazi, viddy, ouch, doggo, ast-grep. Anyone stamping or maintaining dotfiles-openSUSE from the matrix was being told to build from source what zypper in already provides.

Each row now names its real package under a new footnote ¹⁸. Footnote ¹⁶ (viddy) dropped openSUSE from its "not packaged" list to match.

Is it actually Core?

  • Identical on every machine — not OS-specific (pkg manager, paths, clipboard → the OS repo)
  • Not offensive/engagement tooling (→ dotfiles-Kali)

PORTING-MATRIX.md is Core-authored repo documentation about the OS layer — the OS repos read it from their vendored core/, so it's correct for the fix to land here rather than in dotfiles-openSUSE.

Contract & checks

  • If a Core file was added/removed, core.manifest was updated in the same change — n/a, no files added or removed
  • make audit is green locally — 249 pass, 0 skip, 0 fail. markdownlint-cli2 wasn't installed in my environment and was skipping; I installed it so the one check that actually gates a markdown-only change ran (0 issues)
  • Exec-bits correct — n/a, docs-only
  • If a new file needs a symlink, each OS repo's bootstrap.sh was noted/updated — n/a

Notes

Scope is deliberately narrow. Two things the audit surfaced are not in this PR:

  1. Moving these tools into dotfiles-openSUSE's install/packages.txt. That's a real judgment call — it trades upstream-latest for the distro build — and it's the OS repo's decision, not Core's. Footnote ¹⁸ says so explicitly so the next reader doesn't assume it was an oversight.
  2. jujutsu / difftastic being absent from openSUSE's packages.txt. The audit flagged these as a possible omission and asked to confirm against the Fedora template first. I checked: dotfiles-Fedora's install/packages.txt doesn't carry them either, and footnote ⁸ already records that opt-in tools are "availability-documented here but not carried in any OS repo's packages.txt yet." So openSUSE is consistent with the template — nothing to reconcile.

Caveat carried into the footnote rather than silently dropped: the audit queried Tumbleweed/Factory only — Leap 15.x was not separately audited and rolls slower. Footnote ¹⁸ tells Leap users to verify with zypper se and fall back to the ³ path. I'd rather the matrix say which flavor it means than imply a guarantee the audit didn't establish.

Not synced. This changes a vendored file, so the OS repos won't see it until a make sync. I've left that to the normal release flow rather than fanning out a docs commit on its own.


Generated by Claude Code

Seven tools were marked bootstrap-only (script/cargo/go) in the openSUSE
column that Tumbleweed main OSS now ships first-class: starship, atuin,
yazi, viddy, ouch, doggo, ast-grep. Anyone reading the matrix was being
told to build from source what `zypper in` already provides.

Each row now names its real package under a new footnote 18, which also
records what the audit could not close: Leap 15.x was not separately
audited and rolls slower, so verify with `zypper se` there. Footnote 16
(viddy) drops openSUSE from its "not packaged" list to match.

Docs-only. bootstrap.sh and packages.txt are unchanged, and the
best-effort installs stay correct because each is presence-guarded.

Refs dotgibson/dotfiles-openSUSE#74

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CzKmTKtvGgsa82MCxPPy5i

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Corrects openSUSE Tumbleweed package availability documentation and records the update in the changelog.

Changes:

  • Marks seven tools as available from Tumbleweed OSS.
  • Adds Tumbleweed/Leap caveats and updates the viddy note.
  • Documents the change under [Unreleased].

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
PORTING-MATRIX.md Updates openSUSE package entries and footnotes.
CHANGELOG.md Records the matrix correction.
Suppressed comments (1)

PORTING-MATRIX.md:183

  • This conflates the source repository with the installable package repository. src-oss contains SRPMs, while zypper in obtains these binary packages from Tumbleweed's repo/oss; please name the latter here.
¹⁸ openSUSE **Tumbleweed** now ships these first-class in main OSS (`src-oss`, mirroring
OBS `openSUSE:Factory`), so `zypper in` beats the upstream-installer/cargo/go fallback these

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread PORTING-MATRIX.md Outdated
`community` (a native musl build — apk-installed, with the cargo build kept as a fallback).
**not** in Arch-official, Gentoo, or Debian/Kali apt, but now in **Alpine**
`community` (a native musl build — apk-installed, with the cargo build kept as a fallback)
and **openSUSE** Tumbleweed `src-oss` (see ¹⁸).

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, and thanks — fixed in 074a432 across all three sites (both PORTING-MATRIX.md footnotes and the CHANGELOG.md entry).

src-oss came from the routine's own report and I carried it over without checking. zypper in resolves against the binary repo-oss (.../tumbleweed/repo/oss); src-oss is the source-RPM repo and is not enabled by default. Since this is precisely the kind of thing that gets reintroduced by the next person copying the phrasing, the footnote now names repo-oss and says explicitly what src-oss is and why it isn't the right name here.


Generated by Claude Code

Comment thread PORTING-MATRIX.md Outdated
Comment on lines +187 to +191
Tumbleweed because that's the flavor this fleet targets; `dotfiles-openSUSE`'s
`bootstrap.sh` still installs the ³ way, which is correct and harmless either way (each
install is presence-guarded, so a packaged binary just short-circuits it). Moving any of
these into `install/packages.txt` is a separate judgment call — it trades upstream-latest
for the distro build — and is deliberately **not** done here.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified and you're right — fixed in 074a432.

I checked dotfiles-openSUSE/bootstrap.sh directly: starship, atuin, yazi, viddy, doggo all have installers; ast-grep has zero occurrences and ouch's single grep hit is the word "touching" in a comment. So there is no installer for either.

That makes this more than a wording fix. The cargo³ cells those two used to carry pointed at footnote ³ — "bootstrap.sh installs it best-effort" — which was never true on openSUSE. The overclaim predates this PR; correcting the column is just what surfaced it. Footnote ¹⁸ now splits the seven into the five bootstrap actually covers and the two it doesn't, and says packaging is the only automatic path for ouch/ast-grep. The CHANGELOG entry carries the same split.

Sharpens the "should these move into packages.txt?" question the PR deliberately leaves open: for the other five it's a preference (distro build vs. upstream-latest), but for these two it's the difference between installed and not.


Generated by Claude Code

Comment thread CHANGELOG.md Outdated
install/start lifecycle. Covered by a new assertion in `scripts/test-core.sh` (each buf basename
resolves to `buf-config`; the parser alias resolves to `yaml`).
- **`PORTING-MATRIX.md`'s openSUSE column no longer understates what Tumbleweed packages.** Seven
tools were marked bootstrap-only (`script³`/`cargo³`/`go³`) that main OSS (`src-oss`) now ships
Comment thread CHANGELOG.md Outdated
Comment on lines +159 to +160
"not packaged" list to match. Docs-only — no `bootstrap.sh` or `packages.txt` behavior changes,
and the ³ installs stay correct because each is presence-guarded.
…s ouch/ast-grep

Two corrections from review on #320:

- `src-oss` is openSUSE's SOURCE-RPM repo, not the binary repo `zypper in`
  resolves against. The installable packages are in `repo-oss`
  (.../tumbleweed/repo/oss). Named correctly, with the distinction spelled
  out so the next reader doesn't reintroduce it.

- The footnote claimed dotfiles-openSUSE's bootstrap.sh installs all seven
  the best-effort way. It installs five (starship, atuin, yazi, viddy,
  doggo); it has no installer for ouch or ast-grep at all. So those two
  cells were already overclaiming a fallback that never existed, which
  makes the package name their only automatic path — now stated.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CzKmTKtvGgsa82MCxPPy5i
@Gerrrt
Gerrrt merged commit ad548f0 into main Aug 1, 2026
14 checks passed
@Gerrrt
Gerrrt deleted the claude/github-issues-query-5m5z5o branch August 1, 2026 23:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants