Re: Standardizing NO_NETWORK and USE_SYSTEM_DEPS environment variables
Eli Schwartz <[email protected]> Thu, 23 Jan 2025 09:09:06 -0500
| Newsgroups | dev.linux.lists.distributions |
|---|---|
| Message-ID | <[email protected]> |
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------qsVp8nkzLsCD5s0ZTFEZBK2i Content-Type: multipart/mixed; boundary="------------scpNYAF80P2k2BXytpy1r4XD"; protected-headers="v1" From: Eli Schwartz <[email protected]> To: Bruno Haible <[email protected]>, [email protected], =?UTF-8?B?TWljaGHFgiBHw7Nybnk=?= <[email protected]> Message-ID: <[email protected]> Subject: Re: Standardizing NO_NETWORK and USE_SYSTEM_DEPS environment variables References: <[email protected]> <9658083.GK2ZErXSoo@nimes> In-Reply-To: <9658083.GK2ZErXSoo@nimes> --------------scpNYAF80P2k2BXytpy1r4XD Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 1/23/25 8:50 AM, Bruno Haible wrote: > Micha=C5=82 G=C3=B3rny wrote: >> 2) USE_SYSTEM_DEPS -- if it's set to a non-empty value, it requests th= at >> the build system does not use any vendored dependency for which it >> supports using a system version instead, and that it links to shared >> libraries whenever possible. >=20 > This contradicts the GNU Coding Standards [1]. For GNU packages, > configuration of such things should be done through --with-* and --with= out-* > options. NOT through environment variables. >=20 > Proposing something that contradicts the GNU Coding Standards is a non-= starter. >=20 > Bruno >=20 > [1] https://www.gnu.org/prep/standards/html_node/Configuration.html Meson will not implement this environment variable either, for the same reason. We won't implement either one, in fact (for us, network is relevant since meson has an automatic feature to download vendored dependencies on demand). We have a configuration option accepted on argv to control bo= th. =2E.. In general I think we are all quite aware of the reasons for avoiding the network and in general build systems shouldn't attempt to communicate via TCP/IP whether an environment variable is set or not... unless the success of the build system directly hinges on network, and failing to network directly means failing to build. That is the case for meson with vendored deps, so configuring to use system deps already means that no network connections will be made (but if you do use vendored deps, all network downloads are securely verified via secure hashes). So it suffices to simply design your build system to default to system deps (meson already does this). It's quite unclear to me why this should hinge on an environment variable of all things. If you need an environment variable to control this, you already failed somewhere else. --=20 Eli Schwartz --------------scpNYAF80P2k2BXytpy1r4XD-- --------------qsVp8nkzLsCD5s0ZTFEZBK2i Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTnFNnmK0TPZHnXm3qEp9ErcA0vVwUCZ5JNggUDAAAAAAAKCRCEp9ErcA0vV9c2 APsGRUSZEZ/neIaGTHH5zZmlSpNKrOzqJJ5eBGH2lFZ04AD/csB05ZZcNTTbvtcAeVkL8HSnF31h XsP38jeUwSNErAs= =yoin -----END PGP SIGNATURE----- --------------qsVp8nkzLsCD5s0ZTFEZBK2i--