#!/bin/bash # Enable NLS export TEXTDOMAIN=proc-rpmnew export TEXTDOMAINDIR=/usr/share/locale . gettext.sh # Directory prefix=@prefix@ datadir=@datadir@ # Output menu output_menu() { echo "`eval_gettext "S) Show difference"`" echo "`eval_gettext "E) Edit on diff mode of vim"`" echo "`eval_gettext "I) merge Intaractively by sdiff"`" echo "`eval_gettext "R) Replace current file by saved file"`" echo "`eval_gettext "P) Protect current file and remove saved file"`" echo "`eval_gettext "Q) Quit"`" echo "`eval_gettext "N) Next file"`" echo -n "`eval_gettext "What do you do? > "`" } # main loop for file in `find /etc 2>/dev/null | @EGREP@ "rpm(new|save)$"` do dir=`dirname $file` sav=`basename $file` cur=`basename $file .rpmnew` if [ $cur = $sav ] then cur=`basename $file .rpmsave` fi if [ -e $cur ] then continue fi ok=0 while [ $ok -eq 0 ] do echo "`eval_gettext "current configuration: \\\$dir/\\\$cur"`" echo "`eval_gettext "saved configuration : \\\$file"`" output_menu read command echo case "$command" in s|S) diff --side-by-side $dir/$cur $dir/$sav | pager ;; # --suppress-common-lines e|E) vim +r$dir/$cur -d $dir/$cur.new $dir/$sav mv $dir/$cur.new $dir/$cur ;; i|I) sdiff -o $dir/$cur.new $dir/$cur $dir/$sav mv $dir/$cur.new $dir/$cur ;; r|R) mv $dir/$sav $dir/$cur ok=1;; p|P) rm $dir/$sav ok=1;; q|Q) exit ;; n|N) ok=1;; *) echo "`eval_gettext "You inputed wrong character."`" echo;; esac done done