Bug#722258: glx-diversions fails libGL.so.1 - /etc/alternatives

2013-09-10 Thread Vincent Cheng
On Mon, Sep 9, 2013 at 10:54 AM, JS jsh...@yahoo.com wrote:
 I believe this problem comes about because:

 libgl1-mesa-glx 8.0.5-3  has the library libGL.so.1.2:
= dpkg --contents libgl1-mesa-glx_8.0.5-3_i386.deb
   drwxr-xr-x root/root 0 2012-12-06 17:23 ./
   drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/
   drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/lib/
   drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/lib/i386-linux-gnu/
   -rw-r--r-- root/root 363020 2012-12-06 17:22
 ./usr/lib/i386-linux-gnu/libGL.so.1.2   

 while the newer libgl1-mesa-glx 9.1.6-2 has the library:
   = dpkg --contents
 /var/cache/apt/archives/libgl1-mesa-glx_9.1.6-2_i386.deb
   drwxr-xr-x root/root 0 2013-08-12 02:50 ./
   drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/
   drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/lib/
   drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/lib/i386-linux-gnu/
   -rw-r--r-- root/root 357692 2013-08-12 02:50
 ./usr/lib/i386-linux-gnu/libGL.so.1.2.0 
   drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/share/


 glx-diversions postinst is checking for a final target of libGL.so.1.2 (not
 libGL.so.1.2.0) so it always
 fails when the newer libgl1-mesa-glx is installed:
 validate_diverted_symlink /usr/lib${triplet}libGL.so.1
 /usr/lib/mesa-diverted${triplet}libGL.so.1 mesa/libGL.so.1 libGL.so.1.2


This sounds like bug #712304 to me, which was fixed as of glx-diversions 0.4.0.

Regards,
Vincent


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#722258: glx-diversions fails libGL.so.1 - /etc/alternatives

2013-09-10 Thread JS
Vincent,

You're right, thank you for pointing this out. I've checked that 
glx-diversions_0.4.0 does include a libGL.so.1.2.0
as one of the arguments to validate_diverted_symlink and so will not have this 
problem.

I was not able to use this version of glx-diversions as I've kept my version of 
the nvidia drivers pinned to 304.64-4.

This bug should be closed as a duplicate that has already been fixed in the 
latest version.
 
thanks again,
Jack



 From: Vincent Cheng vincentc1...@gmail.com
To: JS jsh...@yahoo.com 
Cc: 722...@bugs.debian.org 
Sent: Tuesday, September 10, 2013 4:54 AM
Subject: Re: Bug#722258: glx-diversions fails libGL.so.1 - /etc/alternatives
 

On Mon, Sep 9, 2013 at 10:54 AM, JS jsh...@yahoo.com wrote:
 I believe this problem comes about because:

 libgl1-mesa-glx 8.0.5-3  has the library libGL.so.1.2:
    = dpkg --contents libgl1-mesa-glx_8.0.5-3_i386.deb
   drwxr-xr-x root/root 0 2012-12-06 17:23 ./
   drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/
   drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/lib/
   drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/lib/i386-linux-gnu/
   -rw-r--r-- root/root 363020 2012-12-06 17:22
 ./usr/lib/i386-linux-gnu/libGL.so.1.2   

 while the newer libgl1-mesa-glx 9.1.6-2 has the library:
   = dpkg --contents
 /var/cache/apt/archives/libgl1-mesa-glx_9.1.6-2_i386.deb
   drwxr-xr-x root/root 0 2013-08-12 02:50 ./
   drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/
   drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/lib/
   drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/lib/i386-linux-gnu/
   -rw-r--r-- root/root 357692 2013-08-12 02:50
 ./usr/lib/i386-linux-gnu/libGL.so.1.2.0 
   drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/share/


 glx-diversions postinst is checking for a final target of libGL.so.1.2 (not
 libGL.so.1.2.0) so it always
 fails when the newer libgl1-mesa-glx is installed:
     validate_diverted_symlink /usr/lib${triplet}libGL.so.1
 /usr/lib/mesa-diverted${triplet}libGL.so.1 mesa/libGL.so.1 libGL.so.1.2


This sounds like bug #712304 to me, which was fixed as of glx-diversions 0.4.0.

Regards,
Vincent

Bug#722258: closed by Andreas Beckmann a...@debian.org (Re: Bug#722258: glx-diversions fails libGL.so.1 - /etc/alternatives)

2013-09-10 Thread JS
Thanks Andreas,


I would add that since I did not want to risk upgrading my nvidia drivers from 
their current pinned version,

there was no problem fixing this issue while staying with glx-diversions_0.2.2:


   1. I added a local diversion: 

        local diversion of /usr/lib/i386-linux-gnu/libGL.so.1.2.0 to 
/usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1.2.0


   2. in mesa-diverted, I added a hard link from libGL.so.1.2.0 to libGL.so.1.2


   3. and also a symlink from libGL.so.1 - libGL.so.1.2


With those manual changes, glx-diversions_0.2.2 can be reinstalled without 
errors and hardware acceleration works again.


Maybe the change to libgl1-mesa-glx could have been avoided if the postinstall 
script added more args to the function:

      validate_diverted_symlink  ...   `dpkg --listfiles libgl1-mesa-glx | grep 
'^/usr/lib' | xargs basename -a`


so that however libgl1-mesa-glx chose to version its libGL.so, they would still 
be found by glx-diversions postinstall.


 
thanks, 
--jack

 




 From: Debian Bug Tracking System ow...@bugs.debian.org
To: js jsh...@yahoo.com 
Sent: Tuesday, September 10, 2013 8:30 AM
Subject: Bug#722258 closed by Andreas Beckmann a...@debian.org (Re: 
Bug#722258: glx-diversions fails libGL.so.1 - /etc/alternatives)
 

This is an automatic notification regarding your Bug report
which was filed against the glx-diversions package:

#722258: glx-diversions fails libGL.so.1 - /etc/alternatives

It has been closed by Andreas Beckmann a...@debian.org.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Andreas Beckmann 
a...@debian.org by
replying to this email.


-- 
722258: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=722258
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problemsVersion: 0.4.0

On 2013-09-10 13:02, JS wrote:
 Vincent,
 
 You're right, thank you for pointing this out. I've checked that 
 glx-diversions_0.4.0 does include a libGL.so.1.2.0
 as one of the arguments to validate_diverted_symlink and so will not have 
 this problem.
 
 I was not able to use this version of glx-diversions as I've kept my version 
 of the nvidia drivers pinned to 304.64-4.
 
 This bug should be closed as a duplicate that has already been fixed in the 
 latest version.

Closing.

BTW, libgl1-mesa-glx has a fix pending that adds a
  Breaks: glx-diversions ( 0.4)
so people won't be able to do this broken partial upgrade any more.

Andreas
Package: glx-diversions
Version: 0.2.2
Severity: normal

Dear Maintainer,

I updated libgl1-mesa-glx to version 9.1.6-2 (from 8.0.5-3) and saw that
afterwards /usr/lib/i386-linux-gnu/libGL.so.1 - libGL.so.1.2.0 instead
of the /etc/alternatives/glx--... that would lead to the nvidia library.

Therefore the hardware acceleration was broken.

I tried purging all the nvidia files and reinstalling but the problem
persists because the glx-alternatives postinst script does a
validate_diverted_symlink() and does a Restoring diverted libGL.so.1 symlink.
After reinstalling glx-diversions (many attempts), this left libGL.so.1
pointing to the library from libgl1-mesa-glx.

This happened even after I removed all the nvidia packages, manually removed
any remaining diversions for '*glx*' so that only libgl1-mesa-glx was left,
with no diversions.

I would have thought glx-diversions would have left the diversion in place
and tried to leave the symlink pointing to /etc/alternatives.

Manually setting this link to point to /etc/alternatives/glx--... does
restore hardware acceleration but this seems to break whenever another
package is installed, so is not a real workaround.

I have the nvidia drivers pinned to 306.64-4 and therefore glx-diversions
is pinned to 0.2.2 (I understand this is not the latest version).

Here is a typical session from /var/log/apt/term.log showing the problem
(see especially lines marked with ):
    Log started: 2013-09-09  09:52:53
    Selecting previously unselected package glx-diversions.
    (Reading database ... (Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 943874 files and directories currently installed.)
    Unpacking glx-diversions (from .../glx-diversions_0.2.2_i386.deb) ...
    Selecting previously unselected package glx-alternative-mesa.
    Unpacking glx-alternative-mesa (from 
.../glx

Bug#722258: glx-diversions fails libGL.so.1 - /etc/alternatives

2013-09-09 Thread js
Package: glx-diversions
Version: 0.2.2
Severity: normal

Dear Maintainer,

I updated libgl1-mesa-glx to version 9.1.6-2 (from 8.0.5-3) and saw that
afterwards /usr/lib/i386-linux-gnu/libGL.so.1 - libGL.so.1.2.0 instead
of the /etc/alternatives/glx--... that would lead to the nvidia library.

Therefore the hardware acceleration was broken.

I tried purging all the nvidia files and reinstalling but the problem
persists because the glx-alternatives postinst script does a
validate_diverted_symlink() and does a Restoring diverted libGL.so.1 symlink.
After reinstalling glx-diversions (many attempts), this left libGL.so.1
pointing to the library from libgl1-mesa-glx.

This happened even after I removed all the nvidia packages, manually removed
any remaining diversions for '*glx*' so that only libgl1-mesa-glx was left,
with no diversions.

I would have thought glx-diversions would have left the diversion in place
and tried to leave the symlink pointing to /etc/alternatives.

Manually setting this link to point to /etc/alternatives/glx--... does
restore hardware acceleration but this seems to break whenever another
package is installed, so is not a real workaround.

I have the nvidia drivers pinned to 306.64-4 and therefore glx-diversions
is pinned to 0.2.2 (I understand this is not the latest version).

Here is a typical session from /var/log/apt/term.log showing the problem
(see especially lines marked with ):
Log started: 2013-09-09  09:52:53
Selecting previously unselected package glx-diversions.
(Reading database ... (Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 943874 files and directories currently installed.)
Unpacking glx-diversions (from .../glx-diversions_0.2.2_i386.deb) ...
Selecting previously unselected package glx-alternative-mesa.
Unpacking glx-alternative-mesa (from 
.../glx-alternative-mesa_0.2.2_i386.deb) ...
Selecting previously unselected package glx-alternative-nvidia.
Unpacking glx-alternative-nvidia (from 
.../glx-alternative-nvidia_0.2.2_i386.deb) ...
Selecting previously unselected package libgl1-nvidia-alternatives.
Unpacking libgl1-nvidia-alternatives (from 
.../libgl1-nvidia-alternatives_304.64-4_i386.deb) ...
Selecting previously unselected package libglx-nvidia-alternatives.
Unpacking libglx-nvidia-alternatives (from 
.../libglx-nvidia-alternatives_304.64-4_i386.deb) ...
Selecting previously unselected package nvidia-alternative.
Unpacking nvidia-alternative (from 
.../nvidia-alternative_304.64-4_i386.deb) ...
Selecting previously unselected package nvidia-support.
Unpacking nvidia-support (from .../nvidia-support_20120630+3_i386.deb) ...
Selecting previously unselected package libgl1-nvidia-glx:i386.
Unpacking libgl1-nvidia-glx:i386 (from 
.../libgl1-nvidia-glx_304.64-4_i386.deb) ...
Selecting previously unselected package libxvmcnvidia1:i386.
Unpacking libxvmcnvidia1:i386 (from .../libxvmcnvidia1_304.64-4_i386.deb) 
...
Selecting previously unselected package xserver-xorg-video-nvidia.
Unpacking xserver-xorg-video-nvidia (from 
.../xserver-xorg-video-nvidia_304.64-4_i386.deb) ...
Selecting previously unselected package nvidia-vdpau-driver:i386.
Unpacking nvidia-vdpau-driver:i386 (from 
.../nvidia-vdpau-driver_304.64-4_i386.deb) ...
Selecting previously unselected package nvidia-kernel-dkms.
Unpacking nvidia-kernel-dkms (from 
.../nvidia-kernel-dkms_304.64-4_i386.deb) ...
Selecting previously unselected package nvidia-glx.
Unpacking nvidia-glx (from .../nvidia-glx_304.64-4_i386.deb) ...
Selecting previously unselected package nvidia-settings.
Unpacking nvidia-settings (from .../nvidia-settings_304.64-1_i386.deb) ...
Processing triggers for man-db ...
Processing triggers for menu ...
Processing triggers for gnome-menus ...
Processing triggers for mime-support ...
Processing triggers for desktop-file-utils ...
Setting up glx-diversions (0.2.2) ...
No diversion 'diversion of 
/usr/lib/debug/usr/lib/xorg/modules/extensions/libglx.so to 
/usr/lib/mesa-diverted/libglx.so.dbg by glx-diversions', none removed.
No diversion 'diversion of /usr/lib/xorg/modules/extensions/libglx.so to 
/usr/lib/mesa-diverted/libglx.so by glx-diversions', none removed.
Adding 'diversion of /usr/lib/libGL.so to /usr/lib/mesa-diverted/libGL.so 
by glx-diversions'
Adding 'diversion of 

Bug#722258: glx-diversions fails libGL.so.1 - /etc/alternatives

2013-09-09 Thread JS
I believe this problem comes about because:

libgl1-mesa-glx 8.0.5-3  has the library libGL.so.1.2:
   = dpkg --contents libgl1-mesa-glx_8.0.5-3_i386.deb 
  drwxr-xr-x root/root 0 2012-12-06 17:23 ./
  drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/
  drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/lib/
  drwxr-xr-x root/root 0 2012-12-06 17:22 ./usr/lib/i386-linux-gnu/
  -rw-r--r-- root/root363020 2012-12-06 17:22 
./usr/lib/i386-linux-gnu/libGL.so.1.2   


while the newer libgl1-mesa-glx 9.1.6-2 has the library:
  = dpkg --contents /var/cache/apt/archives/libgl1-mesa-glx_9.1.6-2_i386.deb 
  drwxr-xr-x root/root 0 2013-08-12 02:50 ./
  drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/
  drwxr-xr-x root/root 0 2013-08-12 02:50
 ./usr/lib/
  drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/lib/i386-linux-gnu/
  -rw-r--r-- root/root357692 2013-08-12 02:50 
./usr/lib/i386-linux-gnu/libGL.so.1.2.0 
  drwxr-xr-x root/root 0 2013-08-12 02:50 ./usr/share/



glx-diversions postinst is checking for a final target of libGL.so.1.2 (not 
libGL.so.1.2.0) so it always

fails when the newer libgl1-mesa-glx is installed:
    validate_diverted_symlink /usr/lib${triplet}libGL.so.1 
/usr/lib/mesa-diverted${triplet}libGL.so.1 mesa/libGL.so.1 libGL.so.1.2

Perhaps the postinst script could check only that the link is owned by the 
package libgl1-mesa-glx; here is a piece of the
postinst script showing the problem:

+ owner=libgl1-mesa-glx:i386: /usr/lib/i386-linux-gnu/libGL.so.1        
package installing an libGL.so.1
+ [ -L /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 ]
+ [ -z libgl1-mesa-glx:i386: /usr/lib/i386-linux-gnu/libGL.so.1 ]
+ readlink /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1
+ link=libGL.so.1.2.0                                                           
              readlink -f of its libGL.so.1
+ [ -L /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 ]
+ [ libGL.so.1.2.0 = mesa/libGL.so.1 ]
+ [ -L /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 ]
+ [ libGL.so.1.2.0 = libGL.so.1.2 ]
+ [ -L /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 ]
+ [ libGL.so.1.2.0 != libGL.so.1.2 ]





+ echo Removing diverted 'libGL.so.1' symlink with unexpected target 
'libGL.so.1.2.0'.
Removing diverted 'libGL.so.1' symlink
 with unexpected target 'libGL.so.1.2.0'.