From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.50) id 1EfelZ-00073u-Fb for garchives@archives.gentoo.org; Fri, 25 Nov 2005 14:41:34 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.13.5/8.13.5) with SMTP id jAPEeLh0027709; Fri, 25 Nov 2005 14:40:21 GMT Received: from smtp.gentoo.org (smtp.gentoo.org [134.68.220.30]) by robin.gentoo.org (8.13.5/8.13.5) with ESMTP id jAPEbHCO007681; Fri, 25 Nov 2005 14:37:17 GMT Received: from eastrmmtao02.cox.net ([68.230.240.37]) by smtp.gentoo.org with esmtp (Exim 4.43) id 1EfehR-00034g-Ci; Fri, 25 Nov 2005 14:37:17 +0000 Received: from gnosis.datanode.net ([68.110.242.20]) by eastrmmtao02.cox.net (InterMail vM.6.01.05.02 201-2131-123-102-20050715) with ESMTP id <20051125143604.KQKN8508.eastrmmtao02.cox.net@gnosis.datanode.net>; Fri, 25 Nov 2005 09:36:04 -0500 Received: from [172.16.1.103] (unknown [172.16.1.103]) by gnosis.datanode.net (Postfix) with ESMTP id 1B9171D; Fri, 25 Nov 2005 09:37:10 -0500 (EST) Message-ID: <43872196.5020207@gentoo.org> Date: Fri, 25 Nov 2005 09:37:10 -0500 From: Michael Cummings Organization: Gentoo User-Agent: Mozilla Thunderbird 1.0.7 (X11/20050923) X-Accept-Language: en-us, en Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 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) Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Archives-Salt: eca9cffc-4b95-433c-9968-0870b15a0f05 X-Archives-Hash: 0937434768e0c13920ce1d8c8eee01fe [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