Solved Another question about "rebuilding all 3d party software"

Hello,

This message shows up at the end of the upgrade process:
Please rebuild all installed 3rd party software (e.g., programs
installed from the ports tree) and then run "/usr/sbin/freebsd-update install"
again to finish installing updates.

The handbook says24.2.3.):
A forced upgrade of all installed packages will replace the packages with fresh versions from the repository even if the version number has not increased. This is required because of the ABI version change when upgrading between major versions of FreeBSD. The forced upgrade can be accomplished by performing:

# pkg-static upgrade -f
A rebuild of all installed applications can be accomplished with this command:

# portmaster -af

My questions are:

1. Why does this message show up although I upgrade from 10.0 to 10.1 (that's not an upgrade between major versions, is it?)

2. Are these two commands equivalent in effect? I mean, the second one is the one that actually rebuilds the applications; but would not pkg-static upgrade -f be enough to meet the system's requirement? (I installed most of my packages using pkg; could I rebuild with portmaster only the few ones that have been installed with portmaster, all others with pkg-static?).
 
1. I don't know why this message shows up for minor version upgrades. 10.0 to 10.1 is a minor version upgrade. I don't use freebsd-update(8), though.

2. No, they are different. pkg-static upgrade -f upgrades all installed packages with pre-built binary packages from a FreeBSD server. portmaster -af rebuilds all installed packages from the local /usr/ports.
 
2. No, they are different. pkg-static upgrade -f upgrades all installed packages with pre-built binary packages from a FreeBSD server. portmaster -af rebuilds all installed packages from the local /usr/ports.

Ok, but does that mean that the action of pkg-static upgrade -f won't meet the system's requirement? (Must I really rebuild all 3rd party software? Won't installing upgraded packages already be enough?)
 
pkg will download the correct packages for the new operating system. The difference is the standard one between pre-built packages and ports: with ports, you can set options that are not the default, although it will take longer because of the compiling step. Either way, the machine will have new packages installed at the end.
 
This part is underestood but what if I am using synth? How to rebuild all packages in that case?

synth upgrade-system seems the right one but it only rebuilded two ports o_O If this is the case, synth author seriously deserves a beer ... normally it took hours to rebuild everything...
 
This part is underestood but what if I am using synth? How to rebuild all packages in that case?

I'm gonna try to do this soon on one of my mostly-doing-nothing servers. I like using the "Fetch prebuilt packages" option in the configuration menu, but I think I will turn that off, delete the packages on the server, thus hopefully causing it to re-build all packages. There is also the synth force command which causes synth to delete all packages first. I might try that on a 2nd server.
 
irukandji you almost never would need to rebuild all packages but if you like so:

rm -rf /var/synth/live_packages/All/*

Then run synth prepare-system.

It is not a good idea to use synth upgrade-system because eventually something fail to build, and the old package will be removed from the ports-mgmt/synth repository.

Later when synth issue pkg to upgrade the system the package will not be in there anymore, and depending of the failed package, pkg could remove a bunch packages which depends on the missed one.

I already had half of my packages removed on this way. :rolleyes:
 
Back
Top