[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