This patch updates portlint to check for the rules formulated in PR 64393, refer to this PR for some rationale. 1.) A port is a slave port if and only if MASTERDIR != .CURDIR 2.) Slave ports should define MASTERDIR using one of the following lines: MASTERDIR= ${.CURDIR}/../../<category>/<port> MASTERDIR= ${.CURDIR}/../<port> 3.) Non-slave ports shouldn't define MASTERDIR at all 4.) The last line of a slave port's Makefile has to be .include "${MASTERDIR}/Makefile" 5.) The last line of a non-slave ports Makefile must be one of: .include <bsd.port.mk> .include <bsd.port.post.mk> 6.) slave ports may not include bsd.port(.pre).mk Fix: bump PORTVERSION and apply the following patch: How-To-Repeat: These are detected as follows: 1.) is flagged FATAL, check with /usr/local/share/examples/portlint/portlintgrep 'CURDIR != MASTERDIR' 2.) and 3.) are flagged WARN, check with /usr/local/share/examples/portlint/portlintgrep 'define MASTERDIR' 4.) and 5.) are flagged FATAL, check with /usr/local/share/examples/portlint/portlintgrep 'last line of' 6.) is flagged FATAL, part of the is seen as violating 1.), check with /usr/local/share/examples/portlint/portlintgrep 'may not include'
Responsible Changed From-To: freebsd-ports-bugs->marcus Over to portlint maintainer
State Changed From-To: open->closed Committed, thanks!