chiark / gitweb /
new changelog entry
[xfonts-traditional.git] / debian / xfonts-traditional.prerm
index 5cb9a991199e0151ab052fda5818a9e87ed99e91..53687d7984c0298e28e44382e5c25348d3abb65e 100755 (executable)
@@ -3,42 +3,54 @@ set -e
 
 . /usr/share/debconf/confmodule
 
+#DEBHELPER#
+
+/usr/share/xfonts-traditional/checkfiles prerm "$@"
+
 case "$1" in
 
 remove)
 
-       echo 'Checking that "fixed" is not from xfonts-traditional..."
+       echo 'Checking that "fixed" is not from xfonts-traditional...'
+
+       if grep '^fixed[         ][      ]*-trad-' \
+                       /etc/X11/fonts/misc/xfonts-base.alias \
+                       /usr/share/fonts/X11/misc/fonts.alias; then
+               cat >&2 <<'END'
 
-       if grep '^fixed[         ][      ]*-trad-'; then
-               cat >&2 <<END
 Removing xfonts-traditional would break your X server by removing "fixed".
 
 You should not remove xfonts-traditional while "fixed" refers to one
-of its fonts.  You probably want to check the differences between
-/etc/X11/fonts/misc/xfonts-base.alias and xfonts-base.alias.not-trad,
-and probably replace the former with the latter, and retry the removal.
+of its fonts.  You probably want to check the differences between the
+various /etc/X11/fonts/misc/xfonts-base.alias*, reconcile any changes,
+and then run "update-fonts-alias misc".  After that you can retry the
+removal.
 
 END
                printf 'Continue anyway ? [n/y] '
-               read x
+               read x </dev/tty
                case "$x" in
                y*|Y*)  ;;
                *)      exit 1 ;;
                esac
        fi
 
-       find /usr/share/fonts/X11 /usr/local/share/fonts/X11 \
-                  -type f \
-               \( -name xfonts-traditional.log -o \
-                  -name xfonts-traditional.done -o 
-                  -name xfonts-traditional.done.new -o 
-                  -name trad--\*.pcf.gz.new \) \
-               -print0 | xargs -0r rm
-
-       find /usr/share/fonts/X11 /usr/local/share/fonts/X11 \
-                  -type f \
-                  -name trad--\*.pcf.gz \
-               -print0 | xargs -0r rm
+       for d in /usr/share/fonts/X11 /usr/local/share/fonts/X11; do
+               if ! test -e "$d"; then continue; fi
+
+               find "$d" \
+                          -type f \
+                       \( -name xfonts-traditional.log -o \
+                          -name xfonts-traditional.done -o \
+                          -name xfonts-traditional.done.new -o  \
+                          -name trad--\*.pcf.gz.new \) \
+                       -print0 | xargs -0r rm --
+
+               find "$d" \
+                          -type f \
+                          -name trad--\*.pcf.gz \
+                       -print0 | xargs -0r rm --
+       done
 
        ;;