devel/iniparser: Update to 4.3.0
* Add tests:
Unity is fetched at configure time, which needs network access. Add it
as a second distfile and set FETCHCONTENT_SOURCE_DIR_UNITY instead.
This skips the PATCH_COMMAND that places unity_config.h, so copy it in
pre-test.
ChangeLog:
https://gitlab.com/iniparser/iniparser/-/releases/v4.3.0#430-2026-09-15
[MLGO] Saturate out-of-range regalloc priority advice (#224062)
Converting the float advice to unsigned is undefined outside `[0, 2^32)`
interval
Negative advice wrapped to near UINT_MAX and flipped the priority order,
NaN or advice below 1.0 made every priority 0
[ORC] Fix wrong callee in EPCGenericRTDyldMemoryManager dtor (#224493)
The destructor invoked the reserve wrapper with the release signature
when freeing FinalizedAllocs. Call the release wrapper instead.
No testcase. This was spotted by inspection, and this class is expected
to be deprecated shortly.
Make zfs.resource a plain Service with list, create, update and destroy
## Problem
`zfs.resource` had been rebased onto `GenericCRUDService`, which does not fit a service that is a view onto ZFS rather than a datastore-backed collection. The filterable `query` needed a documented carve-out so that filters never widen the walk, plus an identity push-down that existed only so `get_instance` could work at all, and `create`/`destroy` grew `do_*` spellings and a `delete` alias alongside them. The entry model drifted in the same direction: it gained `crypto`, `snapshot_count` and `snapshots` and lost `children`, so a resource listing was carrying snapshot and encryption data that does not belong in it.
## Solution
**Plain `Service`.** `ZFSResourceService` is a plain `Service` with a three-key `Config`. The service part, the `role_prefix`, the separate delete role, the registered-but-never-sent event and the `generic` flag all go; every public method carries an explicit `roles=`. Note that `update` is exempt from the decorator's "roles are required" check, so a unit test asserts its roles directly.
**`list` replaces `query`.** It is master's `query` renamed, taking a single object: traversal is whatever the caller asks for, there are no filters, and results are flat unless `nest_results` is set. `children` is back on the entry and `id` is gone. This is a hard rename with no compatibility shim, so 25.10.x and 26.0 clients lose `zfs.resource.query` outright - that needs a release note.
**`update` is new.** One method taking `{path, properties, user_properties, inherit}` and returning the updated entry, rather than a `zfs(8)`-shaped split into `set` and `inherit`. A dataset edit is one save, the underlying handle already performs the set, the user-property set and the per-property inherit in a single pass, and splitting the API would only export sequencing and partial rollback to every caller. Its property vocabulary subclasses the create model so the public/private split is inherited rather than copied, minus the properties ZFS cannot change after creation. Validation stays at the level `create` sits at; the share, licence and protocol policy that `pool.dataset.update` performs stays where it is.
**The write primitive moves.** `update_impl` now lives on `zfs.resource` as an untyped keyword-argument primitive, since internal callers legitimately write names outside the public vocabulary. `pool.dataset.update_impl` becomes a shim that unpacks its existing argument dict, which keeps that dict intact as the HA wire format it is and leaves its callers untouched. `zfs.tier` calls the primitive directly through a typed call and moves onto the `ZFS_RESOURCE_*` roles that match its namespace; a custom privilege built on `DATASET_*` alone therefore loses `zfs.tier`, which also needs a release note.
**Read parity keeps master's behaviour.** The choices methods, the zvol blocksize recommendation and the processes family stay in their new home under `plugins/zfs/`, but `processes` goes back to master's two-candidate-path lookup rather than scanning the dataset subtree, so `pool.dataset.processes` no longer reports a holder of a child dataset.
**Fixes carried along.** Normalising sources no longer dereferences a null `properties`; the overlapping-path check now runs whenever the walk descends rather than only when `get_children` is set, and names the option that actually triggered it; `max_depth` is bounded below at zero; and nesting no longer raises when a parent's `children` is absent because the walk never descended into it.