diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:37:15 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:37:15 +0000 |
commit | ae5d181b854d3ccb373b6bc01b4869e44ff4d87a (patch) | |
tree | 91f59efb48c56a84cc798e012fccb667b63d3fee /scripts/install-cfg.sh | |
parent | Initial commit. (diff) | |
download | lynx-upstream/2.9.0dev.12.tar.xz lynx-upstream/2.9.0dev.12.zip |
Adding upstream version 2.9.0dev.12.upstream/2.9.0dev.12upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'scripts/install-cfg.sh')
-rwxr-xr-x | scripts/install-cfg.sh | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/scripts/install-cfg.sh b/scripts/install-cfg.sh new file mode 100755 index 0000000..6faa21a --- /dev/null +++ b/scripts/install-cfg.sh @@ -0,0 +1,89 @@ +#!/bin/sh +# $LynxId: install-cfg.sh,v 1.5 2021/01/07 00:31:20 tom Exp $ +# install lynx.cfg, ensuring the old config-file is saved to a unique file, +# and prepending customizations to the newly-installed file. +# +# $1 = install program +# $2 = file to install +# $3 = where to install it +PRG="$1" +SRC=$2 +DST=$3 + +LANG=C; export LANG +LC_ALL=C; export LC_ALL +LC_CTYPE=C; export LC_CTYPE +LANGUAGE=C; export LANGUAGE + +if test -f "$DST" ; then + echo "** checking if you have customized $DST" + OLD=lynx-cfg.old + NEW=lynx-cfg.new + TST=lynx-cfg.tst + TMP=lynx-cfg.tmp + trap 'rm -f $OLD $NEW $TST $TMP; exit 9' INT QUIT TERM HUP + rm -f $OLD $NEW $TST $TMP + + # avoid propagating obsolete URLs into new installs + { + echo lynx.isc.org; + echo lynx.browser.org; + echo www.trill-home.com; + echo www.cc.ukans.edu; + echo www.ukans.edu; + echo www.slcc.edu; + echo sol.slcc.edu; + }>$TMP + + # Make a list of the settings which are in the original lynx.cfg + # Do not keep the user's HELPFILE setting since we modify that in + # a different makefile rule. + ${EGREP-egrep} '^[ ]*[A-Za-z]' "$SRC" |sed -e 's/^[ ]*HELPFILE:.*/HELPFILE:/' >>$TMP + ${EGREP-egrep} '^[ ]*[A-Za-z]' "$SRC" |${FGREP-fgrep} -v -f $TMP >$OLD + ${EGREP-egrep} '^[ ]*[A-Za-z]' "$DST" |${FGREP-fgrep} -v -f $TMP >$TST + + if test -s $TST ; then + cat >$TMP <<EOF +## The following lines were saved from your previous configuration. + +EOF + cat "$TST" >>$TMP + cat "$SRC" >$NEW + cat "$TMP" >>$NEW + + # See if we have saved this information before (ignoring the + # HELPFILE line). + if cmp -s $NEW $OLD + then + echo "... installed $DST would not be changed" + else + NUM=1 + while test -f "${DST}-${NUM}" + do + if cmp -s "$NEW" "${DST}-${NUM}" + then + break + fi + NUM=`expr "$NUM" + 1` + done + if test ! -f "${DST}-${NUM}" + then + echo "... saving old config as ${DST}-${NUM}" + mv "$DST" "${DST}-${NUM}" || exit 1 + fi + echo "** installing $NEW as $DST" + eval "$PRG" "$NEW" "$DST" || exit 1 + fi + else + echo "... no customizations found" + echo "** installing $SRC as $DST" + eval "$PRG" "$SRC" "$DST" || exit 1 + fi + rm -f "$SKIP" "$OLD" "$NEW" "$TST" "$TMP" +elif cmp -s "$SRC" "$DST" +then + echo "... installed $DST would not be changed" +else + echo "** installing $SRC as $DST" + eval "$PRG" "$SRC" "$DST" || exit 1 +fi |