This is what happens: # emerge --nodeps -N1p dev-java/ant These are the packages that would be merged, in order: # emerge --nodeps -kN1p dev-java/ant These are the packages that would be merged, in order: [binary R ] dev-java/ant-1.7.1 USE="antlr bcel bsf commonslogging commonsnet javamail jdepend jsch log4j oro regexp resolver" # emerge --nodeps -kN1 dev-java/ant >>> Emerging binary (1 of 1) dev-java/ant-1.7.1 * ant-1.7.1.tbz2 size ;-) ... [ ok ] >>> Extracting info >>> Extracting dev-java/ant-1.7.1 >>> Installing dev-java/ant-1.7.1 * Since 1.7.1, the ant-tasks meta-ebuild has been removed and its USE * flags have been moved to dev-java/ant. * * You may now freely set the USE flags of this package without breaking * building of Java packages, which depend on the exact ant tasks they need. * The USE flags default to enabled (except X, jai and jmf) for convenience. >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. # emerge --nodeps -N1p dev-java/ant These are the packages that would be merged, in order: # emerge --nodeps -kN1p dev-java/ant These are the packages that would be merged, in order: [binary R ] dev-java/ant-1.7.1 USE="antlr bcel bsf commonslogging commonsnet javamail jdepend jsch log4j oro regexp resolver" ... ad infinitum Either the package should be rebuilt with new use flags or not be reinstalled at all. Workaround: # emerge --nodeps -1 dev-java/ant
Created attachment 189946 [details] emerge --info
I've seen this before. It's a quirk in the USE calculation, related to IUSE defaults, that can be solved by rebuilding the package so that it contains the latest IUSE. I'll fix it to so that the IUSE of the binary package do not affect the calculation.
Created attachment 189995 [details, diff] fix USE comparison for binary packages I think this patch fixes the specific issue that you're reporting. If the patch is saved as /tmp/newuse.patch, then it can be applied as follows: patch /usr/lib/portage/pym/_emerge/__init__.py /tmp/newuse.patch
This is fixed in 2.1.6.12.