Gentoo Archives: gentoo-dev

From: Joshua Kinard <kumba@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] New distfile mirror layout
Date: Mon, 21 Oct 2019 00:05:48
Message-Id: f76496bd-bb6a-2f6e-51f3-99ce5a7505ab@gentoo.org
In Reply to: Re: [gentoo-dev] New distfile mirror layout by Joshua Kinard
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

Replies

Subject Author
Re: [gentoo-dev] New distfile mirror layout Ulrich Mueller <ulm@g.o>
Re: [gentoo-dev] New distfile mirror layout Kent Fredric <kentnl@g.o>
Re: [gentoo-dev] New distfile mirror layout Mikle Kolyada <zlogene@g.o>