[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#268957: pdflatex started embedding Palatino and Zapf Dingbats as pk-files



Frank Küster <frank@debian.org> wrote:

> You are trying to use the cm-super fonts, but then it cannot find
> them. This might be a local misconfiguration, but it may also be a bug
> introduced by a recent change by us.

I still do not know, but I know that there is a bug in our package.

A year ago, we changed the default of some debconf questions from "no"
(no "automatics") to "yes" (use update-* stuff). Pierre Marchard made me
aware of the problem this causes for machines that are administered
automatically, i.e. with noninteractive frontend (or always default
answers): While we and other packages assume that an up-to-date system
uses the new defaults, those systems wouldn't.

To work around this, I have introduced code that will set the question
to unseen and ask it again, thus forcing the new defaults for a
noninteractive system.

What I did not take into account was users that also did not see those
changing questions (either because of the debconf priority, or because
of using the noninteractive frontend), but otherwise actively
administer their systems - e.g. by changing /etc/texmf/updmap.cfg or
/etc/texmf/fmtutil.cnf. 

Theoretically, there is a, and only one, safe and policy-compliant way
to fix this: Compare those files with what we would generate, if they
differ parse them and generate appropriate files in
/etc/texmf/{updmap,fmt}.d/. 

However, this is practically not possible. At least I do not think that
we would be able to develop such code in time for sarge, test it and
bring it to a releasable reliability and stability.

Therefore the only option I see to steer between the Scylla of keeping
automatically updated machines in a buggy state, and the Charybdis of
destroying local configuration, is to sail into the arms of Charybdis,
but show this in the evening news, so to say.

In other words: If we find in the config script that we have to force
this change, we notify the user that this had to be done. It will only
affect unstable/testing users, not people newly installing or upgrading
from woody. This would mean applying the following patch. 

I await your protest.

Index: config
===================================================================
RCS file: /cvs/tetex/tetex-bin/debian/config,v
retrieving revision 1.20
diff -u -r1.20 config
--- config	30 Aug 2004 13:23:41 -0000	1.20
+++ config	31 Aug 2004 15:10:41 -0000
@@ -19,30 +19,42 @@
 # back in 2.0.2-4.2, the defaults for some debconf questions have changed. 
 # in order for noninteractive updates to continue to work, we have to set them 
 # to the new defaults and ask again.
+# Since I did it wrong in the first place, I use shown_again2
 questions_nowtrue="fmtutil upd_map"
 questions_nowfalse="use_debconf"
 for question in $questions_nowtrue; do
-  db_fget tetex-bin/$question shown_again
+  eval priority_$question=low
+  db_fget tetex-bin/$question shown_again2
   if [ "$RET" = "false" ]; then
-    db_fset tetex-bin/$question seen false
-    db_set tetex-bin/$question true
-    db_fset tetex-bin/$question shown_again true
+    db_get tetex-bin/$question
+    if [ "$RET" = false ]; then
+      # this question has been shown, and should be true
+      db_fset tetex-bin/$question seen false
+      db_set tetex-bin/$question true
+      db_fset tetex-bin/$question shown_again2 true
+      eval priority_$question=high
+    fi
   fi
 done
 for question in $questions_nowfalse; do
-  db_fget tetex-bin/$question shown_again
+  eval priority_$question=low
+  db_fget tetex-bin/$question shown_again2
   if [ "$RET" = "false" ]; then
-    db_fset tetex-bin/$question seen false
-    db_set tetex-bin/$question false
-    db_fset tetex-bin/$question shown_again true
+    db_get tetex-bin/$question
+    if [ "$RET" = true ]; then
+      db_fset tetex-bin/$question seen false
+      db_set tetex-bin/$question false
+      db_fset tetex-bin/$question shown_again2 true
+      eval priority_$question=high
+    fi
   fi
 done
 
 # fmtutil.cnf handling
-db_input low tetex-bin/fmtutil || true
+db_input $priority_fmtutil tetex-bin/fmtutil || true
 db_go || true
 # updmap.cfg handling
-db_input low tetex-bin/upd_map || true
+db_input $priority_upd_map tetex-bin/upd_map || true
 db_go || true
 
 # ls-R handling
@@ -175,7 +187,7 @@
 # user interaction:
 #
 # First, ask the user whether to handle language.dat with debconf at all.
-db_input low tetex-bin/use_debconf || true
+db_input $priority_use_debconf tetex-bin/use_debconf || true
 db_go
 db_get tetex-bin/use_debconf || true
 if [ "$RET" = "true" ]; then
@@ -270,4 +282,32 @@
       db_fset tetex-bin/hyphen seen true
     fi
   fi
+fi
+
+# forcing the changed defaults will usually cure people's systems, but 
+# it may also sometimes cause problems. We really should warn people.
+display_note=false
+display_question=""
+for question in $questions_nowtrue $questions_nowfalse; do
+  db_fget tetex-bin/$question shown_again2
+  if [ "$RET" = true ]; then
+    db_fget tetex-bin/$question seen
+    if [ "$RET" = false ]; then
+      display_note=true
+      case $question in
+	fmtutil)
+	  changed_file=fmtutil.cfg ;;
+	upd_map)
+	  changed_file=updmap.cfg ;;
+	use_debconf)
+	  changed_file=language.dat;;
+      esac
+      display_question="$changed_file $display_question"
+    fi
+  fi
+done
+if [ "$display_note" = true ]; then
+  db_subst tetex-bin/changed-default changed_question "$display_question"
+  db_input critical tetex-bin/changed-default || true
+  db_go || true
 fi
Index: templates
===================================================================
RCS file: /cvs/tetex/tetex-bin/debian/templates,v
retrieving revision 1.25
diff -u -r1.25 templates
--- templates	30 Aug 2004 11:25:02 -0000	1.25
+++ templates	31 Aug 2004 15:10:41 -0000
@@ -138,3 +138,14 @@
  .
  If you report this as a bug, please include the output of updmap,
  stored in ${updmap_tempfile}
+
+Template: tetex-bin/changed-default
+Type: note
+_Description: Important defaults changed, need to edit files
+ The defaults of teTeX's handling of the files
+ .
+ ${changed_questions}
+ .
+ in /etc/texmf/ have changed. If you have edited those files
+ previously, you might have to fix your configuration. Please follow
+ the explanations in /usr/share/tetex-bin/README.Debian.
\ No newline at end of file




Reply to: