diff options
Diffstat (limited to 'debian/postinst')
-rw-r--r-- | debian/postinst | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/debian/postinst b/debian/postinst index 74caddf..1ba8910 100644 --- a/debian/postinst +++ b/debian/postinst @@ -11,12 +11,27 @@ case "$1" in /usr/bin/w3m 25 \ --slave /usr/share/man/man1/www-browser.1.gz www-browser.1.gz \ /usr/share/man/man1/w3m.1.gz - # Remove the conffile with the wrong location (the binary never used - # it) that may be present from an older version. - # (In our preinst, we've already ensured the sysadmin had a chance - # of preserving any configuration made in it) - rm -f /etc/w3m/w3mconfig - ;; + # upgrade old config file to new config file + if test -e /etc/w3m/w3mconfig; then + mv -f /etc/w3m/w3mconfig /etc/w3m/w3mconfig.dpkg-tmp + tmp=$(tempfile -p w3m.subst.) + trap "rm -f $tmp" 0 1 2 15 + while read opt val + do + val0=$(sed -ne 's/^'$opt'[[:space:]]*//p' /etc/w3m/w3mconfig.dpkg-tmp) + if [ "$val0" != "" ] && [ "$val" != "$val0" ]; then + echo 's/^'$opt'[[:space:]]*.*/'$opt' '$val0'/' >> $tmp + fi + done < /etc/w3m/config + if test -s $tmp; then + mv -f /etc/w3m/config /etc/w3m/config.dpkg-tmp + sed -f $tmp /etc/w3m/config.dpkg-tmp > /etc/w3m/config + rm -f $tmp + rm -f /etc/w3m/config.dpkg-tmp + fi + rm -f /etc/w3m/w3mconfig /etc/w3m/w3mconfig.dpkg-tmp + fi + ;; *) esac |