[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    [gentoo-dev] New perl eclass, perl-app.eclass (re: collision-protects in perl
From:       Michael Cummings <mcummings () gentoo ! org>
Date:       2005-11-25 14:37:10
Message-ID: 43872196.5020207 () gentoo ! org
[Download RAW message or body]

[Background]
The way perl modules are currently created using the perl-module eclass, 
man3 files are generated in duplication of the current pod docs. This 
leads to both a waste of disk space (anyone working with a perl module 
first thinks to perldoc it - not man it), and more importantly portage 
wise, collision-protects get invoked when the module is 
replacing/upgrading a core perl installed module. This latter 
collision-protect violation only occurs during the installation of the 
man pages, we don't actually overwrite the installed core module but 
rather bump it on the @INC chain (I can explain that better off list or 
on the gentoo-perl list if you are curious).

[Foreground :]

I'd like to introduce a new eclass, perl-app eclass, to handle those 
apps that are not modules, but that utilize the perl-module eclass for 
building. While we don't want to generate man3 pages for every module 
installed, there are apps that use the perl-module eclass that would no 
longer build potentially useful man3 pages. I've tested it out locally 
for the last week and all is in good working order (with 
collision-protect enabled in my FEATURES). The gist is that the 
perl-app.eclass inherits the bulk of the functionality of the 
perl-module eclass, so there is still only one eclass to maintain for 
99% of it, but the perl-app eclass allows the man3 pages to be built. 
I've generated a list of ebuilds that are outside of the *perl* 
categories that would be affected by this change, and that would 
potentially want to switch over to using the perl-app eclass. I'm 
willing to do the grunting and groaning of updating inherit lines, but 
wanted to get some feedback before committing something this large 
(there are currently 500+ ebuilds that utilize this eclass). The revised 
perl-module.eclass and perl-app.eclass can be found at 
http://dev.gentoo.org/~mcummings/{ECLASS_NAME} if you'd like to see what 
I'm proposing.

In reviewing options, this really did seem to be the more elegant. While 
we could just set aside an eclass that didn't build man3 pages for those 
modules that raise conflicts, i'm of the opinion that man3 pages for 
general perl modules are a waste, it's perldoc that most japh's use.

Feedback welcome, and now for the long list of apps that would 
potentially utilize the new eclass (which would in fact mean they would 
stay at status quo rather than dropping man3 pages for the perl module 
portions)(this list is based on ebuilds inheriting perl-module - they 
may not utilize the full functionality of the eclass, which means this 
list could be a lot larger than the list of non module ebuilds affected 
by the dropping of man3 support).(is that too much text inside of a ()?)

~mcummings

P.S. caveat - I realize the sampled eclasses don't avoid man3 pages for 
modules not using ExtUtils::MakeMaker (ie, Module::Build built modules), 
and I've currently got an email out to Ken on whether there is a non 
hackish way to do this.

List of ebuilds inheriting perl-module (according to a simpleton grep):


./dev-tex/html2latex/html2latex-1.1.ebuild
./sci-biology/generic-genome-browser/generic-genome-browser-1.58.ebuild
./sci-biology/bioperl-pipeline/bioperl-pipeline-0.1.ebuild
./sci-biology/bioperl-run/bioperl-run-1.4.ebuild
./sci-biology/bioperl-run/bioperl-run-1.2.2.ebuild
./sci-biology/bioperl/bioperl-1.0.2.ebuild
./sci-biology/bioperl/bioperl-1.2.3.ebuild
./sci-biology/bioperl/bioperl-1.2.ebuild
./sci-biology/bioperl/bioperl-1.2.2.ebuild
./sci-biology/bioperl/bioperl-1.4.ebuild
./www-client/w3mir/w3mir-1.0.10.ebuild
./sci-libs/udunits/udunits-1.12.0.ebuild
./app-mobilephone/gscmxx/gscmxx-0.4.1-r1.ebuild
./app-admin/psmon/psmon-1.29.ebuild
./app-admin/systemconfigurator/systemconfigurator-2.0.9.ebuild
./app-admin/systemconfigurator/systemconfigurator-2.2.2.ebuild
./app-admin/rackview/rackview-0.05.ebuild
./app-admin/rackview/rackview-0.04-r1.ebuild
./app-admin/swatch/swatch-3.0.8.ebuild
./app-admin/swatch/swatch-3.1.1.ebuild
./app-admin/swatch/swatch-3.1.ebuild
./app-admin/bastille/bastille-2.1.1-r3.ebuild
./app-admin/bastille/bastille-2.1.1-r2.ebuild
./app-admin/bastille/bastille-2.1.1-r1.ebuild
./app-i18n/nkf/nkf-2.0.4.ebuild
./app-i18n/nkf/nkf-2.0.5-r1.ebuild
./app-i18n/cstools/cstools-3.42.ebuild
./app-misc/pip/pip-1.2.ebuild
./app-misc/note/note-1.2.5.ebuild
./app-misc/note/note-1.2.5-r1.ebuild
./app-misc/note/note-1.3.1.ebuild
./app-misc/smtm/smtm-1.6.6.ebuild
./app-misc/smtm/smtm-1.6.5.ebuild
./app-misc/beancounter/beancounter-0.8.1.ebuild
./app-misc/gwine/gwine-0.7.1.ebuild
./app-misc/gwine/gwine-0.10.1.ebuild
./app-text/po4a/po4a-0.21.ebuild
./app-text/grutatxt/grutatxt-2.0.5.ebuild
./app-text/grutatxt/grutatxt-2.0.11.ebuild
./app-text/chasen/chasen-2.3.3-r3.ebuild
./app-text/chasen/chasen-2.4.0_pre1-r1.ebuild
./app-text/chasen/chasen-2.4.0_pre1.ebuild
./net-firewall/psad/psad-1.3.4.ebuild
./net-firewall/psad/psad-1.4.2.ebuild
./net-firewall/psad/psad-1.4.0.ebuild
./dev-db/mtop/mtop-0.6.6.ebuild
./dev-db/mytop/mytop-1.4.ebuild
./dev-db/mysqltool/mysqltool-0.95-r2.ebuild
./dev-db/mysqltool/mysqltool-0.95-r1.ebuild
./dev-db/mysqltool/mysqltool-0.95-r3.ebuild
./kde-base/dcopperl/dcopperl-3.4.1.ebuild
./kde-base/dcopperl/dcopperl-3.5.0_beta2.ebuild
./kde-base/dcopperl/dcopperl-3.5.0.ebuild
./media-gfx/imagemagick/imagemagick-6.2.4.2.ebuild
./media-gfx/imagemagick/imagemagick-6.2.1.5.ebuild
./media-gfx/imagemagick/imagemagick-6.2.2.3.ebuild
./media-gfx/imagemagick/imagemagick-6.2.1.5-r1.ebuild
./media-gfx/imagemagick/imagemagick-6.2.5.2.ebuild
./media-gfx/imagemagick/imagemagick-6.2.2.0.ebuild
./media-gfx/imagemagick/imagemagick-6.2.5.4.ebuild
./media-gfx/imagemagick/imagemagick-6.2.4.2-r1.ebuild
./media-gfx/imagemagick/imagemagick-6.2.2.0-r1.ebuild
./media-gfx/imagemagick/imagemagick-6.2.2.3-r1.ebuild
./media-gfx/graphicsmagick/graphicsmagick-1.1.6-r1.ebuild
./media-gfx/graphicsmagick/graphicsmagick-1.1.6.ebuild
./media-gfx/graphicsmagick/graphicsmagick-1.1.5-r1.ebuild
./media-gfx/graphicsmagick/graphicsmagick-1.1.5.ebuild
./net-ftp/profxp/profxp-3_pre2.ebuild
./net-irc/irssi/irssi-0.8.10_rc7.ebuild
./net-irc/irssi/irssi-0.8.9-r1.ebuild
./net-irc/irssi/irssi-0.8.10_rc6.ebuild
./net-irc/irssi-svn/irssi-svn-0.3.ebuild
./media-libs/tunepimp/tunepimp-0.3.0-r1.ebuild
./media-libs/tunepimp/tunepimp-0.3.0.ebuild
./mail-filter/razor/razor-2.74.ebuild
./mail-filter/razor/razor-2.71.ebuild
./mail-filter/razor/razor-2.67.ebuild
./mail-filter/razor/razor-2.75.ebuild
./mail-filter/razor/razor-2.77.ebuild
./mail-filter/razor/razor-2.72.ebuild
./sys-libs/ldetect/ldetect-0.4.7.ebuild
./net-mail/grepmail/grepmail-5.30.32.ebuild
./net-mail/grepmail/grepmail-5.30.ebuild
./net-mail/grepmail/grepmail-4.91.ebuild
./net-mail/mhonarc/mhonarc-2.6.11.ebuild
./net-mail/mhonarc/mhonarc-2.6.10.ebuild
./net-mail/cyrus-imap-admin/cyrus-imap-admin-2.2.10.ebuild
./net-mail/cyrus-imap-admin/cyrus-imap-admin-2.2.12.ebuild
./net-misc/pxes/pxes-0.9-r1.ebuild
./net-misc/pxes/pxes-0.7.ebuild
./net-misc/pxes/pxes-1.0.ebuild
./net-misc/pxes/pxes-0.9.ebuild
./net-misc/pxes/pxes-0.6-r4.ebuild
./net-misc/pxes/pxes-0.8.ebuild
./net-misc/bwwhois/bwwhois-3.2.ebuild
./net-misc/bwwhois/bwwhois-3.4.ebuild
./net-misc/netcomics-cvs/netcomics-cvs-0.14.1.ebuild
./net-misc/wakeonlan/wakeonlan-0.41.ebuild
./net-misc/wakeonlan/wakeonlan-0.40.ebuild
./net-misc/asterisk/asterisk-1.0.7-r2.ebuild
./net-misc/asterisk/asterisk-1.0.5-r3.ebuild
./net-misc/asterisk/asterisk-1.0.8-r1.ebuild
./net-misc/asterisk/asterisk-1.0.6-r2.ebuild
./net-misc/asterisk/asterisk-1.0.9-r2.ebuild
./net-print/foomatic-db-engine/foomatic-db-engine-3.0.2.ebuild
./dev-lang/pugs/pugs-6.2.9.ebuild
./dev-libs/clearsilver/clearsilver-0.10.1.ebuild
./dev-libs/clearsilver/clearsilver-0.9.7.ebuild
./dev-libs/clearsilver/clearsilver-0.9.14-r1.ebuild
./dev-libs/libprelude/libprelude-0.9.0-r2.ebuild
./dev-util/svk/svk-1.04.ebuild
./dev-util/svk/svk-1.01.ebuild
./dev-util/svk/svk-1.05.ebuild
./dev-util/svk/svk-1.00.ebuild
./dev-util/svk/svk-1.02.ebuild
./dev-util/subversion/subversion-1.2.3-r2.ebuild
./dev-util/subversion/subversion-1.2.3.ebuild
./dev-util/subversion/subversion-1.2.3-r1.ebuild
./dev-util/subversion/subversion-1.2.3-r3.ebuild
./app-editors/XML-XSH/XML-XSH-1.6.ebuild
./app-editors/XML-XSH/XML-XSH-1.8.2.ebuild
./app-shells/psh/psh-1.8-r1.ebuild
./app-shells/psh/psh-0.009-r2.ebuild
./app-shells/psh/psh-1.8.ebuild
./media-sound/mplay/mplay-0.68.ebuild
./media-video/dpencoder/dpencoder-0.6c.ebuild
./media-video/dvdrip/dvdrip-0.52.3.ebuild
./media-video/dvdrip/dvdrip-0.52.5.ebuild
./media-video/dvdrip/dvdrip-0.52.0.ebuild
./media-video/dvdrip/dvdrip-0.97.2.ebuild
./media-video/dvdrip/dvdrip-0.52.3-r1.ebuild
./media-video/acidrip/acidrip-0.14.ebuild
./www-apps/swish-e/swish-e-2.2.2-r1.ebuild
./www-apps/swish-e/swish-e-2.4.3-r1.ebuild
./www-apps/swish-e/swish-e-2.2.2-r2.ebuild
./www-apps/swish-e/swish-e-2.4.3.ebuild
./www-apps/Apache-Gallery/Apache-Gallery-0.8-r2.ebuild
./www-apps/Apache-Gallery/Apache-Gallery-0.6.ebuild
./www-apps/Apache-Gallery/Apache-Gallery-0.8.ebuild
./www-apps/Apache-Gallery/Apache-Gallery-0.8-r1.ebuild
./www-apps/Apache-Gallery/Apache-Gallery-0.9.1.ebuild
./app-pda/gnupod/gnupod-0.98.ebuild
./app-pda/gnupod/gnupod-0.97.ebuild
./app-pda/pilot-link/pilot-link-0.11.8-r1.ebuild
./app-pda/pilot-link/pilot-link-0.11.8.ebuild
./net-dialup/sendpage/sendpage-0.9.14.ebuild
./games-util/umodpack/umodpack-0.5_beta16-r1.ebuild
./media-tv/xmltv/xmltv-0.5.37-r1.ebuild
./media-tv/xmltv/xmltv-0.5.39.ebuild
./media-tv/xmltv/xmltv-0.5.34.ebuild
./net-analyzer/rrdtool/rrdtool-1.0.49.ebuild
./net-analyzer/rrdtool/rrdtool-1.2.11-r2.ebuild
./net-analyzer/rrdtool/rrdtool-1.0.50.ebuild
./net-analyzer/rrdtool/rrdtool-1.2.10.ebuild
./net-analyzer/rrdtool/rrdtool-1.2.11-r1.ebuild
./net-analyzer/rrdtool/rrdtool-1.2.9.ebuild
./net-analyzer/rrdtool/rrdtool-1.2.6-r1.ebuild
./net-analyzer/rrdtool/rrdtool-1.2.6.ebuild
./net-analyzer/rrdtool/rrdtool-1.2.11.ebuild
./net-analyzer/net-snmp/net-snmp-5.3.20050624.ebuild
./net-analyzer/net-snmp/net-snmp-5.1.3.1.ebuild
./net-analyzer/net-snmp/net-snmp-5.2.1.2-r1.ebuild
./games-arcade/frozen-bubble/frozen-bubble-1.0.0-r5.ebuild
-- 
gentoo-dev@gentoo.org mailing list

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic