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

Re: Braindump: Can we get rid of the font-cache-group question?



Norbert Preining <preining@logic.at> wrote:

> Hi Ralf!
>
> On Die, 23 Mai 2006, Ralf Stubner wrote:
>> I could imagine tex-common installing an appropriate mktex.cnf file. I
>> am not sure what the best location would be, though.
>
> True, this should be no problem and override the mktex.cnf in
> tetex/texlive.

... and drop mktex.cnf from later versions of tetex/texlive.

>> > Whatabout changing VARTEXFONTS or whatever to /tmp/texfonts? /tmp should
>> > be always writable for everyone. Only problem is what happens if /tmp is
>> > cleaned ...
>> 
>> Cached font data would go away and would have to be recreated the next
>> time a font is used. Not really nice for people who use the EC fonts.
>
> Therefor we have world-writeable /var/cache/fonts. If the answer to this
> is no, then you loose the caching of fonts, but what would one user
> expect?

I think we should try to find a solution where font cache data do not
usually disappear regularly.  Either a per-user setup in $HOME, or a
system-wide setup in /var/cache/fonts.  /tmp should only be a last
resort. 

>> That would be a possibility for my second proposal, though. If TEXMFVAR
>> is not writable, which should only happen for buildds etc, VARTEXFONTS
>> is used. If that is set to /tmp/texfonts, no issues with additional
>> created files in the current directory would occur. 

Okay, that sounds sensible.

>> But old cached font
>> data would still be lost on normal user machines.

But only on machines where TEXMFVAR is not writable, which doesn't sound
very probable.  Therefore, I think this is not an issue.

> We put a mktex.cnf into /etc/texmf and there is only one question with
> three options:
> 	. set VARTEXFONTS to /tmp/texfonts
> 	. set VARTEXFONTS to /var/cache/fonts world writeable
> 	. leave everything alone
>
> The logic would be:
>
> /var/cache/fonts is with normal permissions in tex-common (nothing
> fancy)
>
> * new install:
> 	VARTEXFONTS = /tmp/texfonts
> 		do nothing
> 	VARTEXFONTS = /var/cache/fonts
> 		chmod ugo+rw /var/cache/fonts
> 	leave alone
> 		well do nothing, if it breaks, bad ...
> 		I would put VARTEXFONTS=/var/cache/fonts into
> 		mktex.cnf in this case
>
> * upgrade
> 	ignore all settings currently saved/asked
> 	check for /etc/texmf/mktex.cnf

Shouldn't that be `kpsewhich --format="don't remember" mktex.cnf`?

> 	read the value
> 	propose a answer according to it
> 		- if VTF=/tmp/texfonts	variant 1
> 		- if VTF=/var/cache/fonts AND worldwriteable: variant 2
> 		- if anything else: variant 3
>
> Comments

Couldn't we do it *without*any* questions?

- /var/cache/fonts exists, with standard permissions (0755)
- mktex.cnf is a conffile, with 

  VARTEXFONTS=/tmp/texfonts
  MT_FEATURES=texmfvar

- NEWS.Debian and README.Debian instruct how to set up a system-wide
  VARTEXFONTS directory in /var/cache/fonts or elsewhere

* new install:

  Fonts are cached in TEXMFVAR, except on strange setups where it is not
  writable.  For single-user machines, this has functionality as good as
  caching in /var/cache/fonts.  For multi-user machines, people can read
  in README.Debian how to centralize the font cache

* upgrade:

  Fonts in /var/cache/fonts are lost (this is even better than
  README.Debian, people will simply notice it...) unless the admin
  changes settings.


I think this is more in line with Ralf's original proposal.  And it
follows the KISS principle, and doesn't introduce any behavior not in
the upstream distribution.

Regards, Frank

-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)



Reply to: