diff options
| -rw-r--r-- | content/en/slackware/mkhint/index.md | 32 | ||||
| -rw-r--r-- | content/it/slackware/mkhint/index.md | 34 |
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 |
