Salta al contenuto principale

Tag

Packaging

mkhint
Vita

mkhint

mkhint è un singolo script Bash che elimina la noia di mantenere gli hint file di slackrepo. Un hint file sovrascrive i dettagli di build di un pacchetto SBo: quale versione compilare, da dove scaricare i sorgenti e i checksum con cui verificarli. Tenerli allineati a mano, su decine di pacchetti, è esattamente il tipo di lavoro ripetitivo che dovrebbe spettare a uno script. // Cosa fa Aggiorna un hint -f package -v 2.0.1: porta la versione ovunque nel file, riscarica i sorgenti da DOWNLOAD / DOWNLOAD_x86_64 e ricalcola MD5SUM / MD5SUM_x86_64. Il file precedente viene salvato in .bak. Crea un hint -n package: genera un nuovo hint dal .info corrispondente nel repository, rimuovendo i campi che slackrepo non vuole e impostando ARCH a x86_64. Senza .info, scrive uno scheletro vuoto. 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. 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. Controllo -C [package...]: interroga nvchecker per l’ultima versione upstream di uno, alcuni o tutti gli hint; segnala cosa è obsoleto; aggiorna i pacchetti accettati con nvtake; e termina con un unico prompt slackrepo update per tutto ciò che è cambiato. Manutenzione -d package / -c: cancella un hint e il suo backup, oppure rimuove tutti i .bak dalla directory degli hint in un colpo solo. // Riferimento dei comandi text 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 mkhint - Manage hint files for slackrepo scripts Usage: ./mkhint --version VERSION --hintfile FILE Update existing hint file ./mkhint --version VERSION --new FILE Create new hint file ./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 --list List hint files ./mkhint --review Review hints matching SBo 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 ./mkhint --help Show this help 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 --clean, -c Remove all .bak files from HINT_DIR --check, -C [FILE...] Check hints for upstream updates via nvchecker, update interactively --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 // Come funzionamkhint è puro Bash con tre piccole dipendenze, ciascuna con un compito solo:

Continua a leggere