1 |
On 10/20/2019 16:57, Joshua Kinard wrote:> On 10/20/2019 05:44, Michal Górny wrote: |
2 |
>> On Sun, 2019-10-20 at 05:21 -0400, Joshua Kinard wrote: |
3 |
>>> On 10/20/2019 04:32, Michal Górny wrote: |
4 |
[snip] |
5 |
>> You believe it to be a problem. Don't expect others to bother upstream |
6 |
>> with your preferences. |
7 |
> |
8 |
> Hah. So you consider texlive having 16k+ distfiles to be completely within |
9 |
> operating norms then? |
10 |
> |
11 |
> I did a quick look, and it looks like the TeX project has a fairly |
12 |
> comprehensive mirroring system distributed around the world. In fact, it |
13 |
> looks like they emulate Perl's CPAN system with "CTAN": |
14 |
> |
15 |
> https://ctan.org/ |
16 |
> |
17 |
> I don't know the history of the texlive and other associated tex packages in |
18 |
> Gentoo, but my guess is instead of doing what our Perl packages do, someone |
19 |
> just decided to mirror the CTAN archive directly on the Gentoo distfiles |
20 |
> system. It seems to me that what should actually happen is that we leverage |
21 |
> CTAN itself, much like CPAN, and use their mirroring system instead of |
22 |
> burdening our infrastructure as an unofficial CTAN archive. |
23 |
> |
24 |
> I know we've got a ton of Perl packages for the core set of Perl modules, |
25 |
> but doesn't the CPAN eclass also have the capability to auto-generate an |
26 |
> ebuild package for virtually any Perl package distributed via CPAN? Can |
27 |
> that logic be used with the CTAN system in its own eclass and then we remove |
28 |
> the 16k+ texlive modules off of our mirrors completely? Or at the worst, we |
29 |
> might just have to generate ebuilds for texlive modules and treat them as |
30 |
> discrete, installed packages. |
31 |
|
32 |
So looking at texlive-latexextra-2019-r2.ebuild, it defines three variables: |
33 |
|
34 |
- TEXLIVE_MODULE_CONTENTS, with 1,241 space-delimited module names |
35 |
- TEXLIVE_MODULE_DOC_CONTENTS, with 1,227 space-delimited doc names |
36 |
- TEXLIVE_MODULE_SRC_CONTENTS, with 745 space-delimited src names |
37 |
|
38 |
Then, in texlive-module.eclass, there's these loops: |
39 |
|
40 |
for i in ${TEXLIVE_MODULE_CONTENTS}; do |
41 |
SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.${PKGEXT}" |
42 |
done |
43 |
|
44 |
# Forge doc SRC_URI |
45 |
[ -n "${TEXLIVE_MODULE_DOC_CONTENTS}" ] && SRC_URI="${SRC_URI} doc? (" |
46 |
for i in ${TEXLIVE_MODULE_DOC_CONTENTS}; do |
47 |
SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.${PKGEXT}" |
48 |
done |
49 |
[ -n "${TEXLIVE_MODULE_DOC_CONTENTS}" ] && SRC_URI="${SRC_URI} )" |
50 |
|
51 |
# Forge source SRC_URI |
52 |
if [ -n "${TEXLIVE_MODULE_SRC_CONTENTS}" ] ; then |
53 |
SRC_URI="${SRC_URI} source? (" |
54 |
for i in ${TEXLIVE_MODULE_SRC_CONTENTS}; do |
55 |
SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.${PKGEXT}" |
56 |
done |
57 |
SRC_URI="${SRC_URI} )" |
58 |
fi |
59 |
|
60 |
I think this is definitely an issue with how this package is laying out its |
61 |
needed distfiles. It really should be leveraging CTAN system at a minimum |
62 |
to fetch all of the needed distfiles so we can get them off of our |
63 |
distfiles mirror. Then it would be interesting to re-run the math on |
64 |
the distfiles distribution using the different schemes highlighted in the |
65 |
GLEP-75 paper. |
66 |
|
67 |
Longer-term, I think this entire approach should be revisited by the TeX |
68 |
team to make it behave more like Perl or Python packages by having discrete |
69 |
ebuilds for these modules. That's not exactly a small undertaking, but |
70 |
this current approach feels very kludgy in its design and is probably |
71 |
asking for trouble. I looked at several of the modules on CTAN, and they |
72 |
each have their own version and even have different licenses. |
73 |
|
74 |
E.g., |
75 |
|
76 |
- altfont is licensed under "GNU General Public License" (version ??) |
77 |
- achemso is licensed under "The LaTeX Project Public License 1.3c" |
78 |
- arraysort is licensed under "The LaTeX Project Public License 1.2" |
79 |
- amsfonts is licensed under "The SIL Open Font License" |
80 |
- a0poster is licensed under "The LaTeX Project Public License" (ver ??) |
81 |
- arydshln is licensed under "The LaTeX Project Public License 1" |
82 |
- aurl is licensed under "Public Domain Software" |
83 |
|
84 |
That's just a random selection from the 'a' category. Do we have copies |
85 |
of those licenses in the tree? Do they allow redistribution of the |
86 |
distfiles? For the users that want "free" software, do any of the licenses |
87 |
in any of the TeX modules put up any disagreeable restrictions? |
88 |
|
89 |
Etc... |
90 |
|
91 |
-- |
92 |
Joshua Kinard |
93 |
Gentoo/MIPS |
94 |
kumba@g.o |
95 |
rsa6144/5C63F4E3F5C6C943 2015-04-27 |
96 |
177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943 |
97 |
|
98 |
"The past tempts us, the present confuses us, the future frightens us. And |
99 |
our lives slip away, moment by moment, lost in that vast, terrible in-between." |
100 |
|
101 |
--Emperor Turhan, Centauri Republic |