[Edit: All fixed.]
This public service announcement has been brought to you by non-infra Andreas.
eclass | 1) or 2) true | 1) false, 2) false |
none | "dev-lang/perl:=" needed in RDEPEND and most likely also DEPEND | "dev-lang/perl" needed in RDEPEND, maybe also in DEPEND |
perl-module.eclass | no need to do anything | GENTOO_DEPEND_ON_PERL_SUBSLOT=no possible before inherit |
perl-app.eclass | GENTOO_DEPEND_ON_PERL_SUBSLOT=yes needed before inherit | no need to do anything |
dev-lang/perlOf course, as always, bugs may be present; what you get as Perl installation is called unstable or testing for a reason. We're looking forward to your reports on our bugzilla.
virtual/perl-*
perl-core/*
UPDATE THE PERL MODULES:Then maybe you have updated your major Perl version recently, since this important message is printed by emerge afterwards. So, what is it about? In short, a certain disconnect between the "Perl way" of doing things and the rest of the world. Both have their merits, they just don't play very well with each other... and the result is that major Perl updates in Gentoo have traditionally also been a major pain. (This will become much better in the future, see below.)
After updating dev-lang/perl you must reinstall
the installed perl modules.
Use: perl-cleaner --all
caipi ~ # equery files dev-perl/Email-AddressInteresting- the installation path contains the Perl version! The reasons for upstream to do this are pretty much obvious, the application binary interface for compiled modules can change and it's necessary to keep the installed modules for different versions apart. Also, in theory you can keep different Perl versions installed in parallel. Nice idea, however if you have only one "system Perl" installation, and you exchange that for a newer version (say, 5.18.1 instead of 5.16.3), the result is that the new version won't find the installed packages anymore.
* Searching for Email-Address in dev-perl ...
* Contents of dev-perl/Email-Address-1.898.0:
/usr
/usr/lib
/usr/lib/perl5
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/vendor_perl/5.16.3
/usr/lib/perl5/vendor_perl/5.16.3/Email
/usr/lib/perl5/vendor_perl/5.16.3/Email/Address.pm
/usr/share
/usr/share/doc
/usr/share/doc/Email-Address-1.898.0
/usr/share/doc/Email-Address-1.898.0/Changes.bz2
/usr/share/doc/Email-Address-1.898.0/README.bz2
caipi ~ #
checking for perl >= 5.8.1... 5.18.2Right. Perl is updated, dev-perl/XML-Parser is still installed in the old path, and Perl doesn't find it. Bah.
checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool
* perl-cleaner is stopping here:In the end, you may have to try several repeated emerge and perl-cleaner commands until you have an updated and consistent system again. So far, it always worked somehow with fiddling, but the situation was definitely not nice.
* Fix the problem and start perl-cleaner again.
*
* If you encounter blockers involving virtuals and perl-core, here are
* some things to try:
* Remove all perl-core packages from your world file
* emerge --deselect --ask $(qlist -IC 'perl-core/*')
* Update all the installed Perl virtuals
* emerge -uD1a $(qlist -IC 'virtual/perl-*')
* Afterwards re-run perl-cleaner
RDEPEND="dev-lang/perl:="The good news about this is that portage now knows the dependency tree and can figure out the correct reinstallation order.
https://github.com/lab-measurement/lab-measurementand you can anonymously clone the code e.g. from the following URL:
https://github.com/lab-measurement/lab-measurement.gitThis means we'll also be able to use the Github issue tracker in the future. The copy on Gitorious will eventually be removed.
use Lab::Measurement;statement at the start of your file. The example scripts (also on the website) have been adapted accordingly.
This creates a directory wiki.gentoo.org, we change directory in there and call "git log --stat", and obtain a version history:git clone -c remote.origin.categories='Desktop' \ mediawiki::http://wiki.gentoo.org
The files in the Git working copy are raw wikitext files, and can easily be edited by hand. So, we edit a file and commit that change locally into Git:commit d10a150c78e743d1e62c39f5a7feadf81c552e28 Author: Tox2ik <Tox2ik@wiki.gentoo.org> Date: Wed Jan 1 14:52:24 2014 +0000 Broke up a long sentence. Fontconfig.mw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1da83052b8062239e265458c538b2efb32ca25a8 Author: El Salmon <El Salmon@wiki.gentoo.org> Date: Tue Dec 3 19:05:37 2013 +0000 Checking configuration Fontconfig.mw | 4 ++++ 1 file changed, 4 insertions(+) commit 9583e17c82508d166d9a30733765d3bdfd9d7f3e Author: Emery <Emery@wiki.gentoo.org> Date: Fri Oct 25 04:53:35 2013 +0000 Tense changes (changes to tense). Tallscreen_Monitor.mw | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ...
To be able to push the change back into the wiki, we need to log in there. So, we tell Git our wiki username:commit 6af2bfa0bba4cf825d4e52242709ffccfe341223 Author: Andreas K. Huettel (dilfridge) <dilfridge@gentoo.org> Date: Sat Jan 4 23:47:55 2014 +0100 Add klayout to the scientific applications Recommended_applications.mw | 1 + 1 file changed, 1 insertion(+)
Afterwards, a simple "git push" is enough to publish our change; Git will ask for the wiki password.git config remote.origin.mwLogin Dilfridge