Re: dns/bind916 builds rust unexpectedly

From: Guido Falsi <madpilot_at_FreeBSD.org>
Date: Mon, 25 Sep 2023 15:38:20 UTC
On 25/09/23 17:06, Gareth de Vaux wrote:
> Hi all, I've just upgraded bind916 which brought half my system down since
> it suddenly required a mountain of python packages and rust which needed
> around 13GB (and hours) to build - space which I didn't have nor have ever
> remotely expected to need for a ports build.
> 
> My bind configuration options are basically the defaults:
> 
> # grep OPTIONS_FILE_SET /var/db/ports/dns_bind916/options
> OPTIONS_FILE_SET+=IDN
> OPTIONS_FILE_SET+=JSON
> OPTIONS_FILE_SET+=LMDB
> OPTIONS_FILE_SET+=MANPAGES
> OPTIONS_FILE_SET+=TCP_FASTOPEN
> OPTIONS_FILE_SET+=GSSAPI_NONE
> OPTIONS_FILE_SET+=DLZ_FILESYSTEM
> 
> These are the top level dependencies:
> 
> # make -C /usr/ports/dns/bind916 build-depends-list
> /usr/ports/ports-mgmt/pkg
> /usr/ports/textproc/py-sphinx

This one, which calls in py-cryptography which requires rust.

> /usr/ports/devel/pkgconf
> /usr/ports/security/openssl
> /usr/ports/converters/libiconv
> /usr/ports/devel/libuv
> /usr/ports/textproc/libxml2
> /usr/ports/dns/libidn2
> /usr/ports/devel/json-c
> /usr/ports/databases/lmdb
> /usr/ports/devel/libedit
> 
> Does anyone know which option/dependency is causing this? I suspect
> MANPAGES -> py-sphinx since it has 'py' but who knows. Which itself would
> be crazy that just a manpage would trigger this kind of intense build.
> 


That's it actually. sphynx is quite heavy.

There is a more general aspect to this. In the rest of the unix world 
software is now almost universally build using CI systems and 
buildboxes, people use binary packages almost all the time in linux. 
Developers don't care to keep low overhead in their builds and with 
dependency. The ports tree cannot mitigate this external pressure.

Anyway building from ports on live machines has always been bad practice 
for a lot of reasons.

-- 
Guido Falsi <madpilot@FreeBSD.org>