Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 06 Jun 2022 10:19:14 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 264454] Do not build TEST_DEPENDS in case NO_TEST is set and do not run tests
Message-ID:  <bug-264454-7788-aRM9xSNIMr@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-264454-7788@https.bugs.freebsd.org/bugzilla/>
References:  <bug-264454-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D264454

--- Comment #7 from Stefan E=C3=9Fer <se@FreeBSD.org> ---
(In reply to Tomoaki AOKI from comment #5)

> make fetch-recursive currently forces downloading of TEST_DEPENDS.
> This can consume excessive disk space.

But why are you using these *-recursive targets at all?

They are useful if you have off-line (air-gapped) systems and you want to f=
etch
files or provide packages for use on them.

In that case you want to have all possibly relevant distribution files and
packages included, just in case you want to "make test" on this system that=
 has
no access to the Internet.

I really do not understand why you are using these commands to perform port
upgrades or other package management tasks.

We have tools that optimize the upgrades, e.g. portmaster or portupgrade. T=
hese
do exactly what is required, and in an optimized way (e.g. fetch just the
distribution files that will be required in the background, perform only th=
ose
builds that are required, ...).

Portmaster has no dependencies (it is just a shell script), exists for some=
 20
years and has continuously been adapted to comply with changes in the
ports/package system. It lets you build ports and packages in just the same=
 way
as 20 years ago, despite major changes in the ports system (e.g. the
introduction of the PKGDB and of flavors).

Try "portmaster -bgw -a" to update all down-level ports (and create packages
and package backups of the previous version, just in case). (The -bgw param=
eter
can of course be set as default options in the ~/.portmasterrc file.)

Try "portmaster -F -a" to just fetch required distfiles for all ports needi=
ng
updates in parallel.

Using the *-recursive targets in the way you seem top do it is a significant
waste of resources, and the port management tools mentioned above implement=
 the
required logic to allow for efficient updates/upgrades.

There is so much missing in bsd.port.mk if you want to make it efficiently
support your use case that adding NO_TEST will just increase its complexity,
but without solving the issues you are having due to inappropriate use of t=
his
functionality. There is no functionality to selectively build just the modi=
fied
ports this way, for example.

There are other port and package management tools, I'm mentioning portmaster
just as an example. You may prefer portupgrade, for example.

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-264454-7788-aRM9xSNIMr>