Subject: bug#27217: texlive is too big

From: Ricardo Wurmus <[email-masked]>
Date: Thu, 17 Jan 2019 12:01:15 +0100

Pierre Neidhardt <[email-masked]> writes:

> What I meant is that with the tlpdb approach, we would base our build system on
> a centralized authority with regard to what constitute a package and which files
> belong to them.  Then we would not have to worry about file conflicts.

Ah, I see.  I was struggling to see how this would help us in this case,
so I looked up “palatino” in the texlive.tlpdb.

We can find this snippet in the texlive.tlpdb (which is part of the
texlive-bin package):

--8<---------------cut here---------------start------------->8---
name palatino
category Package
revision 31835
catalogue urw-base35
shortdesc URW "Base 35" font pack for LaTeX
longdesc A set of fonts for use as "drop-in" replacements for Adobe's
longdesc basic set, comprising: Century Schoolbook (substituting for
longdesc Adobe's New Century Schoolbook); Dingbats (substituting for
longdesc Adobe's Zapf Dingbats); Nimbus Mono L (substituting for Abobe's
longdesc Courier); Nimbus Roman No9 L (substituting for Adobe's Times);
longdesc Nimbus Sans L (substituting for Adobe's Helvetica); Standard
longdesc Symbols L (substituting for Adobe's Symbol); URW Bookman; URW
longdesc Chancery L Medium Italic (substituting for Adobe's Zapf
longdesc Chancery); URW Gothic L Book (substituting for Adobe's Avant
longdesc Garde); and URW Palladio L (substituting for Adobe's Palatino).
execute addMap upl.map
runfiles size=388
 texmf-dist/dvips/palatino/config.upl
 texmf-dist/fonts/afm/adobe/palatino/pplb8a.afm
 texmf-dist/fonts/afm/adobe/palatino/pplbi8a.afm
 texmf-dist/fonts/afm/adobe/palatino/pplr8a.afm
 texmf-dist/fonts/afm/adobe/palatino/pplri8a.afm
 texmf-dist/fonts/afm/urw/palatino/uplb8a.afm
 texmf-dist/fonts/afm/urw/palatino/uplbi8a.afm
 texmf-dist/fonts/afm/urw/palatino/uplr8a.afm
 texmf-dist/fonts/afm/urw/palatino/uplri8a.afm
 texmf-dist/fonts/map/dvips/palatino/upl.map
 texmf-dist/fonts/tfm/adobe/palatino/eurbo10.tfm
 texmf-dist/fonts/tfm/adobe/palatino/eurmo10.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb9c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb9d.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb9e.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb9o.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplb9t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbc.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbc7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbc8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi9c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi9d.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi9e.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi9o.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbi9t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbij8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbj8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbo.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbo7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbo8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbo8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbo8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbu.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplbu8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr8rn.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr9c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr9d.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr9e.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr9o.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplr9t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc9d.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc9e.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc9o.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrc9t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri9c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri9d.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri9e.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri9o.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplri9t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrij8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplro.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplro7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplro8c.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplro8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplro8t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrr8re.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrre.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplrrn.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplru.tfm
 texmf-dist/fonts/tfm/adobe/palatino/pplru8r.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppleb7m.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppleb7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppleb7y.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppler7m.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppler7t.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppler7v.tfm
 texmf-dist/fonts/tfm/adobe/palatino/zppler7y.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplb7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplb8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplb8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplb8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbc7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbc8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbi7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbi8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbi8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbi8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbo7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbo8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbo8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplbo8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplr7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplr8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplr8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplr8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplrc7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplrc8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplri7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplri8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplri8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplri8t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplro7t.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplro8c.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplro8r.tfm
 texmf-dist/fonts/tfm/urw35vf/palatino/uplro8t.tfm
 texmf-dist/fonts/type1/urw/palatino/uplb8a.pfb
 texmf-dist/fonts/type1/urw/palatino/uplb8a.pfm
 texmf-dist/fonts/type1/urw/palatino/uplbi8a.pfb
 texmf-dist/fonts/type1/urw/palatino/uplbi8a.pfm
 texmf-dist/fonts/type1/urw/palatino/uplr8a.pfb
 texmf-dist/fonts/type1/urw/palatino/uplr8a.pfm
 texmf-dist/fonts/type1/urw/palatino/uplri8a.pfb
 texmf-dist/fonts/type1/urw/palatino/uplri8a.pfm
 texmf-dist/fonts/vf/adobe/palatino/pplb.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb9c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb9d.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb9e.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb9o.vf
 texmf-dist/fonts/vf/adobe/palatino/pplb9t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbc.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbc7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbc8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi9c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi9d.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi9e.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi9o.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbi9t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbo.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbo7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbo8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbo8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplbu.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr9c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr9d.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr9e.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr9o.vf
 texmf-dist/fonts/vf/adobe/palatino/pplr9t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc9d.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc9e.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc9o.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrc9t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri9c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri9d.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri9e.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri9o.vf
 texmf-dist/fonts/vf/adobe/palatino/pplri9t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplro.vf
 texmf-dist/fonts/vf/adobe/palatino/pplro7t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplro8c.vf
 texmf-dist/fonts/vf/adobe/palatino/pplro8t.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrre.vf
 texmf-dist/fonts/vf/adobe/palatino/pplrrn.vf
 texmf-dist/fonts/vf/adobe/palatino/pplru.vf
 texmf-dist/fonts/vf/adobe/palatino/zppleb7m.vf
 texmf-dist/fonts/vf/adobe/palatino/zppleb7t.vf
 texmf-dist/fonts/vf/adobe/palatino/zppleb7y.vf
 texmf-dist/fonts/vf/adobe/palatino/zppler7m.vf
 texmf-dist/fonts/vf/adobe/palatino/zppler7t.vf
 texmf-dist/fonts/vf/adobe/palatino/zppler7v.vf
 texmf-dist/fonts/vf/adobe/palatino/zppler7y.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplb7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplb8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplb8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbc7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbc8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbi7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbi8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbi8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbo7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbo8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplbo8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplr7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplr8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplr8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplrc7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplrc8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplri7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplri8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplri8t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplro7t.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplro8c.vf
 texmf-dist/fonts/vf/urw35vf/palatino/uplro8t.vf
 texmf-dist/tex/latex/palatino/8rupl.fd
 texmf-dist/tex/latex/palatino/omlupl.fd
 texmf-dist/tex/latex/palatino/omsupl.fd
 texmf-dist/tex/latex/palatino/ot1upl.fd
 texmf-dist/tex/latex/palatino/t1upl.fd
 texmf-dist/tex/latex/palatino/ts1upl.fd
catalogue-also tex-gyre
catalogue-ctan /fonts/urw/base35
catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license gpl
catalogue-topics font font-type1 font-collection
--8<---------------cut here---------------end--------------->8---

This tells us what files are installed (“runfiles”) and it shows us that
there is no source file we can use to generate them (there is no
“srcfiles”).  Compare that to 12many, for example:

--8<---------------cut here---------------start------------->8---
name 12many
category Package
revision 15878
catalogue one2many
shortdesc Generalising mathematical index sets
longdesc In the discrete branches of mathematics and the computer
longdesc sciences, it will only take some seconds before you're faced
longdesc with a set like {1,...,m}. Some people write $1\ldotp\ldotp m$,
longdesc others $\{j:1\leq j\leq m\}$, and the journal you're submitting
longdesc to might want something else entirely. The 12many package
longdesc provides an interface that makes changing from one to another a
longdesc one-line change.
docfiles size=98
 texmf-dist/doc/latex/12many/12many.pdf details="Package documentation"
 texmf-dist/doc/latex/12many/README details="Readme"
srcfiles size=6
 texmf-dist/source/latex/12many/12many.dtx
 texmf-dist/source/latex/12many/12many.ins
runfiles size=1
 texmf-dist/tex/latex/12many/12many.sty
catalogue-ctan /macros/latex/contrib/12many
catalogue-date 2016-06-24 19:18:15 +0200
catalogue-license lppl
catalogue-topics maths
catalogue-version 0.3
--8<---------------cut here---------------end--------------->8---

Here we do have “srcfiles” and we can use those to generate
“12many.sty”.  I think this would be a good source of information for
the importer.  We just need to be smart about handling the “srcfiles”
field so that it won’t result in too large downloads from SVN
(e.g. parent directory) or too many small svn-fetch origins (one origin
per file).

--
Ricardo