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 [1] 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. [1] https://docs.freebsd.org/en/books/porters-handbook/order/#porting-order-broken
Hmmm, with latest portlint, I only see this: WARN: Makefile: [15]: 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.
Committed, thanks!
This isn't the bug you're looking for. Hand wave. I think you got the wrong bug. Bug 266068.