2
# preinst script for nvidia-glx-96
4
# see: dh_installdeb(1)
8
# summary of how this script can be called:
9
# * <new-preinst> `install'
10
# * <new-preinst> `install' <old-version>
11
# * <new-preinst> `upgrade' <old-version>
12
# * <old-preinst> `abort-upgrade' <new-version>
14
# For details see /usr/share/doc/packaging-manual/
16
if [ `dpkg --print-installation-architecture` = "amd64" ]; then
23
# clean up from old diversions
24
if [ -d /usr/share/nvidia-glx/diversions ]; then
25
rm -f /usr/lib/libGL.so.1
26
rm -f /usr/lib/libGL.so.1.2
28
dpkg-divert --remove --rename --package nvidia-glx --divert /usr/share/nvidia-glx/diversions/libGL.so.1 /usr/lib/libGL.so.1 > /dev/null
29
dpkg-divert --remove --rename --package nvidia-glx --divert /usr/share/nvidia-glx/diversions/libGL.so.1.2 /usr/lib/libGL.so.1.2 > /dev/null
31
rm -f /usr/lib/xorg/modules/extensions/libGLcore.a
32
rm -f /usr/lib/xorg/modules/extensions/libglx.a
33
dpkg-divert --remove --rename --package nvidia-glx --divert /usr/share/nvidia-glx/diversions/libGLcore.a /usr/lib/xorg/modules/extensions/libGLcore.a > /dev/null
34
dpkg-divert --remove --rename --package nvidia-glx --divert /usr/share/nvidia-glx/diversions/libglx.a /usr/lib/xorg/modules/extensions/libglx.a > /dev/null
36
rmdir /usr/share/nvidia-glx/diversions || true;
37
rmdir /usr/share/nvidia-glx || true;
40
if [ -d /usr/share/nvidia-glx/diversions-X11R6 ]; then
42
rm -f /usr/X11R6/lib/libGL.so.1
43
rm -f /usr/X11R6/lib/libGL.so.1.2
45
dpkg-divert --remove --rename --package nvidia-glx --divert /usr/share/nvidia-glx/diversions-X11R6/libGL.so.1 /usr/X11R6/lib/libGL.so.1 > /dev/null
46
dpkg-divert --remove --rename --package nvidia-glx --divert /usr/share/nvidia-glx/diversions-X11R6/libGL.so.1.2 /usr/X11R6/lib/libGL.so.1.2 > /dev/null
48
rmdir /usr/share/nvidia-glx/diversions-X11R6 || true;
49
rmdir /usr/share/nvidia-glx || true;
51
# remove X11R6 diversions
53
if dpkg-divert --list /usr/X11R6/lib/libGL.so.1 | grep 'nvidia-glx' > /dev/null ; then
54
dpkg-divert --remove --rename --package nvidia-glx --divert /usr/X11R6/lib/nvidia/libGL.so.1.xlibmesa /usr/X11R6/lib/libGL.so.1 > /dev/null
57
if dpkg-divert --list /usr/X11R6/lib/libGL.so.1.2 | grep 'nvidia-glx' > /dev/null ; then
58
dpkg-divert --remove --rename --package nvidia-glx --divert /usr/X11R6/lib/nvidia/libGL.so.1.2.xlibmesa /usr/X11R6/lib/libGL.so.1.2 > /dev/null
60
if dpkg-divert --list /usr/X11R6/lib/modules/extensions/libGLcore.a | grep 'nvidia-glx' > /dev/null ; then
61
dpkg-divert --remove --rename --package nvidia-glx --divert /usr/X11R6/lib/nvidia/libGLcore.a.xlibmesa /usr/X11R6/lib/modules/extensions/libGLcore.a > /dev/null
63
if dpkg-divert --list /usr/X11R6/lib/modules/extensions/libglx.a | grep 'nvidia-glx' > /dev/null ; then
64
dpkg-divert --remove --rename --package nvidia-glx --divert /usr/X11R6/lib/nvidia/libglx.a.xlibmesa /usr/X11R6/lib/modules/extensions/libglx.a > /dev/null
66
if dpkg-divert --list /usr/X11R6/lib/modules/extensions/libglx.so | grep 'nvidia-glx' > /dev/null ; then
67
dpkg-divert --remove --rename --package nvidia-glx --divert /usr/X11R6/lib/nvidia/libglx.so.xlibmesa /usr/X11R6/lib/modules/extensions/libglx.so > /dev/null
70
# make sure these diversions don't exist anymore
71
if dpkg-divert --list /usr/lib/libGL.so | grep 'nvidia-glx-dev' > /dev/null ; then
72
dpkg-divert --remove --rename --package nvidia-glx-dev --divert /usr/lib/nvidia/libGL.so.xlibmesa /usr/lib/libGL.so > /dev/null || true
73
dpkg-divert --remove --rename --package nvidia-glx-dev-envy --divert /usr/lib/nvidia/libGL.so.xlibmesa /usr/lib/libGL.so > /dev/null || true
75
if dpkg-divert --list /usr/lib/libGL.so | grep 'nvidia-glx-177-dev' > /dev/null ; then
76
dpkg-divert --remove --rename --package nvidia-glx-177-dev --divert /usr/lib/nvidia/libGL.so.xlibmesa /usr/lib/libGL.so > /dev/null || true
78
if dpkg-divert --list /usr/lib/libGL.so | grep 'nvidia-glx-new-dev' > /dev/null ; then
79
dpkg-divert --remove --rename --package nvidia-glx-new-dev --divert /usr/lib/nvidia/libGL.so.xlibmesa /usr/lib/libGL.so > /dev/null || true
80
dpkg-divert --remove --rename --package nvidia-glx-new-dev-envy --divert /usr/lib/nvidia/libGL.so.xlibmesa /usr/lib/libGL.so > /dev/null || true
82
if dpkg-divert --list /usr/lib/libGL.a | grep 'nvidia-glx-dev' > /dev/null ; then
83
dpkg-divert --remove --rename --package nvidia-glx-dev --divert /usr/lib/nvidia/libGL.a.xlibmesa /usr/lib/libGL.a > /dev/null || true
84
dpkg-divert --remove --rename --package nvidia-glx-dev-envy --divert /usr/lib/nvidia/libGL.a.xlibmesa /usr/lib/libGL.a > /dev/null || true
86
if dpkg-divert --list /usr/lib/libGL.a | grep 'nvidia-glx-new-dev' > /dev/null ; then
87
dpkg-divert --remove --rename --package nvidia-glx-new-dev --divert /usr/lib/nvidia/libGL.a.xlibmesa /usr/lib/libGL.a > /dev/null || true
88
dpkg-divert --remove --rename --package nvidia-glx-new-dev-envy --divert /usr/lib/nvidia/libGL.a.xlibmesa /usr/lib/libGL.a > /dev/null || true
90
if dpkg-divert --list /usr/X11R6/lib/libGL.so | grep 'nvidia-glx-dev' > /dev/null ; then
91
dpkg-divert --remove --rename --package nvidia-glx-dev --divert /usr/X11R6/lib/nvidia/libGL.so.xlibmesa /usr/X11R6/lib/libGL.so > /dev/null || true
92
dpkg-divert --remove --rename --package nvidia-glx-dev-envy --divert /usr/X11R6/lib/nvidia/libGL.so.xlibmesa /usr/X11R6/lib/libGL.so > /dev/null || true
94
if dpkg-divert --list /usr/X11R6/lib/libGL.so | grep 'nvidia-glx-new-dev' > /dev/null ; then
95
dpkg-divert --remove --rename --package nvidia-glx-new-dev --divert /usr/X11R6/lib/nvidia/libGL.so.xlibmesa /usr/X11R6/lib/libGL.so > /dev/null || true
96
dpkg-divert --remove --rename --package nvidia-glx-new-dev-envy --divert /usr/X11R6/lib/nvidia/libGL.so.xlibmesa /usr/X11R6/lib/libGL.so > /dev/null || true
98
if dpkg-divert --list /usr/X11R6/lib/libGL.so | grep 'nvidia-glx-dev' > /dev/null ; then
99
dpkg-divert --remove --rename --package nvidia-glx-dev --divert /usr/X11R6/lib/nvidia/libGL.a.xlibmesa /usr/X11R6/lib/libGL.a > /dev/null || true
100
dpkg-divert --remove --rename --package nvidia-glx-dev-envy --divert /usr/X11R6/lib/nvidia/libGL.a.xlibmesa /usr/X11R6/lib/libGL.a > /dev/null || true
102
if dpkg-divert --list /usr/X11R6/lib/libGL.so | grep 'nvidia-glx-new-dev' > /dev/null ; then
103
dpkg-divert --remove --rename --package nvidia-glx-new-dev --divert /usr/X11R6/lib/nvidia/libGL.a.xlibmesa /usr/X11R6/lib/libGL.a > /dev/null || true
104
dpkg-divert --remove --rename --package nvidia-glx-new-dev-envy --divert /usr/X11R6/lib/nvidia/libGL.a.xlibmesa /usr/X11R6/lib/libGL.a > /dev/null || true
108
# Make sure that the new diversions are not there:
109
# NOTE: if a new driver is added it will have to be added here
110
set -a "nvidia-glx" "nvidia-glx-new" "nvidia-glx-legacy" "nvidia-glx-envy"\
111
"nvidia-glx-new-envy" "nvidia-glx-legacy-envy" "nvidia-glx-180" \
112
"nvidia-glx-177" "nvidia-glx-173" "nvidia-glx-96" "nvidia-glx-71"
114
while [ $# -ge 1 ]; do
116
glxdevname="$glxname-dev"
118
if [ -n "$HAS_LIB32" ]; then
119
#Remove diversions of /usr/lib32/libGL.so -- only for the new name schemes (nvidia-glx-VER)
120
if dpkg-divert --list $glxname | grep /usr/lib32/libGL.so > /dev/null ; then
121
rm -f /usr/lib32/libGL.so > /dev/null || true
122
dpkg-divert --remove --rename --package $glxname --divert /usr/lib32/nvidia/libGL.so.xlibmesa /usr/lib32/libGL.so > /dev/null || true
125
#Remove diversion of /usr/lib32/libGL.so.1
126
if dpkg-divert --list $glxname | grep /usr/lib32/libGL.so.1 > /dev/null ; then
127
rm -f /usr/lib32/libGL.so.1 > /dev/null || true
128
dpkg-divert --remove --rename --package $glxname --divert /usr/lib32/nvidia/libGL.so.1.xlibmesa /usr/lib32/libGL.so.1 > /dev/null || true
131
#Remove diversion of /usr/lib32/libGL.so.1.2
132
if dpkg-divert --list $glxname | grep /usr/lib32/libGL.so.1.2 > /dev/null ; then
133
rm -f /usr/lib32/libGL.so.1.2 > /dev/null || true
134
dpkg-divert --remove --rename --package $glxname --divert /usr/lib32/nvidia/libGL.so.1.2.xserver-xorg-core /usr/lib32/libGL.so.1.2 > /dev/null || true
140
#Remove diversion of /usr/lib/xorg/modules/extensions/libGLcore.so
141
if dpkg-divert --list $glxname | grep /usr/lib/xorg/modules/extensions/libGLcore.so > /dev/null ; then
142
dpkg-divert --remove --rename --package $glxname --divert /usr/lib/nvidia/libGLcore.so.xlibmesa /usr/lib/xorg/modules/extensions/libGLcore.so > /dev/null || true
145
#Remove diversion of /usr/lib/xorg/modules/extensions/libglx.so
146
if dpkg-divert --list $glxname | grep /usr/lib/xorg/modules/extensions/libglx.so > /dev/null ; then
147
rm -f /usr/lib/xorg/modules/extensions/libglx.so > /dev/null || true
148
dpkg-divert --remove --rename --package $glxname --divert /usr/lib/nvidia/libglx.so.xserver-xorg-core /usr/lib/xorg/modules/extensions/libglx.so > /dev/null || true
151
#Remove diversion of /usr/lib/libGL.so.1
152
if dpkg-divert --list $glxname | grep /usr/lib/libGL.so.1 > /dev/null ; then
153
rm -f /usr/lib/libGL.so.1 > /dev/null || true
154
dpkg-divert --remove --rename --package $glxname --divert /usr/lib/nvidia/libGL.so.1.xlibmesa /usr/lib/libGL.so.1 > /dev/null || true
157
#Remove diversion of /usr/lib/libGL.so.1.2
158
if dpkg-divert --list $glxname | grep /usr/lib/libGL.so.1.2 > /dev/null ; then
159
rm -f /usr/lib/libGL.so.1.2 > /dev/null || true
160
dpkg-divert --remove --rename --package $glxname --divert /usr/lib/nvidia/libGL.so.1.2.xlibmesa /usr/lib/libGL.so.1.2 > /dev/null || true
167
if ! [ -d /usr/lib/nvidia ]; then
168
mkdir -p /usr/lib/nvidia
171
# make new diversions
172
# if [ -f /usr/lib/libGL.so.1 ]; then
173
dpkg-divert --add --rename --package nvidia-glx-96 --divert /usr/lib/nvidia/libGL.so.1.xlibmesa /usr/lib/libGL.so.1 > /dev/null
176
# if [ -f /usr/lib/libGL.so.1.2 ]; then
177
dpkg-divert --add --rename --package nvidia-glx-96 --divert /usr/lib/nvidia/libGL.so.1.2.xlibmesa /usr/lib/libGL.so.1.2 > /dev/null
180
# if [ -f /usr/lib/xorg/modules/extensions/libglx.so ]; then
181
dpkg-divert --add --rename --package nvidia-glx-96 --divert /usr/lib/nvidia/libglx.so.xserver-xorg-core /usr/lib/xorg/modules/extensions/libglx.so > /dev/null
184
if [ -n "$HAS_LIB32" ]; then
185
if ! [ -d /usr/lib32/nvidia ]; then
186
mkdir -p /usr/lib32/nvidia
188
dpkg-divert --add --rename --package nvidia-glx-96 --divert /usr/lib32/nvidia/libGL.so.xlibmesa /usr/lib32/libGL.so > /dev/null
189
dpkg-divert --add --rename --package nvidia-glx-96 --divert /usr/lib32/nvidia/libGL.so.1.xlibmesa /usr/lib32/libGL.so.1 > /dev/null
190
dpkg-divert --add --rename --package nvidia-glx-96 --divert /usr/lib32/nvidia/libGL.so.1.2.xlibmesa /usr/lib32/libGL.so.1.2 > /dev/null
193
dpkg-divert --add --rename --package nvidia-glx-96 --divert /usr/lib/nvidia/libGLcore.so.xlibmesa /usr/lib/xorg/modules/extensions/libGLcore.so > /dev/null
201
echo "preinst called with unknown argument \`$1'" >&2
208
# dh_installdeb will replace this with shell code automatically
209
# generated by other debhelper scripts.