[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