Also, > Its an update issue. You set a target to say Ruby 24. But something > wants Ruby23. It could be it only builds with ruby23. Or more than > likely no one has gotten around to adding it to the package. Since for > every new version. EVERY ebuild must be touched.
As I said above, this only happens if package manintainer is a slacker and a package wasn't touched for years. Chances that it will work with new ruby is... about 0%. Why should you auto- add modern ruby targets for it then? Instead, you should blame package (that causes regression) maintainer and/or take maintenance in your hands (if you need that package), or just drop it from your system (if not). // Although, it is another question to discuss: Most of time in such situations (with ruby crap mess, lol) Portage is unable to tell which exact package is guilty in all that crap (even with --verbose- conflicts --backtrack=100500 and so on) and you need to mask old rubys and re- run world-upgrade to catch the one who fails because of mask. I agree that it is not expected portage bahaviour, but I have not done deep research to write detailed report and suggest a solutions for this problem, abd just reporting it was useless, since, predictably, nobody cares (everybody ok with this). That ^ is the point to discuss. But I disagree that '>=foo-1 <=foo2' stuff should be used instead of targets.