diff options
Diffstat (limited to 'source/l/glib2/doinst.sh')
-rw-r--r-- | source/l/glib2/doinst.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/source/l/glib2/doinst.sh b/source/l/glib2/doinst.sh new file mode 100644 index 00000000..60a19898 --- /dev/null +++ b/source/l/glib2/doinst.sh @@ -0,0 +1,27 @@ +# Handle the incoming configuration files: +config() { + for infile in $1; do + NEW="$infile" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... + done +} + +# Prepare the new configuration files +for file in etc/profile.d/libglib2.csh.new etc/profile.d/libglib2.sh.new ; do + if test -e $(dirname $file)/$(basename $file .new) ; then + if [ ! -x $(dirname $file)/$(basename $file .new) ]; then + chmod 644 $file + else + chmod 755 $file + fi + fi + config $file +done |