chiark / gitweb /
processpcfgz: completely revamped subprocess data structures and error handling
[xfonts-traditional.git] / checkfiles
1 #!/bin/sh
2 # run from the prerm and postinst
3 set -e
4
5 script=$1
6 mode=$2
7
8 . /usr/share/debconf/confmodule
9
10 gen_file_overwrite () {
11         before=$1; after=$2; infile=$3; outfile=$4; backupmode=$5; backup=$6
12         perl -pe '
13  s/^('"$regexp"'\s+)\-'$before'\-(fixed-medium-r-semicondensed)/$1-'$after'-$2/
14                 ' <$infile >$outfile.tmp
15         if cmp -s $outfile.tmp $outfile; then
16                 rm $outfile.tmp
17                 return
18         fi
19         echo " Updating $file ($before=>$after)..."
20         case $backupmode in
21         once)
22                 if ! test -e $backup; then
23                         ln $outfile $backup
24                 fi
25                 ;;
26         never)
27                 ;;
28         esac
29         mv -f $outfile.tmp $outfile
30
31         case "$file" in
32         *.alias) update-fonts-alias misc ;;
33         esac
34 }
35
36 check_file () {
37         dckey=$1; regexp=$2; file=$3
38
39         if ! test -f $file; then return; fi
40
41         needundo=true
42
43         case "$script.$mode" in
44         postinst.*)
45                 db_get xfonts-traditional/$dckey ||:
46                 if [ $RET = true ]; then
47                         gen_file_overwrite misc trad \
48                                 $file $file once $file.backup.not-trad
49                         needundo=false
50                 else
51                         gen_file_overwrite misc trad \
52                                 $file $file.trad never
53                 fi
54                 ;;
55         prerm.upgrade*)
56                 needundo=false
57                 ;;
58         prerm.remove*)
59                 ;;
60         *)
61                 echo >&2 "huh $script.mode ?"
62                 exit 1
63                 ;;
64         esac
65         if $needundo && test -f $file.backup.not-trad; then
66                 gen_file_overwrite trad misc \
67                         $file $file $file.backup.trad
68                 mv -f $file.backup.not-trad $file.old.not-trad
69         fi
70         # only ever do this once, unless we've actually undone it since
71 }
72
73 echo "Checking configuration..."
74
75 check_file reconfigure-xterm '\*VT100\.utf8Fonts\.font\:' \
76         /etc/X11/app-defaults/XTerm
77
78 check_file remap-fixed 'fixed' \
79         /etc/X11/fonts/misc/xfonts-base.alias
80
81 true