The handbook gives inconsistent information about where 'mergemaster -p' fits into the build/upgrade process. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html In section 19.4.1 its advice is the same as I find in /usr/src/Makefile: # For individuals wanting to upgrade their sources (even if only a # delta of a few days): # # 1. `cd /usr/src' (or to the directory containing your source tree). # 2. `make buildworld' # 3. `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC). # 4. `make installkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC). # 5. `reboot' (in single user mode: boot -s from the loader prompt). # 6. `mergemaster -p' # 7. `make installworld' # 8. `mergemaster' # 9. `reboot' # # See src/UPDATING `COMMON ITEMS' for more complete information. However in section 19.4.4 it says that mergemaster -p should be done earlier in the process; and section 19.4.10 doesn't suggest doing mergemaster -p there, which would be consistent with the initial advice. 19.4.4 describes the -p flag as "pre-buildworld". 'man mergemaster' says the same, and also says it "compares only files known to be essential to the success of {build|install}world". That implies it may need to be done before make buildworld, as well or instead of before make installworld. Fix: Make it clear where mergemaster -p should be done in the entire process: is it ever required before buildworld, or only before installworld?
On 2004-11-22 10:18, Brian Candler <b.candler@pobox.com> wrote: > > Make it clear where mergemaster -p should be done in the entire process: > is it ever required before buildworld, or only before installworld? AFAIK, mergemaster -p is only needed before installworld. The makefile `magic' of the build process is smart enough to handle the buildworld stage without mergemaster's help. I could be wrong, but I have been running mergemaster -p only before installworld, while in single-user mode, for years now. I don't recall any problems with that.
Responsible Changed From-To: freebsd-doc->keramida I'll handle this.
State Changed From-To: open->closed I've just committed a couple of short paragraphs stating that mergemaster may have to be run twice. Once before buildworld and once after installworld. Hopefully, this will reduce the potential for confusion regarding the -p option of mergemaster. The changes should show up online within the next 24 hours. Thanks for submitting this problem report.
On Thu, Dec 23, 2004 at 06:02:39PM +0000, Giorgos Keramidas wrote: > Synopsis: Conflicting information on mergemaster -p > > State-Changed-From-To: open->closed > State-Changed-By: keramida > State-Changed-When: Thu Dec 23 17:59:19 GMT 2004 > State-Changed-Why: > I've just committed a couple of short paragraphs stating that mergemaster may > have to be run twice. Once before buildworld and once after installworld. > Hopefully, this will reduce the potential for confusion regarding the -p > option of mergemaster. > > The changes should show up online within the next 24 hours. Thanks for > submitting this problem report. > > http://www.freebsd.org/cgi/query-pr.cgi?pr=74231 Thank you. However I think the inconsistency remains in the webpage between the 'canonical way' and then the step-by-step instructions; this is because section 19.4.1 says to run # make buildworld # make buildkernel # make installkernel # reboot boot -s # mergemaster -p # make installworld # mergemaster # reboot (note: mergemaster -p before make installworld), whereas sections 19.4.4-19.4.14 say that you should run # mergemaster -p # 19.4.4 # make buildworld # 19.4.7.2 # make buildkernel KERNCONF=MYKERNEL # 19.4.8 # make installkernel KERNCONF=MYKERNEL # reboot # 19.4.9 boot -s # make installworld # 19.4.10 # mergemaster # 19.4.11 # shutdown -r now # 19.4.14 (mergemaster -p before make buildworld). Perhaps the simplest solution here is that paragraph 19.4.4 should be moved so that it is between 19.4.9 and 19.4.10, so that the sequence is consistent with that given in 19.4.1, and also with /usr/src/UPDATING. Regards, Brian.