Peter Jeremy wrote:
On 2009-Nov-14 15:46:27 +0000, Thomas Sandford 
<freebsdu...@paradisegreen.co.uk> wrote:
Wesley Shields wrote:
Sure, but it doesn't belong in bsd.*.mk. Turn it into a script and
submit it as a regular port.
...
Surely the whole value/purpose of the ports build infrastructure is to present a consistent way of doing things rather than different maintainers doing their own thing and solving problems in different, and quite possibly sub-optimal ways and/or bloating multiple individual port Makefiles with what could be kept in a single bsd.*.mk file.

If it affected several hundred ports and/or was visible to the end
user then this might be justification for embedding it into bsd.*.mk.

The ports build infrastructure is already quite large (>20K LOC) and
difficult to follow.  The overheads associated with loading bsd.*.mk
files also makes operations like "make index" very time-consuming.
IMHO, bloating it further to marginally simplify life for the
maintainers of ~15 ports is not a good tradeoff.

Wesley's suggestion above sounds like the best solution.

And if the file were (say) bsd.vcs.mk and were pulled in only if one of

USE_SVNFETCH
USE_CVSFETCH
USE_GITFETCH

etc were defined then the impact of the bloat on other ports is minimal.

If you still want to go this way, I'd suggest writing a stand-alone
bsd.vcs.mk that can be .include'd by the port when it needs the
functionality.

Personally I think the performance difference between

.ifdef USE_SVNFETCH
.include "${PORTSDIR}/Mk/bsd.vcs.mk"
.endif

in bsd.port.mk

and only explicitly including it in the ports that use it is marginal, but I could certainly live with this as a compromise.

--
Thomas Sandford
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to