Gentoo Archives: gentoo-dev

From: Michael Cummings <mcummings@g.o>
To: gentoo-dev@l.g.o, gentoo-perl@l.g.o
Subject: [gentoo-dev] New perl eclass, perl-app.eclass (re: collision-protects in perl related installs)
Date: Fri, 25 Nov 2005 14:41:34
Message-Id: 43872196.5020207@gentoo.org
1 [Background]
2 The way perl modules are currently created using the perl-module eclass,
3 man3 files are generated in duplication of the current pod docs. This
4 leads to both a waste of disk space (anyone working with a perl module
5 first thinks to perldoc it - not man it), and more importantly portage
6 wise, collision-protects get invoked when the module is
7 replacing/upgrading a core perl installed module. This latter
8 collision-protect violation only occurs during the installation of the
9 man pages, we don't actually overwrite the installed core module but
10 rather bump it on the @INC chain (I can explain that better off list or
11 on the gentoo-perl list if you are curious).
12
13 [Foreground :]
14
15 I'd like to introduce a new eclass, perl-app eclass, to handle those
16 apps that are not modules, but that utilize the perl-module eclass for
17 building. While we don't want to generate man3 pages for every module
18 installed, there are apps that use the perl-module eclass that would no
19 longer build potentially useful man3 pages. I've tested it out locally
20 for the last week and all is in good working order (with
21 collision-protect enabled in my FEATURES). The gist is that the
22 perl-app.eclass inherits the bulk of the functionality of the
23 perl-module eclass, so there is still only one eclass to maintain for
24 99% of it, but the perl-app eclass allows the man3 pages to be built.
25 I've generated a list of ebuilds that are outside of the *perl*
26 categories that would be affected by this change, and that would
27 potentially want to switch over to using the perl-app eclass. I'm
28 willing to do the grunting and groaning of updating inherit lines, but
29 wanted to get some feedback before committing something this large
30 (there are currently 500+ ebuilds that utilize this eclass). The revised
31 perl-module.eclass and perl-app.eclass can be found at
32 http://dev.gentoo.org/~mcummings/{ECLASS_NAME} if you'd like to see what
33 I'm proposing.
34
35 In reviewing options, this really did seem to be the more elegant. While
36 we could just set aside an eclass that didn't build man3 pages for those
37 modules that raise conflicts, i'm of the opinion that man3 pages for
38 general perl modules are a waste, it's perldoc that most japh's use.
39
40 Feedback welcome, and now for the long list of apps that would
41 potentially utilize the new eclass (which would in fact mean they would
42 stay at status quo rather than dropping man3 pages for the perl module
43 portions)(this list is based on ebuilds inheriting perl-module - they
44 may not utilize the full functionality of the eclass, which means this
45 list could be a lot larger than the list of non module ebuilds affected
46 by the dropping of man3 support).(is that too much text inside of a ()?)
47
48 ~mcummings
49
50 P.S. caveat - I realize the sampled eclasses don't avoid man3 pages for
51 modules not using ExtUtils::MakeMaker (ie, Module::Build built modules),
52 and I've currently got an email out to Ken on whether there is a non
53 hackish way to do this.
54
55 List of ebuilds inheriting perl-module (according to a simpleton grep):
56
57
58 ./dev-tex/html2latex/html2latex-1.1.ebuild
59 ./sci-biology/generic-genome-browser/generic-genome-browser-1.58.ebuild
60 ./sci-biology/bioperl-pipeline/bioperl-pipeline-0.1.ebuild
61 ./sci-biology/bioperl-run/bioperl-run-1.4.ebuild
62 ./sci-biology/bioperl-run/bioperl-run-1.2.2.ebuild
63 ./sci-biology/bioperl/bioperl-1.0.2.ebuild
64 ./sci-biology/bioperl/bioperl-1.2.3.ebuild
65 ./sci-biology/bioperl/bioperl-1.2.ebuild
66 ./sci-biology/bioperl/bioperl-1.2.2.ebuild
67 ./sci-biology/bioperl/bioperl-1.4.ebuild
68 ./www-client/w3mir/w3mir-1.0.10.ebuild
69 ./sci-libs/udunits/udunits-1.12.0.ebuild
70 ./app-mobilephone/gscmxx/gscmxx-0.4.1-r1.ebuild
71 ./app-admin/psmon/psmon-1.29.ebuild
72 ./app-admin/systemconfigurator/systemconfigurator-2.0.9.ebuild
73 ./app-admin/systemconfigurator/systemconfigurator-2.2.2.ebuild
74 ./app-admin/rackview/rackview-0.05.ebuild
75 ./app-admin/rackview/rackview-0.04-r1.ebuild
76 ./app-admin/swatch/swatch-3.0.8.ebuild
77 ./app-admin/swatch/swatch-3.1.1.ebuild
78 ./app-admin/swatch/swatch-3.1.ebuild
79 ./app-admin/bastille/bastille-2.1.1-r3.ebuild
80 ./app-admin/bastille/bastille-2.1.1-r2.ebuild
81 ./app-admin/bastille/bastille-2.1.1-r1.ebuild
82 ./app-i18n/nkf/nkf-2.0.4.ebuild
83 ./app-i18n/nkf/nkf-2.0.5-r1.ebuild
84 ./app-i18n/cstools/cstools-3.42.ebuild
85 ./app-misc/pip/pip-1.2.ebuild
86 ./app-misc/note/note-1.2.5.ebuild
87 ./app-misc/note/note-1.2.5-r1.ebuild
88 ./app-misc/note/note-1.3.1.ebuild
89 ./app-misc/smtm/smtm-1.6.6.ebuild
90 ./app-misc/smtm/smtm-1.6.5.ebuild
91 ./app-misc/beancounter/beancounter-0.8.1.ebuild
92 ./app-misc/gwine/gwine-0.7.1.ebuild
93 ./app-misc/gwine/gwine-0.10.1.ebuild
94 ./app-text/po4a/po4a-0.21.ebuild
95 ./app-text/grutatxt/grutatxt-2.0.5.ebuild
96 ./app-text/grutatxt/grutatxt-2.0.11.ebuild
97 ./app-text/chasen/chasen-2.3.3-r3.ebuild
98 ./app-text/chasen/chasen-2.4.0_pre1-r1.ebuild
99 ./app-text/chasen/chasen-2.4.0_pre1.ebuild
100 ./net-firewall/psad/psad-1.3.4.ebuild
101 ./net-firewall/psad/psad-1.4.2.ebuild
102 ./net-firewall/psad/psad-1.4.0.ebuild
103 ./dev-db/mtop/mtop-0.6.6.ebuild
104 ./dev-db/mytop/mytop-1.4.ebuild
105 ./dev-db/mysqltool/mysqltool-0.95-r2.ebuild
106 ./dev-db/mysqltool/mysqltool-0.95-r1.ebuild
107 ./dev-db/mysqltool/mysqltool-0.95-r3.ebuild
108 ./kde-base/dcopperl/dcopperl-3.4.1.ebuild
109 ./kde-base/dcopperl/dcopperl-3.5.0_beta2.ebuild
110 ./kde-base/dcopperl/dcopperl-3.5.0.ebuild
111 ./media-gfx/imagemagick/imagemagick-6.2.4.2.ebuild
112 ./media-gfx/imagemagick/imagemagick-6.2.1.5.ebuild
113 ./media-gfx/imagemagick/imagemagick-6.2.2.3.ebuild
114 ./media-gfx/imagemagick/imagemagick-6.2.1.5-r1.ebuild
115 ./media-gfx/imagemagick/imagemagick-6.2.5.2.ebuild
116 ./media-gfx/imagemagick/imagemagick-6.2.2.0.ebuild
117 ./media-gfx/imagemagick/imagemagick-6.2.5.4.ebuild
118 ./media-gfx/imagemagick/imagemagick-6.2.4.2-r1.ebuild
119 ./media-gfx/imagemagick/imagemagick-6.2.2.0-r1.ebuild
120 ./media-gfx/imagemagick/imagemagick-6.2.2.3-r1.ebuild
121 ./media-gfx/graphicsmagick/graphicsmagick-1.1.6-r1.ebuild
122 ./media-gfx/graphicsmagick/graphicsmagick-1.1.6.ebuild
123 ./media-gfx/graphicsmagick/graphicsmagick-1.1.5-r1.ebuild
124 ./media-gfx/graphicsmagick/graphicsmagick-1.1.5.ebuild
125 ./net-ftp/profxp/profxp-3_pre2.ebuild
126 ./net-irc/irssi/irssi-0.8.10_rc7.ebuild
127 ./net-irc/irssi/irssi-0.8.9-r1.ebuild
128 ./net-irc/irssi/irssi-0.8.10_rc6.ebuild
129 ./net-irc/irssi-svn/irssi-svn-0.3.ebuild
130 ./media-libs/tunepimp/tunepimp-0.3.0-r1.ebuild
131 ./media-libs/tunepimp/tunepimp-0.3.0.ebuild
132 ./mail-filter/razor/razor-2.74.ebuild
133 ./mail-filter/razor/razor-2.71.ebuild
134 ./mail-filter/razor/razor-2.67.ebuild
135 ./mail-filter/razor/razor-2.75.ebuild
136 ./mail-filter/razor/razor-2.77.ebuild
137 ./mail-filter/razor/razor-2.72.ebuild
138 ./sys-libs/ldetect/ldetect-0.4.7.ebuild
139 ./net-mail/grepmail/grepmail-5.30.32.ebuild
140 ./net-mail/grepmail/grepmail-5.30.ebuild
141 ./net-mail/grepmail/grepmail-4.91.ebuild
142 ./net-mail/mhonarc/mhonarc-2.6.11.ebuild
143 ./net-mail/mhonarc/mhonarc-2.6.10.ebuild
144 ./net-mail/cyrus-imap-admin/cyrus-imap-admin-2.2.10.ebuild
145 ./net-mail/cyrus-imap-admin/cyrus-imap-admin-2.2.12.ebuild
146 ./net-misc/pxes/pxes-0.9-r1.ebuild
147 ./net-misc/pxes/pxes-0.7.ebuild
148 ./net-misc/pxes/pxes-1.0.ebuild
149 ./net-misc/pxes/pxes-0.9.ebuild
150 ./net-misc/pxes/pxes-0.6-r4.ebuild
151 ./net-misc/pxes/pxes-0.8.ebuild
152 ./net-misc/bwwhois/bwwhois-3.2.ebuild
153 ./net-misc/bwwhois/bwwhois-3.4.ebuild
154 ./net-misc/netcomics-cvs/netcomics-cvs-0.14.1.ebuild
155 ./net-misc/wakeonlan/wakeonlan-0.41.ebuild
156 ./net-misc/wakeonlan/wakeonlan-0.40.ebuild
157 ./net-misc/asterisk/asterisk-1.0.7-r2.ebuild
158 ./net-misc/asterisk/asterisk-1.0.5-r3.ebuild
159 ./net-misc/asterisk/asterisk-1.0.8-r1.ebuild
160 ./net-misc/asterisk/asterisk-1.0.6-r2.ebuild
161 ./net-misc/asterisk/asterisk-1.0.9-r2.ebuild
162 ./net-print/foomatic-db-engine/foomatic-db-engine-3.0.2.ebuild
163 ./dev-lang/pugs/pugs-6.2.9.ebuild
164 ./dev-libs/clearsilver/clearsilver-0.10.1.ebuild
165 ./dev-libs/clearsilver/clearsilver-0.9.7.ebuild
166 ./dev-libs/clearsilver/clearsilver-0.9.14-r1.ebuild
167 ./dev-libs/libprelude/libprelude-0.9.0-r2.ebuild
168 ./dev-util/svk/svk-1.04.ebuild
169 ./dev-util/svk/svk-1.01.ebuild
170 ./dev-util/svk/svk-1.05.ebuild
171 ./dev-util/svk/svk-1.00.ebuild
172 ./dev-util/svk/svk-1.02.ebuild
173 ./dev-util/subversion/subversion-1.2.3-r2.ebuild
174 ./dev-util/subversion/subversion-1.2.3.ebuild
175 ./dev-util/subversion/subversion-1.2.3-r1.ebuild
176 ./dev-util/subversion/subversion-1.2.3-r3.ebuild
177 ./app-editors/XML-XSH/XML-XSH-1.6.ebuild
178 ./app-editors/XML-XSH/XML-XSH-1.8.2.ebuild
179 ./app-shells/psh/psh-1.8-r1.ebuild
180 ./app-shells/psh/psh-0.009-r2.ebuild
181 ./app-shells/psh/psh-1.8.ebuild
182 ./media-sound/mplay/mplay-0.68.ebuild
183 ./media-video/dpencoder/dpencoder-0.6c.ebuild
184 ./media-video/dvdrip/dvdrip-0.52.3.ebuild
185 ./media-video/dvdrip/dvdrip-0.52.5.ebuild
186 ./media-video/dvdrip/dvdrip-0.52.0.ebuild
187 ./media-video/dvdrip/dvdrip-0.97.2.ebuild
188 ./media-video/dvdrip/dvdrip-0.52.3-r1.ebuild
189 ./media-video/acidrip/acidrip-0.14.ebuild
190 ./www-apps/swish-e/swish-e-2.2.2-r1.ebuild
191 ./www-apps/swish-e/swish-e-2.4.3-r1.ebuild
192 ./www-apps/swish-e/swish-e-2.2.2-r2.ebuild
193 ./www-apps/swish-e/swish-e-2.4.3.ebuild
194 ./www-apps/Apache-Gallery/Apache-Gallery-0.8-r2.ebuild
195 ./www-apps/Apache-Gallery/Apache-Gallery-0.6.ebuild
196 ./www-apps/Apache-Gallery/Apache-Gallery-0.8.ebuild
197 ./www-apps/Apache-Gallery/Apache-Gallery-0.8-r1.ebuild
198 ./www-apps/Apache-Gallery/Apache-Gallery-0.9.1.ebuild
199 ./app-pda/gnupod/gnupod-0.98.ebuild
200 ./app-pda/gnupod/gnupod-0.97.ebuild
201 ./app-pda/pilot-link/pilot-link-0.11.8-r1.ebuild
202 ./app-pda/pilot-link/pilot-link-0.11.8.ebuild
203 ./net-dialup/sendpage/sendpage-0.9.14.ebuild
204 ./games-util/umodpack/umodpack-0.5_beta16-r1.ebuild
205 ./media-tv/xmltv/xmltv-0.5.37-r1.ebuild
206 ./media-tv/xmltv/xmltv-0.5.39.ebuild
207 ./media-tv/xmltv/xmltv-0.5.34.ebuild
208 ./net-analyzer/rrdtool/rrdtool-1.0.49.ebuild
209 ./net-analyzer/rrdtool/rrdtool-1.2.11-r2.ebuild
210 ./net-analyzer/rrdtool/rrdtool-1.0.50.ebuild
211 ./net-analyzer/rrdtool/rrdtool-1.2.10.ebuild
212 ./net-analyzer/rrdtool/rrdtool-1.2.11-r1.ebuild
213 ./net-analyzer/rrdtool/rrdtool-1.2.9.ebuild
214 ./net-analyzer/rrdtool/rrdtool-1.2.6-r1.ebuild
215 ./net-analyzer/rrdtool/rrdtool-1.2.6.ebuild
216 ./net-analyzer/rrdtool/rrdtool-1.2.11.ebuild
217 ./net-analyzer/net-snmp/net-snmp-5.3.20050624.ebuild
218 ./net-analyzer/net-snmp/net-snmp-5.1.3.1.ebuild
219 ./net-analyzer/net-snmp/net-snmp-5.2.1.2-r1.ebuild
220 ./games-arcade/frozen-bubble/frozen-bubble-1.0.0-r5.ebuild
221 --
222 gentoo-dev@g.o mailing list