Re: port installation basics

From: Pat Maddox <pat_at_patmaddox.com>
Date: Thu, 12 Sep 2024 18:41:20 UTC
On Thu, Sep 12, 2024, at 11:25 AM, fatty.merchandise677@aceecat.org wrote:
> Hello, I'm trying FreeBSD again (penguin news is depressing) and I
> face again some of the problems I remember.
>
> I am torn between packages and ports. I read discouraging things about
> using both, and yet I seem to need both for the following reasons:
>
> - there are a few things I absolutely must have on a system to do
>   anything at all (so in particular, to set up and compile ports):
>   bash, sudo, screen, vim, rsync, git. I think that covers it.
>   These are not in the base, so I must install packages for them.
>   This alone wouldn't be a show stopper because I could rebuild them
>   from ports once I'm up and running. But.
>
> - I have not figured out how to build ports without getting sucked
>   into unbounded rabbit holes of configuration dialogs. I know the
>   advice to do `make config-recursive` upfront, but it doesn't help:
>   what seems to be happening is that I get config dialogs for *all
>   potential* recursive dependencies of the port I'm building,
>   regardless of my answers along the way. For example, even if I
>   exclude X11 support in git configuration, I am then confronted with
>   dialogs which are only relevant to gitk. Is there any way to avoid
>   this?
>
> - on the other hand, some packages are egregiously over-configured,
>   often with GUI extras I have no use for. For example, graphviz.  I
>   just want to run dot to build png or pdf files. So this would be a
>   good time to use a port (which I assume can disable the GUI parts),
>   if it weren't for the above.
>
> Your thoughts?  Thanks,
>
> -- 
> Ian

Do you not want to install packages? In terms of options, they often have "flavors" that strip things down. For example, package emacs-nox is built from port emacs@nox (emacs with nox flavor) and is CLI-only.

The only reason you _need_ to build ports today is 1) you are on 14.1 and use drm-kmod (package repo currently still builds on 14.0), or other kernel packages 2) you want to build with specific options.

I build my ports with poudriere, and it uses default config unless you tell it otherwise. So I never get stuck in unbounded rabbits hole of configuration dialogs.

Pat