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

Re: tetex-extra and fmtutil



On Sun, Aug 15, 2004 at 11:41:32PM +0200, Hilmar Preusse wrote:
> On 15.08.04 Andreas Gredler (jimmy@g-tec.co.at) wrote:
> 
> Hi,
> 
> > I'm writing you this personal mail because I don't want to discuss
> > everything on the bug list(Long bug reports are hard to read, IMO)
> > 
> You've seen eventually #225004 or #244601? SCNR.

Only parts of it ;-)

> > What should I look for in /etc/texmf? VARTEXMF is not set there and
> > I do not understand why I should look for it there. That file isn't
> > sourced in the postinst script. Am I missing something?
> > 
> /usr/bin/fmtutil
> 
>   # if no cnf_file from command-line, look it up with kpsewhich:
>   test -z "$cnf_file" && cnf_file=`kpsewhich --format='web2c files' $cnf`
>   test -f "$cnf_file" || abort "config file \$cnf' not found"

That's the information I was looking for in the man page :-(

> fmtutil wants to see fmtutil.cnf either to be given on command line or
> to be found by kpsewhich. To make the latter possible the dir
> /var/lib/texmf/ must be part of TEXMF (set in texmf.cnf). What does
> egrep "^VARTEXMF|^TEXMF" /etc/texmf/texmf.cnf tell you?

TEXMFMAIN = /usr/share/texmf
TEXMFLOCAL = /usr/local/share/texmf
TEXMFOLDLOCAL = /usr/local/lib/texmf
TEXMF = {$HOMETEXMF,$TEXMFLOCAL,$TEXMFOLDLOCAL,!!$TEXMFMAIN}
TEXMFDBS = $TEXMF;$VARTEXFONTS
TEXMFCNF =
{$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c};$TETEXDIR;/usr/share/texmf/web2c;/usr/share/texmf/web2c

> egrep "^VARTEXMF|^TEXMF" /etc/texmf/texmf.d/05TeXMF.cnf ?

TEXMFMAIN = /usr/share/texmf
TEXMFLOCAL = /usr/local/share/texmf
TEXMFOLDLOCAL = /usr/local/lib/texmf
VARTEXMF = /var/lib/texmf
TEXMF =
{$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFOLDLOCAL,!!$VARTEXMF,!!$TEXMFMAIN}
TEXMFDBS = $TEXMF;$VARTEXFONTS

> I consider the following scenario: texmf.cnf is built from different
> files sitting in /etc/texmf/texmf.d. 05TeXMF.cnf was changed in
> tetex-bin 2.0.2-17. VARTEXMF was defined and taken as part of TEXMF.
> Hence the files in /var/lib/texmf/web2c are found. Possibly you have
> changed once 05TeXMF.cnf manually, but didn't define VARTEXMF. When
> you updated your tetex-bin you were probably asked, whether you want
> to use the maintainers version or keep your own (the latter answer is
> the default). You took the default answer, VARTEXMF is not defined in
> texmf.cnf and fmtutil.cnf is not found.

I'm sure that I took the default answer, but I'm also rather sure that I
never made any changes by hand.

> In the moment I don't have any clue how to solve that problem:
> 1. Call fmtutil with the parameters in postin (however texmf.cnf must
> be changed in another case no formats are found)?

That was my hack.

> 2. Force VARTEXMF into texmf.cnf using sed?
> 3. ....

Because I had the same problem with tetex-base, which was solved after
the next upgrade, I took a look in the newer postinst script.
IMO they solved this problem by NOT calling fmtutil and updmap. All
calls to updmap are commented out. And on my system fmtutil is not
called because:

if [ -e $TEXINIT_P -a -e $TEXLINKS_P -a -r /usr/share/texmf/web2c/fmtutil.cnf ] \
  && kpsewhich --expand-var='$TEXMF' | grep -q "/usr/share/texmf"  2> /dev/null
    then
# $TEXCONFIG_P font options appendonlydir varfonts
# $TEXCONFIG_P font vardir /var/cache/fonts
  /usr/bin/mktexlsr
  tempfile=`mktemp -p $MKTMPDIR tetex-base.postinst.XXXXXXXX`
  echo "Running initex. This may take some time. ..."
  if $TEXINIT_P --all > $tempfile; then
    rm -f $tempfile

And /usr/share/texmf/web2c/fmtutil.cnf doesn't exist so the if will return false.

I'm sorry that I can't provide more help but tetex worked for me always out
of the box. So I have no experience with the installation process.

> P.S.: I have the other teTeX maintainers in Cc.

So you're one of them(I couldn't find out who are the maintainers, that's why
I'm asking this stupid question)?

greets Jimmy

-- 
Andreas "Jimmy" Gredler, jimmy@g-tec.co.at
Get my public key at www.g-tec.co.at



Reply to: