nvidia-glx-VER used to add a diversion of libGL.so.1 and libGL.so.1.2 *only if* such files existed. This is wrong and is the real cause of the problem.
After having a 2nd look at ia32-libs and nvidia-glx-VER, I came to the following solution:
in the preinst:
add diversions of libGL.so, libGL.so.1, libGL.so.1.2 as I used to do before but this time I won't test the existence of these files.
in the postrm:
simply remove these diversions
In this way it doesn't matter which packages you install first, since NVIDIA's libGL.so.xx will always win.
Ok, I've found the solution to this problem.
nvidia-glx-VER used to add a diversion of libGL.so.1 and libGL.so.1.2 *only if* such files existed. This is wrong and is the real cause of the problem.
After having a 2nd look at ia32-libs and nvidia-glx-VER, I came to the following solution:
in the preinst:
add diversions of libGL.so, libGL.so.1, libGL.so.1.2 as I used to do before but this time I won't test the existence of these files.
in the postrm:
simply remove these diversions
In this way it doesn't matter which packages you install first, since NVIDIA's libGL.so.xx will always win.
I'll upload the new packages soon.