Using www/node14's Makefile as an example portlint incorrect reports that BROKEN_SSL should appear earlier (in the BROKEN/IGNORE/DEPRECATED messages - current location of ONLY_FOR_ARCHS in this case).
According to 15.5  BROKEN_* and IGNORE_* should appear in USES if the vars apply to USES settings (ssl, php, etc...).
So in the case of www/node14 the BROKEN_SSL and BROKEN_SSL_REASON vars should be in the USES block.
Hmmm, with latest portlint, I only see this:
WARN: Makefile: : BROKEN messages should begin with a lowercase letter and end without a period.
WARN: Consider to set DEVELOPER=yes in /etc/make.conf
0 fatal errors and 2 warnings found.
That said, this still looks wrong, but I don't see the "has to be appear earlier" message. Can you confirm what you're seeing?
er sorry you need to move the BROKEN_* vars to the USES section (under USES=...) such that portlint prints the warning to move BROKE_SSL earlier.
I don't understand the meaning of the Notes beyond comment#0 either, with DeepL and Bing translating it into Japanese.
I took the liberty of interpreting that unknowable meaning, and the result was, "BROKEN_* caused by USES or USE_* should be written in the file included by them."
In other words, instead of writing BROKEN under the USES and USE_* blocks in */*/Makefile, it should be written in Mk/bsd.*.mk or Mk/Uses/*.mk.