From 05998c05c189b6cf7c7d61c92cc3bcfad1539a54 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Thu, 9 Jul 2026 09:20:12 +0200 Subject: docs: spec for nvchecker autodetect expansion, -n stanza output, --info/-i Expand nvchecker source autodetection in add_nvchecker_section (the single global emitter used by --new and --check populate) to cover gitlab, bitbucket, gitea.com, codeberg, pagure, npm, gems, cratesio, cpan, hackage, packagist, cran, in addition to the existing github/pypi. Also spec the -n stanza echo and the --info/-i README viewer. Marks the v1.2.4 continuation-suppression TODO done. Co-Authored-By: Claude Opus 4.8 --- TODO.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'TODO.md') diff --git a/TODO.md b/TODO.md index ac48326..77851c8 100644 --- a/TODO.md +++ b/TODO.md @@ -4,7 +4,10 @@ - [ ] add a `--special` flag to add a package to the bundled list, asking for a link to it's upstream deps list file - [~] split `mkhint` into multiple files — **deferred (2026-07-08).** 1568 lines / 46 functions with clear section markers is under the threshold where a split pays off, and bash has no module system: "split" means `source lib/*.sh`, which complicates the single-binary VM deploy (`scp mkhint` → copy a dir + fixed libdir, or a concatenate build step) and means auditing shared globals (`REPO_DIR`, `VERSION`, `FORCE`, config-source order) crossing file boundaries. Revisit trigger: file grows toward ~2500+ lines, OR a change to one area starts breaking an unrelated one, OR you can't find where something lives. When that happens, extract ONLY the self-contained bundled-dep block (`# ── bundled-dep manifest handling ──` … `# ── end`, already has begin/end markers and its own T-BM tests) as a single `lib/bundle.sh` — do not do a full teardown. - [ ] add a noDL column to `--list` similar to what we do with DelReq - - [ ] suppress `prompt_continuation_urls` for manifest-listed packages (Phase 2 already corrects those lines; avoids the double-touch during the primary bump) + - [x] **v1.2.4:** suppress `prompt_continuation_urls` for manifest-listed packages (Phase 2 already corrects those lines; avoids the double-touch during the primary bump) + - [ ] **expand nvchecker source autodetection (priority):** map more upstream hosts than github/pypi in `add_nvchecker_section` (the single global emitter, used by `--new` and `--check` populate). Forges (owner/repo): gitlab, bitbucket, gitea.com, codeberg (gitea + `host`), pagure. Registries (name from URL, fall back to PRGNAM, else PRGNAM + `# verify`): npm, gems, cratesio, cpan, hackage, packagist, cran. Unrecognised → keep the `# TODO` stub. + - [ ] `--new`/`-n` prints the nvchecker stanza it appends (always, added or already-present), so I can see whether it needs hand-editing + - [ ] `--info`/`-i program`: print the relative path `category/program` highlighted (green) on top, then the program's README, paged if it doesn't fit - [ ] `--check --dry-run`: report what would change across all listed packages without prompting or writing (audit before acting) - [ ] cache the manifest per run: `reconcile_bundle_deps` currently fetches it twice (report + apply); fetch once and reuse - [ ] verify md5 against the manifest `SHA256`: cross-check the downloaded file's sha256 against the manifest entry before writing MD5SUM (integrity check) -- cgit v1.2.3