summaryrefslogtreecommitdiffstats
path: root/content/en/slackware
diff options
context:
space:
mode:
Diffstat (limited to 'content/en/slackware')
-rw-r--r--content/en/slackware/mkhint/index.md32
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.