[prev in list] [next in list] [prev in thread] [next in thread]
List: gentoo-dev
Subject: [gentoo-dev] Fw: [gentoo-user] Regarding: Perl 5.8 Upgrades
From: Michael Cummings <mcummings () datanode ! net>
Date: 2003-01-12 23:07:44
[Download RAW message or body]
Begin forwarded message:
Date: Sun, 12 Jan 2003 17:57:21 -0500
From: Michael Cummings <mcummings@gentoo.org>
To: gentoo-user@gentoo.org
Subject: [gentoo-user] Regarding: Perl 5.8 Upgrades
This message is principally directed at those of you that have upgraded your perl via an emerge -u \
world, though there's still something here for the rest of you. (Minus the 1.4 crowd who emerged perl as \
part of their base system in the last week or so.) After much testing, I released perl 5.8 for x86 \
(since then, it has also been unmasked for sparc). Because the new version of perl comes with a libperl \
that is completely incompatible with older libperl's, I included a note at the tail end of the ebuild \
regarding a script located in sys-devel/perl/files/ that would fix any applications it could find that \
were affected by the libperl switch over (the actual list of applications varies from box to box, \
depending on emerge options, etc.). What I didn't fully appreciate were those users who would get hit by \
the upgrade during an emerge -u world. Because it has been out there for nearly a week, I can't rightly \
pull it back, but I can help get you back your feet if you missed the warning in the emerge process. As a \
side note, I have updated the ebuild to pause when displaying this note in the hope that it might catch \
your eyes before it scrolled away. At this time, it isn't possible to tell portage to re-emerge a list \
of packages from within an ebuild. If it were, none of this would have occurred and I wouldn't be on the \
spot. What I have done is written (clobbered and borrowed, mostly) a bash script and placed it in \
sys-devel/perl/files named libperl_rebuilder. Don't let it's name fool you - it actually does more than \
rebuild things compiled against your old libperl, but its name has changed to reflect this growth. What \
the script does: First, it catalogs and re-emerges your perl modules. While most of these were unaffected \
by an upgrade to perl 5.8, it was better safe than sorry. Once it has gone through this list three times \
(the redundancy is to catch those dependencies that *were* affected, so that by the third pass all deps \
have been met), it compiles a list of applications compiled against libperl.so using the gentoolkit qpkg \
tool. Thirdly, and this is a new feature as of this weekend, it looks in your portage db to see what \
applications have placed files in your /usr/lib/perl* tree. This is important as it catches programs that \
don't fall under dev-perl and that weren't compiled against libperl.so. At this stage, it starts a \
re-emerging of the packages it has found. During all of this, a log is kept in /tmp/ called \
perl-upgrade.log (the name changed this weekend for those that ran this in the past) and records not only \
what packages it re-emerged, but any packages that it had difficulty with during emerge. Possible points \
where the process might have problems on an individual basis - if you have emerged ~arch or package \
masked items, but those are no longer unmasked for you (your ACCEPT_KEYWORDS isn't set anymore, or the \
package is again masked in your package.mask), it will not be able to re-emerge those for you. You will \
need to unmask those prior to running the script in order for it to work properly.
Please feel free to email me directly if you have any questions, or post a bug to bugs.gentoo.org if \
this process fails for you. I would recommend running the libperl_rebuilder at least once following an \
upgrade to perl 5.8 as it will catch things like vim, irssi, etc.
Finally, I would like to apologize to those users that were affected and did not see the note regarding \
the upgrade script. This was a major error on my part and does not reflect the way that Gentoo enacts \
upgrades, whether they are upgrades to a simple package or to something as integral as perl or gcc (just \
an example).
Thank you,
Michael
--
-----o()o---------------------------------------------
| #gentoo-dev on irc.openprojects.net
Gentoo Dev | #gentoo-perl on irc.openprojects.net
Perl Guy |
| GnuPG Key ID: AB5CED4E9E7F4E2E
-----o()o---------------------------------------------
--
-----o()o---------------------------------------------
| #gentoo-dev on irc.openprojects.net
Gentoo Dev | #gentoo-perl on irc.openprojects.net
Perl Guy |
| GnuPG Key ID: AB5CED4E9E7F4E2E
-----o()o---------------------------------------------
["00000000.mimetmp" (application/pgp-signature)]
--
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