Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 83622
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Perl Devs @ Gentoo <perl@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Yaakov S <yselkowitz@hotmail.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
perl-module.eclass sample of modified perl-module.eclass text/plain Yaakov S 2005-03-13 16:07 0000 4.67 KB Details
dcopperl-3.3.1-r3.ebuild sample of dcopperl-3.3.1-r3.ebuild text/plain Yaakov S 2005-03-13 16:08 0000 844 bytes Details
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 83622 depends on: Show dependency tree
Bug 83622 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-02-28 17:33 0000
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 From Yaakov S 2005-03-13 16:07:45 0000 -------
Created an attachment (id=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 From Yaakov S 2005-03-13 16:08:50 0000 -------
Created an attachment (id=53374) [details]
sample of dcopperl-3.3.1-r3.ebuild

Here's the example usage in dcopperl.

------- Comment #3 From Michael Cummings (RETIRED) 2005-03-14 07:09:22 0000 -------
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 From Yaakov S 2005-03-14 14:20:31 0000 -------
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 From Jakub Moc (RETIRED) 2005-04-21 03:28:50 0000 -------
*** Bug 83912 has been marked as a duplicate of this bug. ***

------- Comment #6 From Michael Cummings (RETIRED) 2005-05-14 06:32:31 0000 -------
This has been done on the perl end for some time now. Closing.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug