The current 'stable' version in portage is anything but. In one of my projects, it dies upon login(): my $authmech = "LOGIN"; if ($imap->has_capability("AUTH=$authmech")) { print "Switching to $authmech authentication\n"; $imap->Authmechanism($authmech); } else { die "Server lacks $authmech capability"; } $imap->login or die "Could not login: $@\n"; This results in: Switching to LOGIN authentication Undefined subroutine &main:: called at /usr/lib64/perl5/vendor_perl/5.8.8/Mail/IMAPClient.pm line 3490. Upgrading to 3.21 resolved the issue. In fact, I would prefer for 3.22 to be added as that fixes a few bugs also: version 3.22: Thu Jan 21 15:25:54 EST 2010 - rt.cpan.org#52313: Getting read errors if Fast_io is set to 1 [Jukka Huhta] - updated Maxttemperrors docs related to EAGAIN handling - new starttls() method and Starttls attribute to support STARTTLS - update parse_headers to try harder to find UID in fetch response
Bug 232277 is the reason why I never tried to stabilize a newer version. It looks like a newer (not in the tree) version imapsync works with Mail-IMAPClient-3*.
Thanks Torsten, I'll investigate. I do use imapsync from time to time.
I've asked net-mail to update imapsync (which will continue to work with Mail-IMAPClient-2.2.9) so we'll see what happens. I see you've added 3.22 - thanks - but I think there may be an issue with the ebuild. The META.yml file in the upstream module states that IO::Socket::INET v1.26 is a minimum requirement. Well, perl-5.10.1 gives us 1.31 out of the box. However, in the event that we're not using the newer version of perl, and unless I'm very much mistaken, we would need to depend on virtual/perl-IO-1.26 which does not yet exist. More to the point, the dependency is missing in the ebuild. http://cpansearch.perl.org/src/PLOBBES/Mail-IMAPClient-3.22/META.yml Also, why does it depend on virtual/libnet? It seems that Mail::IMAPClient does not use any modules under the "Net" namespace: $ ack -o '^use [^\s]+' IMAPClient.pm | sort -u use Carp use Errno use Fcntl use File::Spec use IO::File use IO::Select use IO::Socket use List::Util use MIME::Base64 use Mail::IMAPClient::MessageSet; use constant use strict; use warnings; The above is from 3.21.
(In reply to comment #3) > I see you've added 3.22 - thanks - but I think there may be an issue with the > ebuild. The META.yml file in the upstream module states that IO::Socket::INET > v1.26 is a minimum requirement. $ corelist -v 5.008008 IO::Socket::INET IO::Socket::INET 1.29 Version 1.29 is in perl-5.8.8. IO is a dist where the modules' versions don't match the dist's version. > Also, why does it depend on virtual/libnet? It seems that Mail::IMAPClient does > not use any modules under the "Net" namespace: Mistake, I guess. I'll remove it from the latest version.
Thanks for the explanation.
Please stabilize @amd64,ppc,x86: =net-mail/imapsync-1.303 @all: =dev-perl/Mail-IMAPClient-3.23
amd64 stable
alpha/arm/ia64/s390/sh/sparc/x86 stable
ppc stable