From b9008d6dd9bc8ef91f0080e8d73cdd0d14e9161c Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 9 Jan 2012 22:00:23 +0000 Subject: [PATCH] packaging fixes --- debian/xfonts-traditional.postinst | 7 ++++-- debian/xfonts-traditional.postrm | 4 ++-- debian/xfonts-traditional.prerm | 38 ++++++++++++++++++------------ update-xfonts-traditional | 3 +-- 4 files changed, 31 insertions(+), 21 deletions(-) diff --git a/debian/xfonts-traditional.postinst b/debian/xfonts-traditional.postinst index 6e05d67..64aef5f 100755 --- a/debian/xfonts-traditional.postinst +++ b/debian/xfonts-traditional.postinst @@ -2,14 +2,14 @@ set -e . /usr/share/debconf/confmodule +aliasfile=/etc/X11/fonts/misc/xfonts-base.alias 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$/ + s/^(fixed\s+)\-misc\-(fixed-medium-r-semicondensed)/$1-trad-$2/ ' <$aliasfile >$aliasfile.trad if cmp -s $aliasfile $aliasfile.trad; then rm $aliasfile.trad @@ -18,9 +18,12 @@ check_aliasfile () { db_get xfonts-traditional/remap-fixed if [ $RET != true ]; then return; fi + echo 'Installing traditional variant of "fixed"...' ln $aliasfile $aliasfile.not-trad mv -f $aliasfile.trad $aliasfile + update-fonts-alias misc + db_put xfonts-traditional/remap-fixed false # only ever do this once } diff --git a/debian/xfonts-traditional.postrm b/debian/xfonts-traditional.postrm index 303188e..e9972f3 100755 --- a/debian/xfonts-traditional.postrm +++ b/debian/xfonts-traditional.postrm @@ -1,12 +1,12 @@ #!/bin/sh set -e -. /usr/share/debconf/confmodule #DEBHELPER# +aliasfile=/etc/X11/fonts/misc/xfonts-base.alias + case "$1" in purge) - aliasfile=/etc/X11/fonts/misc/xfonts-base.alias rm -f $aliasfile.trad ;; esac diff --git a/debian/xfonts-traditional.prerm b/debian/xfonts-traditional.prerm index 8b1ed6b..71f3f5d 100755 --- a/debian/xfonts-traditional.prerm +++ b/debian/xfonts-traditional.prerm @@ -2,6 +2,7 @@ set -e . /usr/share/debconf/confmodule +aliasfile=/etc/X11/fonts/misc/xfonts-base.alias case "$1" in @@ -9,36 +10,43 @@ remove) echo 'Checking that "fixed" is not from xfonts-traditional...' - if grep '^fixed[ ][ ]*-trad-'; then + if grep '^fixed[ ][ ]*-trad-' $aliasfile \ + /usr/share/fonts/X11/misc/fonts.alias; 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. +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 {''} ne $foundryinfo) { + } elsif ($olddone->{''} ne $foundryinfo) { our $repro_reported; print $reportfh "reprocessing fonts (rules updated)\n" or die $! unless $repro_reported++; -- 2.30.2