diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-25 11:56:29 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-25 11:56:29 +0200 |
| commit | bb24e7ab9ef4a1a97e00575f8c13497ec6a3e32d (patch) | |
| tree | 6c41d26ba71348645ab59673594668996c2ac0fd /CLAUDE.md | |
| parent | e1476496aec827af919a33e2b59d3be48c565770 (diff) | |
| download | mkhintfile-bb24e7ab9ef4a1a97e00575f8c13497ec6a3e32d.tar.gz mkhintfile-bb24e7ab9ef4a1a97e00575f8c13497ec6a3e32d.zip | |
Some upstreams name tarballs by a dotless build number while the
SlackBuild VERSION is dotted (sublime_text: VERSION 4.2.00, URL
build_4200), so the version swap missed the URL and the md5 was
recomputed for the old tarball. Also swap the dotless form, only
inside URLs and only as a whole number, leaving md5 hex alone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -159,12 +159,13 @@ Test coverage: | T90 | `--versions` multiple packages — both shown; no args exit 1 | | T91 | `--versions` with nvchecker section — Upstream shown, green when newest | | T92 | `--versions` no nvchecker section — note printed, exit 0 | +| T93 | `-f -V 4.2.15` on hint `4.2.00` with URL `build_4200` — URL bumped to `build_4215`, md5 untouched by the swap | When adding new features, add a corresponding test case to `tests/mkhint_test.sh`. ## Key Behaviors -- `--hintfile` update: backs up to `.bak`, replaces old version string globally via `sed`, re-downloads both URLs to recalculate MD5 checksums. Skips download if value is `UNSUPPORTED` or `UNTESTED`. After a successful update it dispatches slackrepo for the single package via `prompt_slackrepo`, which uses `pkg_in_repo` (glob `PACKAGES_DIR/*/<pkg>/<pkg>-*.txz`) to choose `slackrepo update` for a built package or `slackrepo build` for an absent one, both run through `run_slackrepo`. +- `--hintfile` update: backs up to `.bak`, replaces old version string globally via `sed` (plus the `_`→`-` form, and via `_swap_dotless_url_version` the dotless form inside URLs only, as a whole number: `4.2.00`→`4200` for sublime_text-style build-number tarballs), re-downloads both URLs to recalculate MD5 checksums. Skips download if value is `UNSUPPORTED` or `UNTESTED`. After a successful update it dispatches slackrepo for the single package via `prompt_slackrepo`, which uses `pkg_in_repo` (glob `PACKAGES_DIR/*/<pkg>/<pkg>-*.txz`) to choose `slackrepo update` for a built package or `slackrepo build` for an absent one, both run through `run_slackrepo`. - `--new` with existing `.info`: copies `.info` as template, strips `PRGNAM`, `HOMEPAGE`, `MAINTAINER`, `EMAIL`, comments out `REQUIRES`, sets `ARCH="x86_64"`. Keeps `VERSION` from `.info`. If `-V` given, updates version string and recalculates checksums. Also appends an nvchecker `[section]` to the config via `add_nvchecker_section`. - `add_nvchecker_section` autodetection: `_detect_nvchecker_source` recognizes github, gitlab, bitbucket, gitea, codeberg, and pagure owner/repo URLs plus the pypi, npm, gems, crates.io (`cratesio`), cpan, hackage, packagist, and cran registries, else leaves a commented stub. Github gets `use_latest_release = true` with commented `use_max_tag`/`prefix = "v"` fallbacks; the other forges get `use_max_tag = true` plus a commented `# prefix = "v"`; registries use the package name parsed from the URL via `_registry_name_from_url`, falling back to `PRGNAM` when no host-specific pattern matches. Either way, the managed stanza (freshly added or already present) is echoed fenced on stdout via `_extract_nvchecker_section`. - `--new` when hint already exists: backs up old, creates empty skeleton. |
