[tex-live] Restructuring

Fabrice Popineau Fabrice.Popineau at supelec.fr
Thu Mar 11 17:46:04 CET 2004

I am currently submitting quite a big change to the TL depot. In the
end, I removed several root directories and there remains 3 texmf tds
conformant directories:
- texmf/ which is the TLCore (actually, binaries could go there too !)
- texmf-dist/ which is Package, distribution independent packages
- texmf-doc/ which is Documentation, documentation files that do not
participate to the runnable system.

TLCore, Package and Documentation are symbolic names that are mapped to
the actual texmf/, texmf-dist/ and texmf-doc/ directories.

The script Tools/tpm-factory.pl allows to do several things out of this
- create a new, empty tpm file:
perl tpm-factory.pl --new=Package/foo
will create a texmf-dist/tpm/foo.tpm
- if you add :
perl tpm-factory.pl --new=Package/foo --patterns=auto
perl tpm-factory.pl --new=Binary/bar --patterns=from
the same tpm file will be created, but populated with a list of all the
files found in location belonging to the foo package
- cleanup a tpm file:
perl tpm-factory.pl --clean --name=Package/foo --patterns=auto --fixreq
will try as far as possible to populate the various fields with sensible
- cleanup a whole tree
perl tpm-factory.pl --clean --type=Package --patterns=auto
- check a texmf tree:
perl tpm-factory.pl --check=cov --type=Documentation
will check coverage and
perl tpm-factory.pl --check=dep --type=all
will check dependencies

Both Documentation and Package trees can be maintained
automatically. The TLCore tpm files need to be maintained by hand using
the Patterns fields. That's the reason behind --patterns=(from|auto|to).

Clearly this structure depends on packages to use the exact locations
that belong to them.

I'm open to enhancements and discussion about this stuff.


More information about the tex-live mailing list