francescomecca.eu/output/blog/2015/9/11/about-perl-packages-in-gentoo/index.md

40 lines
1.9 KiB
Markdown
Raw Normal View History

2018-11-10 18:19:00 +01:00
<!--
.. title: About Perl packages in Gentoo
.. slug: about-perl-packages-in-gentoo
.. date: 2015-09-11 12:52:25
.. tags: emerge,Gentoo,perl,perl-core,portage conflict,virtual/perl,PesceWanda
.. category: PesceWanda
.. link:
.. description:
.. type: text
-->
2016-05-01 11:13:57 +02:00
In this post I wish to explain a bit about Perl related ebuilds in Gentoo and how to update from perl-core to virtual/perl without conflicts.
First of all the core distribution of Perl is included in [dev-lang/Perl](https://packages.gentoo.org/package/dev-lang/perl) along with [modules](http://perldoc.perl.org/index-modules-A.html).
The [perl-core category](https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/perl-core/) in portage contains ebuilds for perl modules, some of which are included in the core perl distibution. The perl-core ebuilds overrides the perl-core modules such that you can update them without recompiling dev-lang/Perl.
Each perl-core module has a corrensponding virtual/perl-* package. The virtual category is used by portage when emerging to take into account that a module can be either provided by dev-lang/perl package or found in perl-core category.
So, what to do in case of blocks when upgrading your Gentoo machine?
Perl-cleaner is a package provided to get rid of these blocks and to migrate from perl-core to virtual/perl-*.
2017-03-20 00:46:14 +01:00
<pre class="wp-code-highlight prettyprint linenums:1">emerge perl-cleaner
emerge dev-lang/perl
2016-05-01 11:13:57 +02:00
perl-cleaner --all</pre>
if you still have problems when upgrading @world you add a backtrack option
<pre class="wp-code-highlight prettyprint linenums:1">emerge -uDN --backtrack=30 @world</pre>
or you can unmerge all perl-core packages and then finally upgrade world
<pre class="wp-code-highlight prettyprint linenums:1">emerge --unmerge perl-core/*</pre>
This will remove all perl-core packages that virtual/perl-* packages will bring back if needed.
<p style="text-align: right;">
Francesco Mecca
2018-11-10 18:19:00 +01:00
</p>