wip maint scripts
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 9 Jan 2012 20:32:00 +0000 (20:32 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 9 Jan 2012 20:32:00 +0000 (20:32 +0000)
debian/xfonts-traditional.config
debian/xfonts-traditional.postinst
debian/xfonts-traditional.postrm [new file with mode: 0644]
debian/xfonts-traditional.prerm
debian/xfonts-traditional.templates

index 86c93bf..fe81215 100644 (file)
@@ -1,32 +1,6 @@
 #!/bin/sh
 set -e
-
 . /usr/share/debconf/confmodule
-
-check_aliasfile () {
-       aliasfile=/etc/X11/fonts/misc/xfonts-base.alias
-       if ! test -f $aliasfile; then return; fi
-       if test -e $aliasfile.not-trad; then return; fi
-
-       perl -pe '
- s/^(fixed\s+)\-misc\-(fixed-medium-r-semicondensed)/$1-trad-$2$/
-               ' <$aliasfile >$aliasfile.trad
-       if cmp -s $aliasfile $aliasfile.trad; then
-               rm $aliasfile.trad
-               return
-       fi
-       db_get xfonts-traditional/remap-fixed
-       if [ $RET != true ]; then return; fi
-
-       ln $aliasfile $aliasfile.not-trad
-       mv -f $aliasfile.trad $aliasfile
-}
-
-db_get xfonts-traditional/generate
-if [ "$RET" = true ]; then
-
-       update-xfonts-traditional --update
-
-       check_aliasfile
-
-fi
+db_input low xfonts-traditional/generate || true
+db_input high xfonts-traditional/remap-fixed || true
+db_go || true
index fe81215..6e05d67 100644 (file)
@@ -1,6 +1,35 @@
 #!/bin/sh
 set -e
+
 . /usr/share/debconf/confmodule
-db_input low xfonts-traditional/generate || true
-db_input high xfonts-traditional/remap-fixed || true
-db_go || true
+
+check_aliasfile () {
+       aliasfile=/etc/X11/fonts/misc/xfonts-base.alias
+       if ! test -f $aliasfile; then return; fi
+       if test -e $aliasfile.not-trad; then return; fi
+
+       perl -pe '
+ s/^(fixed\s+)\-misc\-(fixed-medium-r-semicondensed)/$1-trad-$2$/
+               ' <$aliasfile >$aliasfile.trad
+       if cmp -s $aliasfile $aliasfile.trad; then
+               rm $aliasfile.trad
+               return
+       fi
+       db_get xfonts-traditional/remap-fixed
+       if [ $RET != true ]; then return; fi
+
+       ln $aliasfile $aliasfile.not-trad
+       mv -f $aliasfile.trad $aliasfile
+
+       db_put xfonts-traditional/remap-fixed false
+       # only ever do this once
+}
+
+db_get xfonts-traditional/generate
+if [ "$RET" = true ]; then
+
+       update-xfonts-traditional --update
+
+       check_aliasfile
+
+fi
diff --git a/debian/xfonts-traditional.postrm b/debian/xfonts-traditional.postrm
new file mode 100644 (file)
index 0000000..e6d6bed
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+set -e
+. /usr/share/debconf/confmodule
+case "$1" in
+purge)
+       db_purge || true
+       aliasfile=/etc/X11/fonts/misc/xfonts-base.alias
+       rm -f $aliasfile.trad
+       ;;
+esac
index 4dc7f2c..a2786a6 100644 (file)
@@ -11,12 +11,20 @@ remove)
 
        if grep '^fixed[         ][      ]*-trad-'; then
                cat >&2 <<END
+Removing xfonts-traditional would probably 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.
+
 END
-               exit 1
+               printf 'Continue anyway ? [n/y] '
+               read x
+               case "$x" in
+               y*|Y*)  ;;
+               *)      exit 1 ;;
+               esac
        fi
 
        ;;
index 9ba84de..046f926 100644 (file)
@@ -19,8 +19,11 @@ Description: Configure system to use traditional "fixed"?
  If you say "yes", I will edit /etc/X11/fonts/misc/xfonts-base.alias
  for you, and save your old file as xfonts-base.alias.not-trad.  (Note
  that this is a conffile so you may get prompts from dpkg about it in
- the future.)  If you say no I will generate xfonts-base-alias.trad
- for you to do what you like with.
+ the future.)  This will also make the xfonts-traditional package
+ harder to safely remove.  
+ .
+ If you say no I will generate xfonts-base-alias.trad for you to do
+ what you like with.
  .
  To revert this change, simply change the alias fixed back from
  "-trad-..."  to "-misc-...", or rename the old file back into place,