[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