Skip to main content
Menu
No articles found matching your search.
Language

Tag

Packaging

mkhint
Life

mkhint

mkhint is a single Bash script that takes the tedium out of maintaining slackrepo hint files. A hint file overrides build details for an SBo package: which version to build, where to download the source, and the checksums to verify it. Keeping those in sync by hand, across dozens of packages, is exactly the kind of repetitive work a script should own. // What it does Update a hint -f package -v 2.0.1: bump the version everywhere in the file, re-download the source from DOWNLOAD / DOWNLOAD_x86_64, and recompute MD5SUM / MD5SUM_x86_64. The old file is backed up to .bak first. Create a hint -n package: generate a new hint from the matching repository .info file, stripping the fields slackrepo does not want and defaulting ARCH to x86_64. With no .info, it writes an empty skeleton. 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. 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. Check -C [package...]: query nvchecker for the latest upstream version of one, several, or all hints; report what is outdated; update accepted packages with nvtake; and finish with a single slackrepo update prompt for everything that changed. Housekeeping -d package / -c: delete a hint and its backup, or clean every .bak from the hint directory in one go. // Command reference 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 // How it worksmkhint is plain Bash with three small dependencies, each doing one job:

Read more