From: Michael Cummings <mcummings@gentoo.org>
To: gentoo-dev@lists.gentoo.org, gentoo-perl@lists.gentoo.org
Subject: [gentoo-dev] New perl eclass, perl-app.eclass (re: collision-protects in perl related installs)
Date: Fri, 25 Nov 2005 09:37:10 -0500 [thread overview]
Message-ID: <43872196.5020207@gentoo.org> (raw)
[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
reply other threads:[~2005-11-25 14:41 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=43872196.5020207@gentoo.org \
--to=mcummings@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
--cc=gentoo-perl@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox