I just released libretools 20240707 to [libre] and pushed the source tarball to <https://repo.parabola.nu/other/libretools/>.
TL;DR: Make sure that your `/etc/libretools.conf.pacnew` is merged, maybe uncomment a HOOKPRERELEASE line in libretools.conf. This is a maintenance release, without any motivating features or bugfixes. But it's pretty big; certainly the highest-effort release in a while. Most of it is end-user invisible, but there's still a lot of mostly-minor visible stuff to note here. Changes from v20240528 to v20240707: Features: - messages.sh: + Has a new `gnuerror` function that prints error messages in the style of GNU error(3). `librexgettext` recognizes `gnuerror` by default. + The `panic` function now accepts an optional format string and args. `librexgettext` recognizes `panic` by default. + The `panic` function now prints a stacktrace before exiting. - librerelease: + HOOK{PRE,POST}RELEASE are now arrays, so it is possible to specify multiple commands for each. - librefetch: + The logs from running `mksource()` are now saved like other makepkg logs (thanks Bill Auger!). Changes: - All programs now have more consistent argument parsing, all respond to both `-h` and `--help`, and now simply print an error message for invalid flags instead of printing the whole `--help` text (which often lead people to not notice the error message). - librerelease: + No longer unconditionally launches a background SSH connection; if you need this functionality, there is an option in libretools.conf to enable it (uncomment a HOOKPRERELEASE line). This is similar to the pre-v20240327 behavior, but the default libretools.conf now has it turned off instead of turned on. + The staging lock is now *not* yet held when running HOOKPRERELEASE. + The pbot-notification is now a HOOKPOSTRELEASE, instead of being hard-coded. That means you can turn it off in libretools.conf, but I'm not sure why you would want to. This is more about the smell of having too much code in the librerelease core. - librefetch: + When running `mksource()`, a new `mkvalidpgpkeys=()` variable is used, rather than sharing the main `validpgpkeys=()` variable (thanks Bill Auger!). + The librefetch output is now more clearly separated from normal makepkg output (thanks Bill Auger!). - pkgbuild-check-nonfree: + The exit code numbers have changed. - The `indent` helper is now `$(librelib indent)` instead of `$(librelib chroot/indent)`. Bugfixes: - v20180103 and later erronously installed a second copy of blacklist.sh to `/usr/bin/` (it is normally installed to `/usr/lib/libretools/`). blacklist.sh does nothing useful when invoked as a stand-alone script. The copy in `/usr/bin/` has now been removed. - libremakepkg: With recent versions of pacman, a copy of locally-built package files could end up in the host `/var/cache/pacman/pkg/`, which could cause "corrupt package" errors on subsequent rebuilds. This has been fixed, and libremakepkg will no longer ever place locally-build packages in the system CacheDir. - librexgettext: Now recognizes messages.sh `plainerr` and `ask` by default; this should have been done in v20240528 when `plainerr` and `ask` were added. - librerelease: + No longer doubles the ellipsis when waiting for a lock. + No longer releases the lock too early. + A mis-configured GPGKEY no longer prevents warnings/diagnostics about mis-configured libretools.conf from showing. + The pbot notification now consistently sorts packages per the 'C' locale; previously it would fail to do so if `LC_COLLATE` was set in the environment (it set `LANG=` when it should have set either `LC_ALL=` or `LC_COLLATE=`). Deprecations/upcoming-changes: - A future version of libretools will drop the `libregit` compatibility wrapper around `gitget`. - A future version of libretools will drop `libre://` URL support from librefetch. - A future version of libretools will drop the `set_var` function from `conf.sh`. - A future version of libretools may change librerelease back to use the pre-v20240327 `REPODEST` config variable, removing the `TIER0_*` variables. See the discussion on the v20240327 release announcement. Maintenance: - The code is now formatted with `shfmt`. - The new target `make format` formats the code with `shfmt`. - The new target `make lint` checks that the code is formatted with `shfmt`, as well as a few other formatting checks. - The new target `make msgmerge` runs msgmerge on the `.po` files, so it is now easier to keep them in-sync with the sources. - The target `make check` now requires: + the `bats-file` support library + the `bats-assert` support library + an `es_*` locale to be enabled in `/etc/locale.gen` -- Happy hacking, ~ Luke T. Shumaker _______________________________________________ Dev mailing list Dev@lists.parabola.nu https://lists.parabola.nu/mailman/listinfo/dev