From owner-freebsd-questions@FreeBSD.ORG Sun Jun 23 04:20:11 2013 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 50B6EE47 for ; Sun, 23 Jun 2013 04:20:11 +0000 (UTC) (envelope-from mike@skew.org) Received: from chilled.skew.org (chilled.skew.org [70.90.116.205]) by mx1.freebsd.org (Postfix) with ESMTP id 146CE1E12 for ; Sun, 23 Jun 2013 04:20:10 +0000 (UTC) Received: from chilled.skew.org (localhost [127.0.0.1]) by chilled.skew.org (8.14.5/8.14.4) with ESMTP id r5N4K9HS054287 for ; Sat, 22 Jun 2013 22:20:10 -0600 (MDT) (envelope-from mike@chilled.skew.org) Received: (from mike@localhost) by chilled.skew.org (8.14.5/8.14.4/Submit) id r5N4K9Yr054286 for freebsd-questions@freebsd.org; Sat, 22 Jun 2013 22:20:09 -0600 (MDT) (envelope-from mike) From: Mike Brown Message-Id: <201306230420.r5N4K9Yr054286@chilled.skew.org> Subject: Should I be able to use mergemaster with freebsd-update? To: freebsd-questions@freebsd.org Date: Sat, 22 Jun 2013 22:20:09 -0600 (MDT) X-Whoa: whoa. X-Mailer: ELM [version 2.4ME+ PL125 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="UTF-8" X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Jun 2013 04:20:11 -0000 I'm using freebsd-update to upgrade my system to the latest minor version (from 8.3-RELEASE to 8.4-RELEASE). I'm surprised that the merge handling system isn't more robust. When upgrading the old way, from source, I was used to using mergemaster to handle any merges that couldn't be done automatically. But when using freebsd-update, it seems that any failed merges require that you get dumped into an empty text editor for each file. It doesn't even tell you where the new file is so you can load it and compare it to the old one. After that, you're asked to approve every diff, but if you reject one, you don't get a chance to re-edit; the entire upgrade aborts and you have to start all over again. Since it wasn't obvious what to do, last time I upgraded, I just loaded all my old files and kept them as-is, without merging them. This time, I'm trying to actually take care of them when prompted. When I get dumped into the empty text editor, I suppose it's not too hard to figure out that the new file is in /var/db/freebsd-update/merge/8.4-RELEASE, but that's certainly not documented anywhere. It could at least be mentioned prior to being sent to the editor. The old file is mentioned, so why not the new? Regardless, when doing a manual merge by loading both files and consolidating them, or by copy-paste voodoo between terminal windows, it is far easier to screw up than mergemaster's method, at least in my experience. So I was thinking that when I get to this stage of the freebsd-update process, it would be nice to use mergemaster in a separate terminal window. I mean, I know where the new files are, and I know where I need the merged files to go, so it should be just a matter of invoking mergemaster with the right flags, right? Then when I'm dumped into a text editor, it won't be empty; I'll see the mergemaster-produced file, and can just give it a once-over. The handbook even mentions mergemaster as if it is an option: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/updating-upgrading-freebsdupdate.html#freebsdupdate-config-file ...or at least, it suggests I read about it, for some reason. But I can't figure out how to get mergemaster to use freebsd-update's file locations. Here is what I tried: mergemaster -ciFv -m /var/db/freebsd-update/merge/8.4-RELEASE -D /var/db/freebsd-update/merge/new Here's what that results in, even if I add trailing slashes: make: don't know how to make distrib-dirs. Stop make: don't know how to make distrib-dirs. Stop *** FATAL ERROR: Cannot 'cd' to /var/db/freebsd-update/merge/8.4-RELEASE and install files to the temproot environment Any suggestions appreciated.