Order of canonical upgrade sequence

Warner Losh imp at bsdimp.com
Wed May 29 16:18:30 UTC 2013


On May 29, 2013, at 10:02 AM, Chris Rees wrote:

> Hi all!
> 
> Back in 2005, when Alexander Leidinger wrote the make delete-old
> target, he documented the order of upgrade such that it should be run
> before mergemaster [1];
> 
> #  7.  `make installworld'
> #  8.  `make delete-old'
> #  9.  `mergemaster'
> 
> I have merged the delete-old section of the Handbook into the
> upgrading chapter, and independently decided to put mergemaster first,
> because I thought it would be safer, but checked here before I
> committed.
> 
> I think that steps 8 and 9 should be reversed, because of the
> possibility of an unbootable system being made, when an rc script
> references an executable that has just been removed for example.

While I don't care, any old scripts that are removed won't make the system unbootable. delete-old deletes both the executable and the rc script in those cases where we've moved functionality out of the base system. The rc scripts themselves have protection against executables not found, and the damage will be limited to at most the one script that references that binary. Since the binary is gone, the ill effects are minimal.

So I'm finding it hard to believe this is a credible example of danger.

> I cannot think of an example where the system is left
> unbootable/damaged if make delete-old is run after mergemaster.

I'm not sure that it will be that much safer, but to be honest, I run delete-old about once every presidential election cycle on my machines.

> What do people think of the patch at [2]?

It's likely a tiny bit safer, but I don't think it is necessary.

Warner

> Chris
> 
> [1] http://svnweb.freebsd.org/base/head/Makefile?r1=148329&r2=148330&
> 
> [2] http://www.bayofrum.net/~crees/patches/delete-old-order.diff



More information about the freebsd-hackers mailing list