On Sat, Dec 20, 2025 at 18:04 Stuart Henderson <[email protected]> wrote:

> On 2025/12/20 19:23, Douglas Silva wrote:
> > 1. I have privilege separation enabled in /etc/mk.conf:
> >
> > PORTS_PRIVSEP=Yes
> > SUDO=doas
> >
> [SNIP]
> >
> > 4. cd to a port (e.g. net/tor) and run all the make targets from "fetch"
> to "extract".
> >
> > $ cd /usr/ports/net/tor
> > $ make fetch
> > $ make checksum
> > $ make extract
>
> it would be clearer if you showed the output you get too.
>
> I bet it is installing build dependencies, for which it needs root,
> and for that yes if you're using doas (even with persist) you'll
> need to enter the password multiple times. (using sudo rather than
> doas, with "SUDO=sudo -E", gives a more comfortable experience -
> some loss of protection, but not as bad as using "nopass").
>
> you can save some time by installing by hand:
>
> $ make show=BUILD_DEPENDS
> devel/metaauto devel/autoconf/2.69
> $ make show=LIB_DEPENDS
> devel/libevent2
> $ doas pkg_add metaauto autoconf%2.69 libevent2


You can also configure your /etc/mk.conf to default to installing
dependencies from packages, if available See <
https://man.openbsd.org/bsd.port.mk#FETCH_PACKAGES>. For example, my
/etc/mk.conf:

SUDO=doas
PORTS_PRIVSEP=Yes
FETCH_PACKAGES=-Dsnap

You'll still have to enter your password, but you'll save a lot of time,
output to sift through, and not have to monitor the build as closely (due
to doas/sudo prompts) if all/most dependencies are just installed first.

Naturally this is not for everyone, can mask build issues (e.g. if a
dependency would now pick up conflicting/unintended libs/tools), and
packages may be out-of-date in terms of patches or versions. I'd follow
Stuart's suggestions first, but know that further automation is built in if
it's a fit for you.

Morgan Aldridge

Reply via email to