summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/en/slackware/mkhint/index.md32
-rw-r--r--content/it/slackware/mkhint/index.md34
2 files changed, 58 insertions, 8 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.
diff --git a/content/it/slackware/mkhint/index.md b/content/it/slackware/mkhint/index.md
index 9e2eb55..9b1dd46 100644
--- a/content/it/slackware/mkhint/index.md
+++ b/content/it/slackware/mkhint/index.md
@@ -29,10 +29,18 @@ ripetitivo che dovrebbe spettare a uno script.
- **Elenco** `-l`: stampa ogni hint con il suo `HintVer` (versione nell'hint)
accanto al `SBOVer` (versione nel `.info` del repository), evidenziando le
righe in cui i due valori coincidono byte per byte, così individui gli hint
- ormai ridondanti rispetto all'upstream.
+ ormai ridondanti rispetto all'upstream. Passando dei nomi (`-l foo bar`)
+ salta la tabella e mostra ciascun hint indicato affiancato al suo `.info`.
- **Revisione** `-R`: scorre solo gli hint evidenziati, mostrando ciascuno
affiancato al suo `.info` (`git diff --no-index`, con ripiego su `diff -y`) e
- chiedendo se tenere, cancellare o saltare.
+ chiedendo se tenere, cancellare o saltare. Passando dei nomi (`-R foo bar`)
+ rivede gli hint indicati a prescindere dalla corrispondenza di versione.
+- **Fix -current** `-F`: scorre tutto il repository e, per ogni pacchetto il cui
+ `REQUIRES` nomina una dipendenza fantasma (inutile su slackware-current,
+ elencata una volta in `~/.config/mkhint/phantom-deps`), garantisce che l'hint
+ porti il relativo `DELREQUIRES`. È idempotente, quindi eseguilo dopo ogni
+ rigenerazione settimanale del repository. `-n` applica la stessa lista quando
+ crea un hint.
- **Controllo** `-C [package...]`: interroga
[nvchecker](https://github.com/lilydjwg/nvchecker) per l'ultima versione
upstream di uno, alcuni o tutti gli hint; segnala cosa è obsoleto; aggiorna i
@@ -52,8 +60,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 +73,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
@@ -92,6 +103,21 @@ mentre ogni URL di continuazione viene proposto in modo interattivo, così i
sorgenti invariati conservano il checksum esistente invece di essere riscaricati
inutilmente.
+Una stringa di versione SlackBuild non può contenere `-` (romperebbe il parsing
+di `PRGNAM`), quindi un rilascio upstream come `2026-06-02` viene pacchettizzato
+come `2026_06_02`. mkhint normalizza le versioni upstream (`-` diventa `_`) prima
+del confronto, così risultano la stessa versione e non viene proposto alcun
+aggiornamento o downgrade spurio; è la forma con underscore a essere scritta
+nell'hint.
+
+Sia lo sweep `-F` / `--fix-current` sia la gestione delle dipendenze fantasma in
+`-n` leggono `~/.config/mkhint/phantom-deps`, una dipendenza per riga (commenti
+con `#` ammessi). Copre le dipendenze che gli SlackBuild SBo richiedono su
+Slackware stable ma non su slackware-current, dove il sistema le fornisce già,
+per esempio `rust-opt` o `google-go-lang`. slackrepo rimuove una simile
+dipendenza con `DELREQUIRES` nell'hint; mkhint scrive e unisce quella riga al
+posto tuo. Una lista assente rende entrambe le funzioni inoperanti.
+
## Perché esiste
Mantenere un overlay SBo personale significa un flusso costante di aggiornamenti