Opened 14 years ago

Closed 13 years ago

#24204 closed defect (fixed)

texlive_base-2007 User-modified texmf.cnf overwritten when it shouldn't be

Reported by: nstanger (Nigel Stanger) Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version: 1.8.2
Keywords: tex texlive texmf.cnf Cc:
Port: texlive-common

Description

I just upgraded texlive_base from 2007_7 to 2007_8. During this, it overwrote my customised texmf.cnf (/opt/local/share/texmf/web2c/texmf.cnf). Now it says on the first line of texmf.cnf that if you remove or alter the word "original", that it won't overwrite the file when upgrading. I had done this, but it got overwritten anyway.

I know that this has worked correctly in the past, but I'm not sure how long ago, as I'm working from a clean install as of January this year when I upgraded to Snow Leopard.

Note that you can't have a local modified copy of texmf.cnf elsewhere (say texmf-config), because then you have a chicken and egg problem: how does TeX find the local version of the config file when that file tells TeX where to find the texmf tree that it's in? :) In other words, if you want customised texmf trees, you must modify this file (unless I've missed something obvious).

Environment: Snow Leopard 10.6.2 Xcode 3.2

Change History (7)

comment:1 Changed 14 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to dports@…

Is this still a problem with texlive-bin @2009_2?

comment:2 Changed 14 years ago by drkp (Dan Ports)

Port: texlive-common added; texlive_base removed
Status: newassigned

I think so. (Or, to be precise, with texlive-common, since it owns that file.)

The comments in texmf.cnf about user-modifications are, I think, totally inaccurate and should definitely be fixed.

This is partly a "standard" configuration file problem that ought to benefit from the GSOC configuration file handling work, but is worth a closer look because it's needed to specify texmf tree locations (both the standard texlive ones and any local ones).

May be as simple as splitting it into a default texmf.cnf file and one for user customizations with appropriate includes.

comment:3 in reply to:  2 Changed 14 years ago by nstanger (Nigel Stanger)

If texmf.cnf is still part of the main package, then yes, it may still be a problem. Upstream seems to have changed the way that local customisations work, though—see the comment in the original texmf.cnf about placing a local customisations in ../../texmf.cnf. I tried that when I upgraded, but of course it didn’t work, because ../.. turned out to be /opt/local/share ☺. That should provide a mechanism for the port to do something along similar lines though, if it’s possible to modify where it looks for the localised file. I’m happy to test patches if necessary.

comment:4 Changed 13 years ago by drkp (Dan Ports)

As part of the texlive 2010 update, I'm planning on having texmf.cnf generated by combining the files in /opt/local/etc/texmf.cnf.d, like we already do for fmtutil.cnf, updmap.cfg, etc. This directory can contain files installed by ports (if we have ports that need to add custom texmf.cnf settings) or local user configuration.

How does that sound?

comment:5 in reply to:  4 Changed 13 years ago by nstanger (Nigel Stanger)

That sounds like an excellent idea!

comment:6 Changed 13 years ago by drkp (Dan Ports)

Great. I have this implemented in my texlive 2010 branch, which I'm hoping to merge in the next week or two (assuming all goes well). See #26430 for more info.

comment:7 Changed 13 years ago by drkp (Dan Ports)

Resolution: fixed
Status: assignedclosed

Fixed in the texlive 2010 update (r73314, #26430)

Note: See TracTickets for help on using tickets.