I just did an 'emerge -uDN world' and then I followed it by 'emerge -pve world | grep " U "' to see if there was a package left un-upgraded. Sure enough, there were 12 packages. All are perl packages.
You can them below. 'genlop' is in the WORLD list in /var/lib/portage/world.
# emerge -pve genlop|grep " U "
[ebuild U ] perl-core/CPAN-Meta-YAML-0.4.0 [0.3.0] 29 kB 
[ebuild U ] perl-core/Archive-Tar-1.800.0 [1.760.0] 56 kB 
[ebuild U ] perl-core/Module-CoreList-2.570.0 [2.540.0] 79 kB 
[ebuild U ] perl-core/Module-Load-0.220.0 [0.200.0] 6 kB 
[ebuild U ] virtual/perl-CPAN-Meta-YAML-0.4.0 [0.3.0-r1] 0 kB 
[ebuild U ] virtual/perl-Archive-Tar-1.800.0 [1.760.0-r1] 0 kB 
[ebuild U ] virtual/perl-Module-CoreList-2.570.0 [2.540.0] 0 kB 
[ebuild U ] virtual/perl-Module-Load-0.220.0 [0.200.0] 0 kB 
[ebuild U ] perl-core/CPAN-Meta-2.112.621 [2.112.150] 75 kB 
[ebuild U ] perl-core/Module-Load-Conditional-0.460.0 [0.440.0] 14 kB 
[ebuild U ] virtual/perl-CPAN-Meta-2.112.621 [2.112.150] 0 kB 
[ebuild U ] virtual/perl-Module-Load-Conditional-0.460.0 [0.440.0-r1] 0 kB 
Anybody know why 'emerge -uDN world' did not upgrade these packages?
Steps to Reproduce:
1. emerge -uDN world
2. emerge -pve world | grep " U "
The above list for --empty world run should empty.
--empty world run is not empty.
Maybe you want to set EMERGE_DEFAULT_OPTS="--with-bdeps=y", and this is a duplicate of bug 150238? This is covered in the "Why is it that emerge does not update all packages?" section of the FAQ:
BTW, there's been some recent discussion about adding an emerge --upgrade target that would enable --with-bdeps=y by default:
(In reply to comment #1)
> Maybe you want to set EMERGE_DEFAULT_OPTS="--with-bdeps=y", and this is a
> duplicate of bug 150238?
Why is that not the default? Just curious.
Here's my response to the "saner defaults" part of the discussion:
> Or go with a saner defaults...
So, are any of the following sane?
1) Pull in updates for packages even though those packages won't be used
2) Pull in build-time dependencies for packages that are already built,
even though no portage version has ever done this before by default.
3) Make depclean remove build-time dependencies by default, only to have
the rebuilt/installed the next time that the system is updated.