Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 83622 - perl-module function to handle perllocal.pod collisions
Summary: perl-module function to handle perllocal.pod collisions
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High enhancement (vote)
Assignee: Gentoo Perl team
: 83912 (view as bug list)
Depends on:
Reported: 2005-02-28 17:33 UTC by Yaakov S
Modified: 2005-05-14 06:32 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---

sample of modified perl-module.eclass (perl-module.eclass,4.67 KB, text/plain)
2005-03-13 16:07 UTC, Yaakov S
sample of dcopperl-3.3.1-r3.ebuild (dcopperl-3.3.1-r3.ebuild,844 bytes, text/plain)
2005-03-13 16:08 UTC, Yaakov S

Note You need to log in before you can comment on or make changes to this bug.
Description Yaakov S 2005-02-28 17:33:49 UTC
There are a few packages which include MakeMaker-based perl modules but are otherwise autoconf-based and the like.  The problem is that these packages will update perllocal.pod, but as their ebuilds don't -- and can't -- use perl-module-src_install, either perllocal.pod gets clobbered (which is a nusiance at the least, but if collision-protect is enabled, emerge will fail!), or each ebuild author has to find their own workaround.

I found the following packages that are affected by this, and there may be more:

dev-util/subversion (bug 82648)
kde-base/dcopperl (bug 83520)
media-gfx/imagemagick (bug 73464 and 78740)
net-analyzer/net-snmp (bug 68367)
net-irc/irssi (bug 68367)
net-im/gaim (bug 69329 and many of the above)

I would propose as a solution breaking out the parts of perl-module_src_install that handle perllocal.pod into a separate function -- let's call it perl-module_fix_perllocal_pod for now -- that would be called in perl-module_src_install.

Then, those ebuilds that are affected would inherit perl-module, can call perl-module_fix_perllocal_pod at the end of their src_install, and call perl-module_pkg_postinst during pkg_postinst to merge the gentoo pod.

I don't see this being too hard to implement, and it will help fix a number of bugs and hopefully prevent more.  Thanks for your work!
Comment 1 Yaakov S 2005-03-13 16:07:45 UTC
Created attachment 53373 [details]
sample of modified perl-module.eclass

Here's basically what I had in mind; I called the new function fixlocalpod, but
I'm sure someone could think of a better name for it.

I've tested this with a regular perl-module ebuild and a modified dcopperl (see
above) ebuild, and it worked properly.
Comment 2 Yaakov S 2005-03-13 16:08:50 UTC
Created attachment 53374 [details]
sample of dcopperl-3.3.1-r3.ebuild

Here's the example usage in dcopperl.
Comment 3 Michael Cummings (RETIRED) gentoo-dev 2005-03-14 07:09:22 UTC
Great work - posting this now. I'm going to leave this bug open until we can get a hold of the other bug maintainers for inclusion.
Comment 4 Yaakov S 2005-03-14 14:20:31 UTC
Thanks.  Glad this was helpful.

One thing that my dcopperl example fails to show is that updatepod needs to be called in pkg_postinst for full effect (dcopperl inherits perl-module_pkg_postinst directly in my example, since kde-meta doesn't export pkg_*inst).  AFAICS, subversion and gaim will need to add this to their pre-existing pkg_postinst; the others should inherit it directly.
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2005-04-21 03:28:50 UTC
*** Bug 83912 has been marked as a duplicate of this bug. ***
Comment 6 Michael Cummings (RETIRED) gentoo-dev 2005-05-14 06:32:31 UTC
This has been done on the perl end for some time now. Closing.