FS#18142 - [mesa] strict dependency on dri2proto not needed ?
Attached to Project:
Arch Linux
Opened by Xavier (shining) - Wednesday, 03 February 2010, 10:26 GMT
Last edited by Jan de Groot (JGC) - Saturday, 06 February 2010, 07:41 GMT
Opened by Xavier (shining) - Wednesday, 03 February 2010, 10:26 GMT
Last edited by Jan de Groot (JGC) - Saturday, 06 February 2010, 07:41 GMT
|
Details
mesa 7.7 depends on dri2proto=2.1
I need dri2proto 2.2 to build mesa git locally. This won't affect the system mesa 7.7 at all since dri2proto is just 2 headers. Maybe the real problem is that dri2proto should be a makedepends rather than a depends ? namcap.py /home/pkg/mesa-7.7-1-x86_64.pkg.tar.gz mesa W: Dependency included but already satisfied ('libx11') mesa W: Dependency included and not needed ('dri2proto') mesa W: Dependency included and not needed ('libdrm') It's quite weird to force the usage of -Ud when upgrading to dri2proto 2.2 Afaik these proto are backward compatible, mesa 7.7 should still build with 2.2 so it could be : makedepends=(dri2proto>=2.1) But I should double-check this. In any cases, is there any reason for not doing the depends->makedepends change ? |
This task depends upon
14:10 < zhasha> there is some truth to the matter. if you build mesa with a newer dri2proto you might inadvertently trigger some feature X doesn't have. I do believe though, that mesa checks for that sort of stuff instead of just assuming
14:10 < jcristau> the protocol is versioned for a reason
14:11 < jcristau> if mesa doesn't check, that's a bug, and it should be fixed
As you're building mesa from git, you're also replacing the mesa package, so I see no need to change this in the mesa package. Note that the quote you reopened the bug with specifies "if you build mesa with a newer dri2proto", we're not building anything, we're installing a binary package here. The binary package has a strict dependency, and to gain that, so does the PKGBUILD. You're free to change it on your system, but the mesa package in the repositories will stay strict.
Nouveau doesn't recommend to install it system-wide : http://nouveau.freedesktop.org/wiki/GalliumHowto
"It's not recommended to install this library, but you can test if it works by setting LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to /path/to/mesa/lib. Here is an example with Openarena ..."
That way I can control exactly which application are using the unstable nouveau gallium driver, and I can be prepared for system crashes / gpu lockups / whatever. By default, the system-wide software mesa is used, and that setup has served me well for several months.
If we are not building anything, there is no problem, it's just a header.
If the user is building something and upgraded dri2proto, he obvious knows he did that, doesn't he ?
The xorg people are apparently saying that building different components against different protocol versions should work as the protocol itself is versioned, and that it's a bug if it doesn't work.
Besides if the specific situation of newer dri2proto and mesa with an older libx11 caused problems, I would be the first to have them as it's exactly what I did on my 3 arch systems.
Anyway I am obviously not blocked by this in any way. I upgraded dri2proto 3 weeks ago right after mesa git required it, I just had to make pacman skip depends or to hack the mesa db entry, and all was well.
It's just a very minor annoyance, and the first one I encounter since I started building all git nouveau bits.
So it has been very good over all. And thanks for the always up-to-date Xorg server and stack, this helps a lot :)