Re: new lmodern package
Hi all!
On Mit, 08 Feb 2006, Norbert Preining wrote:
> What about the following idea:
>
> a) /etc/texmf/updmap.d/10lmodern.cfg exists
> - if the file was unchanged, remove it
> - if the file is changed, only add a magic header
>
> b) /etc/texmf/updmap.d/10lmodern.cfg does not exist
> - the SAVED_CONFIG_FILE exists, ie if the
> old lmodern was removed but not purged:
> - if SAVED_CONFIG_FILE is the same as the original CONFIG_FILE
> remove it
> - if SAVED_CONFIG_FILE was changed
> move it to the right /etc/texmf/updmap.d/ location, and
> add a magic header
> - also SAVED_CONFIG_FILE is missing
> (the user has deleted the updmap.d config file)
> create the same updmap.d config file as in the new package, but
> with all Map items commented out
I implemented this idea, although the flow is a bit different.
Here is the addition to lmodern.preinst:
Index: lmodern.preinst
===================================================================
--- lmodern.preinst (Revision 316)
+++ lmodern.preinst (Arbeitskopie)
@@ -61,6 +61,29 @@
# The directory should be empty by now.
[ -d "$OLD_STATE_DIR" ] && rmdir "$OLD_STATE_DIR"
+ # if the CONFIG_FILE is unchanged, remove it
+ if [ -f "$CONFIG_FILE" ] ; then
+ cnfmdsum=`md5sum "$CONFIG_FILE" | cut -d ' ' -f 1`
+ if [ "$cnfmdsum" = "MISSING MD5 SUM HERE" ] ; then
+ # we can remove the file as it hasn't been changed
+ rm -f "$CONFIG_FILE"
+ else
+ # the file was changed
+ # if it does not contain a magic header, we add it
+ if grep -q '^# -_- DebPkgProvidedMaps -_-' "$CONFIG_FILE" ; then
+ : do nothing
+ else
+ cat > "$TEMP_CONFIG_FILE" <<EndOfEmptyConfigFile
+# Don't delete the following pseudo-comment unless you know what you are doing.
+# -_- DebPkgProvidedMaps -_-
+# This file will *not* be included in updmap.cfg if the lmodern package is
+# removed. Please read update-updmap(1) for details.
+EndOfEmptyConfigFile
+ cat "$CONFIG_FILE" >> "$TEMP_CONFIG_FILE"
+ mv "$TEMP_CONFIG_FILE" "$CONFIG_FILE"
+ fi
+ fi
+ fi
return 0
}
Here 2 points are importatnt:
- The old md5sum is missing, as it is not a config file, I cannot grep
in /v/l/d/status
- in case the admin deliberately removed the config file, we do NOT
create the current 10lmodern.cfg file with Maps uncommented, but
just a very simple. I think this is ok, the admin should now when
he has deleted the config file.
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <preining AT logic DOT at> Università di Siena
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
SCREGGAN (n. banking)
The crossed-out bit caused by people putting the wrong year on their
cheques all through January.
--- Douglas Adams, The Meaning of Liff
Reply to: