[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