etc-update is a very necessary tool. However, it could be greatly enhanced by allowing the user to specify which 'diff' program is used, thus allowing the selection of a graphical tool if preferred. Many users would find that much easier to work with than the raw output of 'diff'. Keith
IIRC you can select the diff tool to use, there are config options for etc-update. I'm not on my gentoo box at the moment so I can't tell you where they are, but I'm leaning towards /etc/rc.conf as a possibility. I do know that you can specify vim-diff instead of regular diff. Are there any already made graphical diff tools? If so you may be able to plug them into etc-update in a similar way to how vim-diff is used. You would also need to make sure that the user had access to the X server (because you don't log in to X as root, do you?)
If you attach a list of suggested graphical diff tools we have ebuilds for, I'll update etc-update's config file to include them as (commented) options, and make a notice in pkg_postinst() about them. Thus, the user can make his selection after he's installed gentoolkit.
Since this is very low-priority, I'm marking this one as "REMIND"; please reopen once you got some more.
Created attachment 5134 [details, diff] vimdiff.patch In case anyone's interested, I've patched my etc-update to have an option to edit the files with vimdiff. This works out really well for me. I've attached the patch (it's quite simple).
Colordiff is really nice for seeing initial changes. It doesn't do color for side-by-side though, so no pretty merging. Here's a little diff of etc-update.conf to tell people it's an option. We have an ebuild for xxdiff and I've been trying to make it work, but it's fairly ugly and I'm not too sure on its ability to merge to a prespecified filename. Other GUI diffs/frontends besides xxdiff include gtkdiff and kdiff3. $ diff -urN etc-update.conf.orig etc-update.conf --- etc-update.conf.orig 2003-07-01 15:17:14.000000000 -0500 +++ etc-update.conf 2003-07-01 15:23:18.000000000 -0500 @@ -21,11 +21,14 @@ pager="less" #pager="" +# colordiff is a nice alternative for diff_command. emerge -s colordiff. # vim-users: you CAN use vimdiff for diff_command. (see NOTE_1) diff_command="diff -uN %file1 %file2" using_editor=0 #diff_command="vim -d %file1 %file2" #using_editor=1 +#diff_command="colordiff -uN %file1 %file2" +#using_editor=0 # vim-users: don't use vimdiff for merging (see NOTE_1) merge_command="sdiff -s -o %merged %orig %new"
Additionally, there's meld for Gnome.
unfortunately the current meld ebuild (meld-0.9.0-r1) is broken. see bug 69824. i've also attempted to build from source tarball of meld-0.9.0, and 0.9.4.1 from http://ftp.gnome.org/pub/gnome/sources/meld/0.9/ and both compiled and installed without warning or error but segfaulted at runtime.
I don't see it as realistic that we'll get to this anytime soon. etc-upcate has been superceded by a lot of other attempts at solving the same problem. I suggest extending either of those.