I guess that !< is equivalent with >=. I have the following installed packages: kdelibs-3.1.4 qt-3.2.3 In qt-3.2.3 the DEPEND include the following line: !<kde-base/kdelibs-3.1.4 alin root # emerge -upD world These are the packages that I would merge, in order: Calculating world dependencies ...done! [blocks B ] <kde-base/kdelibs-3.1.4 (from pkg x11-libs/qt-3.2.3) When I change !< in >=, portage works as expected.
! is the blocks operator. What are you expecting?
I expect from portage to work. Do you tell me is normal that portage computes <kdelibs-3.1.4 as TRUE, given the fact that I HAVE kdelibs-3.1.4?
!< is NOT the same as >=, see `man 5 ebuild` about DEPEND syntax
I understand that. I know that ! is blocking operator. The thing is that !<kde-base/kdelibs-3.1.4 should block the package if and only if I do have a version of kdelibs older that 3.1.4. The current functionality of portage is equivalent with !<=kde-base/kdelibs-3.1.4
are you absolutely sure that you don't have an older kdelibs version installed too ? Run `emerge --unmerge -p \<kdelibs-3.1.4` to check this.
Ups... my mistake. I'm sorry for this fake bug.