From bb24e7ab9ef4a1a97e00575f8c13497ec6a3e32d Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 25 Sep 2026 11:56:29 +0200 Subject: fix: bump dotless build number in download URLs 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 --- CLAUDE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'CLAUDE.md') diff --git a/CLAUDE.md b/CLAUDE.md index 3746996..d96c56a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -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/*//-*.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/*//-*.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. -- cgit v1.2.3