freebsd / portmaster

FreeBSD port management script without external databases or languages
77 stars 40 forks source link

Port upgrading leaves system unusable #40

Open bdrewery opened 10 years ago

bdrewery commented 10 years ago

When a port is upgraded it is:

  1. Deinstalled
  2. Dependencies are then upgraded
  3. Dependencies are deleted as their own dependencies are upgraded
  4. As the chain is walked back up then the various ports are installed

This leaves the system missing many packages for a long period of time.

It would be much better if this upgraded dependencies first and then deinstalled/installed the upgraded port.

bdrewery commented 10 years ago

The -t option seems to work as I expect. This also avoids the issue of portmaster losing control of building ports due to make all default changing to make stage (which installs run-depends) [https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=189398]

bdrewery commented 10 years ago

Ports r191960 changed this behavior

7. Split tracking of build and run depends to before and after the
port build respectively.
oparoz commented 9 years ago

I've just fallen victim to this bug. binutils got removed before updating indexinfo, which left the system in an unusable state.

  1. Does -t fix this then?
  2. How do we know when to apply it?