Forcing port reinstalls without rebuilding over and over again

Polytropon freebsd at
Wed Dec 12 19:42:07 UTC 2018

On Wed, 12 Dec 2018 12:52:36 -0600, Paul Schmehl wrote:
> --On December 12, 2018 at 2:07:35 AM -0600 Paul Schmehl 
> <pschmehl_lists at> wrote:
> > Is there a way, using portmaster, to force the rebuild of all ports
> > without rebuilding the same ports over and over and over again?
> >
> > I've noticed that using portmaster -f forces the rebuild of every
> > dependency. I think I've now rebuild perl and python at least 20 or 30
> > times. Once should be enough. I guess if you're going to rebuild
> > everything, it would be ok to ignore dependencies for ports, since
> > they're all going to be rebuilt anyway.
> >
> > What's the magic potion for that?
> After reading through the man page, I thought that portmaster -Rfd would do 
> the trick, but it didn't.
> ISTM that, when you're building every port on a box, you shouldn't need to 
> build all the dependencies for every port, because they're all going to be 
> built anyway. Rebuilding perl (for example) repeatedly, makes no sense at 
> all. It would be nice if there were a --force-with-no-dependencies switch 
> so that every port could be built once and once only.

Maybe I'm thinking into the wrong direction, but how about
the following thoughts?

The task of building is different from the task of installing.
If you run each build task separatedly, both depencency trees
(build dependencies + runtime dependencies) need to be resolved
from scratch.

For normal usage, and taking your perl example, the following
situation would be present:

1. port "foo" requires perl as a build dependency

2. port "perl" is installed and can then be used

3. port "foo" is built, using the just installed perl

4. port "bar" requires perl as a build dependency

5. port "bar" is build, using the already installed perl
   (and perl is not built again)

It should work the same with runtime dependencies. This thought
experiment includes the assumtion that the correct _versions_ of
perl are always the same. ;-)

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list