Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 202104 - nvidia.eclass produces bogus warnings because of 1.0.xx ebuilds
Summary: nvidia.eclass produces bogus warnings because of 1.0.xx ebuilds
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Doug Goldstein (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-12-13 03:39 UTC by Ian Kelly
Modified: 2007-12-21 20:38 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Kelly 2007-12-13 03:39:20 UTC
When merging x11-drivers/nvidia-drivers-71.86.01, I get this warning:

 * ***** 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-72.0.0
=x11-drivers/nvidia-1.0.9639" >> /etc/portage/package.mask
 *
 * Failure to perform the steps above could result in a non-working
 * X setup.
 *
 * For more information please read:
 * http://www.nvidia.com/object/IO_32667.html

The only video card this system has is a TNT2, and I've verified at the nvidia site that this is the correct driver version for that card.  Moreover, the package mask specified in the warning wouldn't mask out version 71.86.01 anyway.

Reproducible: Always

Steps to Reproduce:
1. emerge -av1 nvidia-drivers
2.
3.

Actual Results:  
Emerge succeeds with a spurious warning

Expected Results:  
Emerge succeeds with no spurious warning
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-12-13 05:46:41 UTC
Post the output of the following command here:

lspci -d 10de: -n | awk '/ 0300: /{print $3}' | cut -d: -f2 | tr '\n' ' '
Comment 2 Ian Kelly 2007-12-13 07:39:39 UTC
002d 
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2007-12-13 07:59:14 UTC
Well, this simply can't work, we need to remove the old-style-versioned ebuilds from the tree and from the eclass.

$ x=">=x11-drivers/nvidia-drivers-72.0.0\n=x11-drivers/nvidia-1.0.9639"; y=${x##*-}; echo ${y}
1.0.9639

Once you remove the check for the old cruft, you get:

$ x=">=x11-drivers/nvidia-drivers-72.0.0"; y=${x##*-}; echo $y
72.0.0

and of course no warning.
Comment 4 Doug Goldstein (RETIRED) gentoo-dev 2007-12-13 14:10:26 UTC
Well one thing I was considering was abusing slot based deps to clear this issue up. Each different type of driver would be slotted differently and they would block each other.
Comment 5 Doug Goldstein (RETIRED) gentoo-dev 2007-12-13 14:12:59 UTC
Reading the bug report, the warning that is displayed is completely proper. The user wants 71.86.01, so he needs to add those masks otherwise Portage will continue to attempt to upgrade him to newer versions.
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2007-12-13 14:16:10 UTC
(In reply to comment #5)
> Reading the bug report, the warning that is displayed is completely proper. The
> user wants 71.86.01, so he needs to add those masks otherwise Portage will
> continue to attempt to upgrade him to newer versions.

Erm, of course it's not proper. He's emerging the correct drivers versions, so that warning is plain wrong for the reasons stated in Comment #3, i.e., version_compare can't produce correct results for the two different versioning schemes...

<snip>
 * 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:
</snip>
Comment 7 Doug Goldstein (RETIRED) gentoo-dev 2007-12-21 20:38:49 UTC
Fixed.