FreeBSD/ports bab9a97cad/freecad-devel Makefile.git_rev distinfo, cad/freecad-devel/files patch-src_Base_CrashReporter_Format.h

cad/freecad-devel: Update to 2026.08.30
DeltaFile
+16-14cad/freecad-devel/pkg-plist
+0-10cad/freecad-devel/files/patch-src_Base_CrashReporter_Format.h
+5-5cad/freecad-devel/distinfo
+4-4cad/freecad-devel/Makefile.git_rev
+25-334 files

LLVM/project 8c3eb53llvm/include/llvm/CodeGen SelectionDAG.h, llvm/include/llvm/CodeGen/GlobalISel CSEMIRBuilder.h CSEInfo.h

[CodeGen] Migrate to FoldingSet's typed lookup/insert/erase. NFC (#219830)

Rename SelectionDAG::FindNodeOrInsertPos to lookupNode and use the new
FoldingSetInsertToken API in place of `void *`.

In SelectionDAG the token is named `InsertToken`, as Token there means
the chain operand (TokenFactor, EntryToken).
DeltaFile
+187-186llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+20-19llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
+15-13llvm/include/llvm/CodeGen/SelectionDAG.h
+13-14llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
+5-4llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
+4-4llvm/include/llvm/CodeGen/GlobalISel/CSEMIRBuilder.h
+244-2402 files not shown
+250-2488 files

FreeBSD/ports e7f3c7cemulators/bochs Makefile distinfo, emulators/bochs/files patch-gui_keymap.cc

emulators/bochs: Update to 3.1
DeltaFile
+0-11emulators/bochs/files/patch-gui_keymap.cc
+6-2emulators/bochs/pkg-plist
+3-3emulators/bochs/distinfo
+3-1emulators/bochs/Makefile
+12-174 files

FreeBSD/ports aa64479deskutils/elementary-calendar Makefile

deskutils/elementary-calendar: reset MAINTAINER
DeltaFile
+1-1deskutils/elementary-calendar/Makefile
+1-11 files

FreeBSD/ports 07dd703graphics/minder Makefile

graphics/minder: reset MAINTAINER
DeltaFile
+1-1graphics/minder/Makefile
+1-11 files

FreeBSD/ports 953c36ex11/roxterm Makefile

x11/roxterm: reset MAINTAINER
DeltaFile
+1-1x11/roxterm/Makefile
+1-11 files

FreeBSD/ports 120cad9sysutils/froxlor Makefile

sysutils/froxlor: reset MAINTAINER
DeltaFile
+1-1sysutils/froxlor/Makefile
+1-11 files

FreeBSD/ports d853458sysutils/iocage-devel Makefile

sysutils/iocage-devel: reset MAINTAINER
DeltaFile
+1-1sysutils/iocage-devel/Makefile
+1-11 files

FreeBSD/ports 5d958abgraphics/py-glfw Makefile

graphics/py-glfw: reset MAINTAINER
DeltaFile
+1-1graphics/py-glfw/Makefile
+1-11 files

FreeBSD/ports 0104631graphics/djvulibre Makefile

graphics/djvulibre: reset MAINTAINER
DeltaFile
+1-1graphics/djvulibre/Makefile
+1-11 files

FreeBSD/ports ccf4cdbx11/elementary-terminal Makefile

x11/elementary-terminal: reset MAINTAINER
DeltaFile
+1-1x11/elementary-terminal/Makefile
+1-11 files

FreeBSD/src 4881c7atests/sys/kern unix_stream.c

tests/sys/kern/unix_stream: fix bad assertion

kqueue returns a value != -1 on error. Test for that instead of any
non-zero value to confirm that success was achieved when calling
`kqueue`.

This issue exists with ATF 0.22+ [1].

MFC after:      2 weeks
Reported by:    clang (-Wparenthesis)

[1]: https://github.com/freebsd/atf/pull/72
DeltaFile
+2-1tests/sys/kern/unix_stream.c
+2-11 files

FreeBSD/src 4ae95fetests/sys/sys bitstring_test.c

tests/sys/sys/bitstring_test: fix build with ATF 0.22+

Do not assign `b` in the `ATF_REQUIRE` macro. Set and test `b`
separately to avoid the issue cited by clang++/g++ after
implementing the change referenced in [1].

MFC after:      2 weeks
Reported by:    clang (-Wparenthesis)
Reference:      https://github.com/freebsd/atf/pull/72
DeltaFile
+2-1tests/sys/sys/bitstring_test.c
+2-11 files

NetBSD/pkgsrc acTjm14x11/xlockmore-lite Makefile

   xlockmore-lite: Remove FILESDIR / PATCHDIR.

   Not only were these wrong (relative not absolute), they overwrote the correct
   settings coming from Makefile.common.
VersionDeltaFile
1.27+1-4x11/xlockmore-lite/Makefile
+1-41 files

FreeBSD/ports ff5fe3fsecurity/gopass Makefile distinfo

security/gopass: Update to 1.17.0

ChangeLog: https://github.com/gopasspw/gopass/releases/tag/v1.17.0
DeltaFile
+7-7security/gopass/distinfo
+2-3security/gopass/Makefile
+9-102 files

NetBSD/pkgsrc cAF3DbPmath/xyconvert Makefile

   xyconvert: Fix path to distinfo / patches.
VersionDeltaFile
1.42+3-3math/xyconvert/Makefile
+3-31 files

LLVM/project 88f3a79llvm/lib/Transforms/Utils SCCPSolver.cpp, llvm/test/Transforms/SCCP ipsccp-recursive-arg-update.ll

[SCCP] Fix missing worklist push for recursive calls that update lattice values (#219826)

For a recursive call, the call instruction itself is a user of the
function's arguments. Because I == CurI, I->comesBefore(CurI) is false,
and the condition triggers an early return. The recursive call
instruction was skipped and never pushed back onto the worklist, halting
the solver prematurely before reaching a fixpoint. This caused the
solver to incorrectly believe arguments were hardcoded constants rather
than a wider constant range, resulting in invalid branch folding.

The Fix: This patch updates the condition to explicitly check if I comes
strictly after CurI.

Fixes: https://github.com/llvm/llvm-project/issues/219503
DeltaFile
+37-0llvm/test/Transforms/SCCP/ipsccp-recursive-arg-update.ll
+1-1llvm/lib/Transforms/Utils/SCCPSolver.cpp
+38-12 files

NetBSD/pkgsrc-wip 573e90agitea-runner COMMIT_MSG Makefile, gitea-runner/files gitea-runner.sh config.yaml

gitea-runner: remove

Imported in pkgsrc.
DeltaFile
+0-734gitea-runner/distinfo
+0-297gitea-runner/files/config.yaml
+0-245gitea-runner/go-modules.mk
+0-62gitea-runner/Makefile
+0-26gitea-runner/files/gitea-runner.sh
+0-4gitea-runner/COMMIT_MSG
+0-1,3683 files not shown
+0-1,3749 files

FreeBSD/src c006c8dsys/net if_bridge.c

if_bridge: Fix NULL softc dereference in bridge_input()

In bridge_input, sc is initialized to NULL and doesn't get
resolved until after the Ethernet header pullup.
So the pullup's failure path ends up dereferencing the NULL sc
when bumping up IFCOUNTER_IERRORS.

The m_freem call right under it is redundant as the failure path in
m_pullup already freed the chain.

Drop both lines, matching what we have in bridge_output.

ether_input_internal() discards frames shorter than ETHER_HDR_LEN
before the bridge hook, so it is unlikely that it will fire.
We still keep the guard as lagg(4) and ng_ether(4) may replace
the mbuf before the bridge hook.

Signed-off-by:  Aaron Espinoza <acesp25 at freebsd.org>
Reviewed by:    pouria
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2393
DeltaFile
+1-4sys/net/if_bridge.c
+1-41 files

FreeNAS/freenas 386ed76src/middlewared/middlewared/alert/source license_status.py

Name the license expiry alerts after the support contract

This commit adds changes to retitle the two expiry alerts, which said the license was expiring when what actually expires is the support contract — the alert bodies and the renewal mail have said so all along, and a license carries no expiry of its own. Class names are deliberately unchanged so user set alert levels and policies keep matching.
DeltaFile
+2-2src/middlewared/middlewared/alert/source/license_status.py
+2-21 files

FreeNAS/freenas 6271d8fsrc/middlewared/middlewared/plugins alert.py

Fix comments
DeltaFile
+0-6src/middlewared/middlewared/plugins/alert.py
+0-61 files

FreeNAS/freenas f21811cdocs/source/middleware/plugins alert.rst

Document alert applicability and the frozen inventory

This commit adds changes to document the applicability axes and the frozen inventory in the alert plugin docs, since the only record of how to regenerate that file lived in the test module's own docstring and you only found it after CI had already failed. The populations are pulled in with automodule so a new one documents itself, and the page spells out what does and does not require a regeneration plus what each guard test means when it fails.
DeltaFile
+119-0docs/source/middleware/plugins/alert.rst
+119-01 files

FreeNAS/freenas 5b401a6src/middlewared/middlewared/plugins alert.py, src/middlewared/middlewared/pytest/unit/alert test_applicability_matrix.py test_run_gates.py

Say which systems the enclosure alerts newly reach

This commit adds changes to test the failover run gates and to correct what the enclosure change was described as affecting. post_failover_blackout and require_stable_peer move out of the run loop into source_run_gates_pass so both can be checked without a middleware object or a running service, and a frozen inventory test pins which sources carry them and what each one is gated on.

failover_related was gating enclosure_status on an HA licence, which is a licensing predicate in front of a hardware question. Enclosure faults are now reported on every iX appliance that lacks an ENTERPRISE_HA licence, both unlicensed appliances and single controller licensed ones (ENTERPRISE_SINGLE, FREENAS-CERTIFIED). The earlier note said only "unlicensed appliances", which undercounts the fleet by the whole licensed single controller half. EnclosureHealthy is INFO and is raised once per enclosure, expansion shelves included, so affected systems will see several new informational alerts.

The matrix legend claimed a source row meant the source is ran, which was never true: it models applies_to only, and never post_failover_blackout, require_stable_peer, the schedule or source locks. That is the only change to the golden file.
DeltaFile
+151-0src/middlewared/middlewared/pytest/unit/alert/test_run_gates.py
+20-4src/middlewared/middlewared/plugins/alert.py
+3-1src/middlewared/middlewared/pytest/unit/alert/test_applicability_matrix.py
+3-1src/middlewared/middlewared/pytest/unit/alert/golden/applicability.txt
+177-64 files

FreeNAS/freenas e641a41src/middlewared/middlewared/pytest/unit/alert test_applicability_matrix.py test_alert_black_holes.py

Drive the alert enforcement sites from unit tests

This commit adds changes to test the four sites in plugins/alert.py that consume an applicability rule, rather than only the rules themselves. The run and send axes had no execution coverage at all: emptying the excluded-source set, deleting the alert purge loop, or making the send filter answer True all left the suite green. These drive __run_alerts and send_alerts against stub sources through a shared harness, and record what the policies delete, since dropping the purge loop still leaves the alert list correct and nothing else can see it.

The purge is worth pinning on its own because it destroys state: a source whose rule stops admitting this system loses the alerts it had persisted, and when it applies again they come back with a fresh uuid and their dismissed flag cleared. There is also an asymmetry three lines apart in that loop, deliberate but unasserted until now, where a rule-excluded source is purged and a gate-blocked one is only skipped.

Also fixes both AST scanners. BondStatus is a shipped source that does not carry the AlertSource name suffix, so the black hole check never saw it or the three classes it creates; keying off the subclass relation the loader itself uses picks it up and keeps the two modules from disagreeing. Reading attribute-spelled bases stops a class written as base.AlertClass dropping out of the frozen inventory with nothing to show for it. Both scanners now carry an invariant test, so a shape they cannot model fails instead of silently shrinking what is covered.
DeltaFile
+207-0src/middlewared/middlewared/pytest/unit/alert/harness.py
+163-0src/middlewared/middlewared/pytest/unit/alert/test_alert_send_alerts.py
+124-0src/middlewared/middlewared/pytest/unit/alert/test_alert_run_loop.py
+31-25src/middlewared/middlewared/pytest/unit/alert/test_alert_plugin_applicability.py
+41-4src/middlewared/middlewared/pytest/unit/alert/test_alert_black_holes.py
+36-3src/middlewared/middlewared/pytest/unit/alert/test_applicability_matrix.py
+602-321 files not shown
+614-457 files

FreeNAS/freenas 420c8d3src/middlewared/middlewared/alert/source sata_dom_wear.py, src/middlewared/middlewared/pytest/unit/alert/golden applicability.txt

Remove the broken SATA DOM wear alert

This commit adds changes to delete the SATA DOM wear alert source and its two classes. The source calls disk.sata_dom_lifetime_left, which was removed in 25.10 and has no implementation anywhere, so it raises on every run on any M or Z series chassis and produces nothing but alert source failures.

Alerts already persisted on existing systems clear on the next start through the stale source check in initialize, which runs before the policies are built, so nothing is announced as cleared. No migration is needed, matching how every previous alert source removal was handled.
DeltaFile
+0-55src/middlewared/middlewared/alert/source/sata_dom_wear.py
+0-5src/middlewared/middlewared/pytest/unit/alert/golden/applicability.txt
+0-602 files

FreeNAS/freenas 5987ee6src/middlewared/middlewared/alert/source failover_sync.py mseries_nvdimm_and_bios.py, src/middlewared/middlewared/plugins alert.py

Move alert gating onto hardware and license axes

This commit adds changes to give every declaration under alert/source its own applicability rule on the decoupled hardware and license axes, and points the enforcement sites in plugins/alert.py at those rules instead of system.product_type. The products lines stay for now because the API field still reads them. HA classes take a hardware applies_to alongside listed_when on purpose, so on iX hardware whose HA licence is absent or lapsed they leave the settings catalogue without being silenced, and a source that no longer applies now has its stored alerts dropped rather than stranding them undismissable. The two scheduled-reboot classes are the exception: they are gated on the HA licence itself, so a system without one stops seeing them at all.

sata_dom_wear is knowingly shipped in a broken state: its source calls disk.sata_dom_lifetime_left, which was removed in March 2025, so appliances will see the check fail. That is a deliberate, signed-off decision and not an oversight.

The checked-in matrix under pytest/unit/alert/golden spells out old versus new applicability per population for every declaration, and its test regenerates and diffs it so no population change lands unread.
DeltaFile
+377-0src/middlewared/middlewared/pytest/unit/alert/golden/applicability.txt
+266-0src/middlewared/middlewared/pytest/unit/alert/test_applicability_matrix.py
+34-16src/middlewared/middlewared/plugins/alert.py
+16-0src/middlewared/middlewared/alert/source/failover.py
+13-0src/middlewared/middlewared/alert/source/mseries_nvdimm_and_bios.py
+11-0src/middlewared/middlewared/alert/source/failover_sync.py
+717-1619 files not shown
+836-1625 files

FreeNAS/freenas c97f7c1docs/source/middleware/plugins alert.rst, src/middlewared/middlewared/pytest/unit/alert test_applicability_matrix.py

Give a working command for regenerating the alert inventory

This commit fixes an issue where the documented way to regenerate the alert applicability inventory does not work: run from the repository root it imports the installed middlewared rather than the working tree, and collection fails before anything is regenerated. Both the docs and the module docstring now give the invocation CI uses, from `src/middlewared` with `PYTHONPATH=.`.
DeltaFile
+7-1docs/source/middleware/plugins/alert.rst
+3-2src/middlewared/middlewared/pytest/unit/alert/test_applicability_matrix.py
+10-32 files

FreeNAS/freenas f73fde4src/middlewared/middlewared/alert base.py, src/middlewared/middlewared/alert/applicability __init__.py snapshot.py

Type alert applicability against AlertSource and AlertClass

This commit adds changes to drop the Declaration protocols in favour of TYPE_CHECKING imports of AlertSource and AlertClass, which is what review asked for, and to tighten the surface while we are in there: rule_name is no longer re-exported now that declaration_rule_name is the only entry point production goes through, and the Rule docstring keeps just the part that constrains how you write one, which is to name it so the black-hole diagnostic has something to report.

Dropping the protocols makes alert.applicability depend on alert.base, and import-linter counts TYPE_CHECKING imports, so that broke the package layering contract: engine reached vocabulary and snapshot through alert.base importing the whole package. alert/base.py now takes Rule from the engine module directly, which is the only thing it ever wanted, and the contract holds without an ignore.
DeltaFile
+10-19src/middlewared/middlewared/alert/applicability/engine.py
+12-7src/middlewared/middlewared/alert/applicability/snapshot.py
+3-11src/middlewared/middlewared/alert/applicability/__init__.py
+2-2src/middlewared/middlewared/pytest/unit/alert/test_run_gates.py
+1-1src/middlewared/middlewared/pytest/unit/alert/test_applicability_engine.py
+1-1src/middlewared/middlewared/alert/base.py
+29-416 files

FreeNAS/freenas 642570csrc/middlewared/middlewared/alert/applicability snapshot.py vocabulary.py, src/middlewared/middlewared/plugins alert.py

Express alert applicability rules as functions and cache them once

This commit adds changes to replace the applicability rule dataclasses with plain functions that take facts, and to route every applicability answer through a single Applicability object holding one reading of those facts and memoizing per declaration. Nothing in the tree ever introspected rule structure, so the isinstance dispatch and the AnyOf/AllOf combinators go away with it, and because the seven vocabulary names are unchanged no alert declaration moves and the golden matrix is byte for byte identical.

The five separate get_facts() reads in the alert plugin become one, invalidated on system.post_license_update so an upload takes effect on both nodes at once. A None license is never cached, since get_license() returns None both for "no license" and "the daemon did not answer" and we do not want a hiccup to stick until restart.
DeltaFile
+152-66src/middlewared/middlewared/pytest/unit/alert/test_applicability_engine.py
+191-0src/middlewared/middlewared/pytest/unit/alert/test_alert_plugin_applicability.py
+33-72src/middlewared/middlewared/alert/applicability/engine.py
+62-28src/middlewared/middlewared/plugins/alert.py
+43-28src/middlewared/middlewared/alert/applicability/vocabulary.py
+62-0src/middlewared/middlewared/alert/applicability/snapshot.py
+543-1945 files not shown
+615-23611 files

FreeNAS/freenas 5e852b9src/middlewared/middlewared/pytest/unit/alert test_applicability_matrix.py test_alert_run_loop.py

Clean redundant test
DeltaFile
+0-207src/middlewared/middlewared/pytest/unit/alert/harness.py
+0-197src/middlewared/middlewared/pytest/unit/alert/test_alert_plugin_applicability.py
+0-163src/middlewared/middlewared/pytest/unit/alert/test_alert_send_alerts.py
+0-151src/middlewared/middlewared/pytest/unit/alert/test_run_gates.py
+0-124src/middlewared/middlewared/pytest/unit/alert/test_alert_run_loop.py
+38-1src/middlewared/middlewared/pytest/unit/alert/test_applicability_matrix.py
+38-8431 files not shown
+39-8457 files