I ran an emerge --update world, and happened to look at the right time to see a notice about the nvidia-drivers package. Apparently it has dropped support for my video card, and at the moment I am left without a working X. Reproducible: Always Steps to Reproduce: emerge --update world Actual Results: After a reboot X would no longer start, with an error of "no screens found". Expected Results: I expected the upgrade to ask for confirmation if it detected that I was about to break the system. * ***** WARNING ***** * * You are currently installing a version of nvidia-drivers that is * known not to work with a video card you have installed on your * system. If this is intentional, please ignore this. If it is not * please perform the following steps: * * Add the following mask entry to /etc/portage/package.mask by * echo ">=x11-drivers/nvidia-drivers-177.0.0" >> /etc/portage/package.mask * * Failure to perform the steps above could result in a non-working * X setup.
Correction on my expectations: Asking for confirmation, perhaps hours into an emerge, would be unacceptable. I would then propose one of the following two solutions: 1. Run all ebuild sanity checks beforehand and provide feedback before building begins. Likely difficult from what is done now. 2. The ebuild should exit, skipping unless the admin later follows-up with a command-line argument to force the upgrade. I prefer #2, as it leaves the system in a working state, and doesn't block the rest of the emerge from proceeding. The same feedback given at the end of the build now that tells the user that they have likely broken their system can instead be used to tell them why the upgrade of that package did not occur, and how to override it. At least the system is not broken.
There's a multitude of reasons why people build a driver package that doesn't work with their current card. As per the Gentoo Dev Manual and the QA policies, it is actually not proper to fail out. Previously the code had been written to fail out but unfortunately that breaks a lot of automated building environments. With nvidia-drivers it's up to the user to properly select the driver they want to use. The notice is provided as a curiosity for the user. Also, you can shoot yourself in the foot the exact same way on Ubuntu and Fedora and they again leave it up to the user to do the right thing.