diff options
Diffstat (limited to 'content/en/slackware/mkhint/index.md')
| -rw-r--r-- | content/en/slackware/mkhint/index.md | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/content/en/slackware/mkhint/index.md b/content/en/slackware/mkhint/index.md index 4f476c9..e2d1c20 100644 --- a/content/en/slackware/mkhint/index.md +++ b/content/en/slackware/mkhint/index.md @@ -29,10 +29,17 @@ script should own. - **List** `-l`: print every hint with its `HintVer` (version in the hint) next to the `SBOVer` (version in the repo `.info`), highlighting the rows where the two are byte-equal so you can spot hints that have become redundant with - upstream. + upstream. Passing names (`-l foo bar`) skips the table and shows each named + hint side by side with its `.info` instead. - **Review** `-R`: walk only those matched hints, showing each hint side by side with its `.info` (`git diff --no-index`, falling back to `diff -y`), and - prompt to keep, delete, or skip. + prompt to keep, delete, or skip. Passing names (`-R foo bar`) reviews the named + hints regardless of version match. +- **Fix -current** `-F`: sweep the whole repository and, for every package whose + `REQUIRES` names a phantom dep (one unneeded on slackware-current, listed once + in `~/.config/mkhint/phantom-deps`), ensure the hint carries the matching + `DELREQUIRES`. Idempotent, so run it after each weekly repo regeneration. + `-n` applies the same list when creating a hint. - **Check** `-C [package...]`: query [nvchecker](https://github.com/lilydjwg/nvchecker) for the latest upstream version of one, several, or all hints; report what is outdated; update accepted @@ -52,8 +59,10 @@ Usage: ./mkhint --new FILE Create new hint file (no version) ./mkhint --hintfile FILE Update hint, suggest latest version via nvchecker ./mkhint --check [FILE...] Check all (or named) hints for upstream updates + ./mkhint --fix-current Sweep repo, add DELREQUIRES for -current phantom deps ./mkhint --list List hint files ./mkhint --review Review hints matching SBo version, keep/delete each + ./mkhint --review FILE... Review named hints (any version), keep/delete each ./mkhint --clean Remove .bak files from HINT_DIR ./mkhint --no-dl --hintfile FILE Update hint, skip downloads, add NODOWNLOAD=yes ./mkhint --no-dl --new FILE Create hint with NODOWNLOAD=yes @@ -63,10 +72,11 @@ Options: --version, -v VERSION New version string (required for --hintfile) --hintfile, -f FILE Path to existing hint file (required with --version) --new, -n FILE Create new hint file (required with --version or standalone) - --list, -l List all hint files in the default directory - --review, -R Review hints whose version matches the SBo .info; diff + keep/delete + --list, -l [FILE...] List all hint files; FILE... = side-by-side hint vs .info + --review, -R [FILE...] Review hints; no args = matched only, FILE... = named hints (any version) --clean, -c Remove all .bak files from HINT_DIR --check, -C [FILE...] Check hints for upstream updates via nvchecker, update interactively + --fix-current, -F Add/merge DELREQUIRES for -current phantom deps across the whole repo --delete, -d FILE Delete a hint file (and .bak if present) --no-dl, -N Skip downloads; add NODOWNLOAD=yes to hint file (use with -f or -n) --help, -h Show this help message @@ -91,6 +101,20 @@ carefully: the first URL is always re-fetched because the version changed, while each continuation URL is offered interactively so unchanged sources keep their existing checksum instead of being downloaded again for nothing. +A SlackBuild version string cannot contain `-` (it would break `PRGNAM` +parsing), so an upstream release like `2026-06-02` is packaged as `2026_06_02`. +mkhint normalizes upstream versions (`-` becomes `_`) before comparing, so +these read as the same version and no spurious up- or downgrade is offered; the +underscore form is what gets written to the hint. + +The `-F` / `--fix-current` sweep and the phantom-dep handling in `-n` both read +`~/.config/mkhint/phantom-deps`, one dep per line (`#` comments allowed). This +covers deps that SBo SlackBuilds need on Slackware stable but not on +slackware-current, where the system already ships them, for example `rust-opt` +or `google-go-lang`. slackrepo strips such a dep with `DELREQUIRES` in the hint; +mkhint writes and merges that line for you. A missing list makes both features +no-ops. + ## Why it exists Maintaining a personal SBo overlay means a steady trickle of version bumps. |
