1 |
ahmad |
58193 |
|
2 |
|
|
############################################################################## |
3 |
|
|
# This .spec file is dual licensed. It can be distributed either with the # |
4 |
|
|
# terms of GPL version 2 or newer, or with the MIT license included below. # |
5 |
|
|
# Removing either GPL or MIT license when distributing this file is allowed. # |
6 |
|
|
############################################################################## |
7 |
|
|
# - start of MIT license - |
8 |
|
|
# Copyright (c) 2007-2009 Anssi Hannula, Luiz Fernando Capitulino, Colin Guthrie, Thomas Backlund |
9 |
|
|
# |
10 |
|
|
# Permission is hereby granted, free of charge, to any person |
11 |
|
|
# obtaining a copy of this software and associated documentation |
12 |
|
|
# files (the "Software"), to deal in the Software without |
13 |
|
|
# restriction, including without limitation the rights to use, |
14 |
|
|
# copy, modify, merge, publish, distribute, sublicense, and/or sell |
15 |
|
|
# copies of the Software, and to permit persons to whom the |
16 |
|
|
# Software is furnished to do so, subject to the following |
17 |
|
|
# conditions: |
18 |
|
|
# |
19 |
|
|
# The above copyright notice and this permission notice shall be |
20 |
|
|
# included in all copies or substantial portions of the Software. |
21 |
|
|
# |
22 |
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
23 |
|
|
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
24 |
|
|
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
25 |
|
|
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
26 |
|
|
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
27 |
|
|
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
28 |
|
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
29 |
|
|
# OTHER DEALINGS IN THE SOFTWARE. |
30 |
|
|
# - end of MIT license - |
31 |
|
|
|
32 |
|
|
%define name fglrx |
33 |
|
|
|
34 |
anssi |
174609 |
# %amdbuild is used to enable the AMD installer --buildpkg mode. |
35 |
|
|
# The macros version, rel, amd_dir, distsuffix need to be manually defined. |
36 |
ahmad |
58193 |
# The macro mdkversion can also be overridden. |
37 |
anssi |
174609 |
%define amdbuild 0 |
38 |
|
|
%{?_without_amd: %global amdbuild 0} |
39 |
|
|
%{?_with_amd: %global amdbuild 1} |
40 |
ahmad |
58193 |
|
41 |
anssi |
174609 |
%if !%{amdbuild} |
42 |
ahmad |
58193 |
# NOTE: These version definitions are overridden by ati-packager.sh when |
43 |
|
|
# building with the --buildpkg method of the installer. |
44 |
|
|
|
45 |
|
|
# When updating, please add new ids to ldetect-lst (merge2pcitable.pl). |
46 |
|
|
|
47 |
|
|
# version in installer filename: |
48 |
tmb |
233865 |
%define oversion 12-4 |
49 |
ahmad |
58193 |
# Advertised version, for description: |
50 |
tmb |
233865 |
%define mversion 12.4 |
51 |
ahmad |
58193 |
# driver version from ati-packager-helper.sh: |
52 |
tmb |
233865 |
%define iversion 8.961 |
53 |
ahmad |
58193 |
# release: |
54 |
tmb |
247581 |
%define rel 2 |
55 |
ahmad |
58193 |
# rpm version (adds 0 in order to not go backwards if iversion is two-decimal) |
56 |
|
|
%define version %{iversion}%([ $(echo %iversion | wc -c) -le 5 ] && echo 0) |
57 |
|
|
%else |
58 |
anssi |
174609 |
# Best-effort if AMD has made late changes (in amdbuild mode) |
59 |
ahmad |
58193 |
%define _default_patch_fuzz 2 |
60 |
|
|
%endif |
61 |
|
|
|
62 |
|
|
%define priority 1000 |
63 |
|
|
%define release %mkrel %{rel} |
64 |
|
|
|
65 |
|
|
# set to 1 for a prerelease driver with an ubuntu tarball as source |
66 |
anssi |
93515 |
%define ubuntu_prerelease 0 |
67 |
ahmad |
58193 |
|
68 |
|
|
%define driverpkgname x11-driver-video-fglrx |
69 |
|
|
%define drivername fglrx |
70 |
|
|
%define xorg_version pic |
71 |
|
|
# highest supported videodrv abi |
72 |
ahmad |
79744 |
%define videodrv_abi 10 |
73 |
ahmad |
58193 |
%define xorg_libdir %{_libdir}/xorg |
74 |
|
|
%define xorg_dridir %{_libdir}/dri |
75 |
|
|
%define xorg_dridir32 %{_prefix}/lib/dri |
76 |
|
|
%define ld_so_conf_file ati.conf |
77 |
|
|
%define ati_extdir %{_libdir}/%{drivername}/xorg |
78 |
|
|
%define xorg_extra_modules %{_libdir}/xorg/extra-modules |
79 |
|
|
%define bundle_qt 0 |
80 |
|
|
# The entry in Cards+ this driver should be associated with, if there is |
81 |
|
|
# no entry in ldetect-lst default pcitable: |
82 |
|
|
# cooker ldetect-lst should be up-to-date |
83 |
|
|
%define ldetect_cards_name %nil |
84 |
|
|
|
85 |
anssi |
174609 |
%if %{amdbuild} |
86 |
|
|
# AMD/ATI cards not listed in main ldetect-lst pcitable are not likely |
87 |
ahmad |
58193 |
# to be supported by radeon which is from the same time period. |
88 |
|
|
# radeonhd has greater chance of working due to it not using ID lists. |
89 |
|
|
# (main pcitable entries override our entries) |
90 |
anssi |
228613 |
%define ldetect_cards_name ATI Radeon HD 2000 and later without free driver (vesa/fglrx) |
91 |
|
|
%endif |
92 |
|
|
|
93 |
|
|
%if %{mgaversion} <= 1 |
94 |
ahmad |
58193 |
%define ldetect_cards_name ATI Radeon HD 2000 and later (vesa/fglrx) |
95 |
|
|
%endif |
96 |
|
|
|
97 |
|
|
%ifarch %ix86 |
98 |
|
|
%define xverdir x%{xorg_version} |
99 |
|
|
%define archdir arch/x86 |
100 |
|
|
%endif |
101 |
|
|
%ifarch x86_64 |
102 |
|
|
%define xverdir x%{xorg_version}_64a |
103 |
|
|
%define archdir arch/x86_64 |
104 |
|
|
%endif |
105 |
|
|
|
106 |
anssi |
174609 |
# Other packages should not require any AMD specific proprietary libraries |
107 |
ahmad |
58193 |
# (if that is really necessary, we may want to split that specific lib out), |
108 |
|
|
# and this package should not be pulled in when libGL.so.1 is required. |
109 |
|
|
%define _provides_exceptions \\.so |
110 |
|
|
|
111 |
|
|
%define qt_requires_exceptions %nil |
112 |
|
|
%if %{bundle_qt} |
113 |
|
|
# do not require Qt if it is bundled |
114 |
|
|
%define qt_requires_exceptions \\|libQtCore\\.so\\|libQtGui\\.so |
115 |
|
|
%endif |
116 |
|
|
|
117 |
|
|
# do not require fglrx stuff, they are all included |
118 |
anssi |
174610 |
%define common_requires_exceptions libfglrx.\\+\\.so\\|libati.\\+\\.so\\|libOpenCL\\.so%{qt_requires_exceptions} |
119 |
ahmad |
58193 |
|
120 |
|
|
%ifarch x86_64 |
121 |
|
|
# (anssi) Allow installing of 64-bit package if the runtime dependencies |
122 |
|
|
# of 32-bit libraries are not satisfied. If a 32-bit package that requires |
123 |
|
|
# libGL.so.1 is installed, the 32-bit mesa libs are pulled in and that will |
124 |
|
|
# pull the dependencies of 32-bit fglrx libraries in as well. |
125 |
|
|
%define _requires_exceptions %common_requires_exceptions\\|lib.*so\\.[^(]\\+\\(([^)]\\+)\\)\\?$ |
126 |
|
|
%else |
127 |
|
|
%define _requires_exceptions %common_requires_exceptions |
128 |
|
|
%endif |
129 |
|
|
|
130 |
|
|
# (anssi) Do not require qt for amdnotifyui (used as event notifier, as |
131 |
|
|
# of 04/2010 only for DisplayPort failures). installing |
132 |
|
|
# fglrx-control-center will satisfy the dependency. |
133 |
|
|
# It is not moved to fglrx-control-center as due to its small size it may |
134 |
|
|
# be wanted on e.g. KDE Ones, which can't have the full fglrx-control-center, |
135 |
|
|
# and due to it having nothing to do with fglrx-control-center. |
136 |
|
|
%define _exclude_files_from_autoreq ^%{_sbindir}/amdnotifyui$ |
137 |
|
|
|
138 |
anssi |
174609 |
Summary: AMD proprietary X.org driver and libraries |
139 |
ahmad |
58193 |
Name: %{name} |
140 |
|
|
Version: %{version} |
141 |
|
|
Release: %{release} |
142 |
anssi |
174609 |
%if !%{amdbuild} |
143 |
ahmad |
58193 |
%if !%{ubuntu_prerelease} |
144 |
tmb |
216519 |
Source0: https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/amd-driver-installer-%{oversion}-x86.x86_64.run |
145 |
ahmad |
58193 |
%else |
146 |
|
|
Source0: fglrx-installer_%{iversion}.orig.tar.gz |
147 |
|
|
%endif |
148 |
|
|
%endif |
149 |
|
|
Source1: ati-packager.sh |
150 |
|
|
Source2: atieventsd.init |
151 |
anssi |
174609 |
%if !%{amdbuild} |
152 |
ahmad |
58193 |
# Generates fglrx.spec from Mandriva SVN for use in AMD installer |
153 |
|
|
# archive. Requires kenobi access for fetching names for changelog. |
154 |
|
|
# (for manual use) |
155 |
|
|
Source10: generate-fglrx-spec-from-svn.sh |
156 |
|
|
%endif |
157 |
|
|
Patch3: fglrx-authfile-locations.patch |
158 |
|
|
Patch9: fglrx-make_sh-custom-kernel-dir.patch |
159 |
|
|
# do not probe /proc for kernel info as we may be building for a |
160 |
|
|
# different kernel |
161 |
|
|
Patch10: fglrx-make_sh-no-proc-probe.patch |
162 |
tmb |
216537 |
# fix build with 3.2.8+ series kernels |
163 |
tmb |
233865 |
Patch11: amd-3.2.9-no-constant-TS_USEDFPU.patch |
164 |
|
|
Patch12: amd-3.3.0-new_thread_structure.patch |
165 |
tmb |
247581 |
# fix build with 3.4 serie kernels |
166 |
|
|
Patch13: fglrx-needs-cpu_possible_map.patch |
167 |
ahmad |
58193 |
|
168 |
|
|
License: Freeware |
169 |
|
|
URL: http://ati.amd.com/support/driver.html |
170 |
|
|
Group: System/Kernel and hardware |
171 |
|
|
ExclusiveArch: %{ix86} x86_64 |
172 |
anssi |
174609 |
%if !%{amdbuild} |
173 |
ahmad |
58193 |
BuildRequires: mesagl-devel |
174 |
|
|
BuildRequires: libxmu-devel |
175 |
|
|
BuildRequires: libxaw-devel |
176 |
|
|
BuildRequires: libxp-devel |
177 |
|
|
BuildRequires: libxtst-devel |
178 |
|
|
BuildRequires: imake |
179 |
|
|
# Used by atieventsd: |
180 |
|
|
Suggests: acpid |
181 |
|
|
BuildRequires: ImageMagick |
182 |
|
|
%endif |
183 |
|
|
|
184 |
|
|
%description |
185 |
anssi |
174609 |
Source package of the AMD proprietary driver. Binary packages are |
186 |
ahmad |
58195 |
named x11-driver-video-fglrx on %{_vendor}. |
187 |
anssi |
174609 |
%if !%{amdbuild} |
188 |
|
|
This package corresponds to AMD Catalyst version %mversion. |
189 |
ahmad |
58193 |
%endif |
190 |
|
|
|
191 |
|
|
%package -n %{driverpkgname} |
192 |
anssi |
174609 |
Summary: AMD proprietary X.org driver and libraries |
193 |
ahmad |
58193 |
Group: System/Kernel and hardware |
194 |
|
|
Requires(post): update-alternatives >= 1.9.0 |
195 |
|
|
Requires(postun): update-alternatives |
196 |
|
|
Obsoletes: ati_igp |
197 |
|
|
Suggests: %{drivername}-control-center = %{version} |
198 |
|
|
Obsoletes: ati < %{version}-%{release} |
199 |
|
|
Provides: ati = %{version}-%{release} |
200 |
|
|
Requires: kmod(fglrx) = %{version} |
201 |
|
|
Requires: x11-server-common >= 1.9 |
202 |
anssi |
174609 |
%if !%{amdbuild} |
203 |
ahmad |
58193 |
# Conflict with the next videodrv ABI break. |
204 |
|
|
# The driver may support multiple ABI versions and therefore |
205 |
|
|
# a strict version-specific requirement would not be enough. |
206 |
ahmad |
66360 |
# (ahmad) since X Server 1.10 ABI is now 10 (upstream jumped from 8 to 10) |
207 |
|
|
# make it +2 for now |
208 |
anssi |
87413 |
### This is problematic as it can cause removal of xserver instead (Anssi 04/2011) |
209 |
|
|
### Conflicts: xserver-abi(videodrv-%(echo $((%{videodrv_abi} + 1)))) |
210 |
ahmad |
58193 |
%endif |
211 |
|
|
Provides: atieventsd = %{version}-%{release} |
212 |
|
|
Obsoletes: atieventsd < %{version}-%{release} |
213 |
|
|
|
214 |
|
|
%description -n %{driverpkgname} |
215 |
anssi |
174609 |
AMD proprietary X.org graphics driver, related libraries and |
216 |
ahmad |
58193 |
configuration tools. |
217 |
|
|
|
218 |
anssi |
174609 |
NOTE: You should use XFdrake to configure your AMD card. The |
219 |
ahmad |
58193 |
correct packages will be automatically installed and configured. |
220 |
|
|
|
221 |
|
|
If you do not want to use XFdrake, see README.manual-setup. |
222 |
|
|
|
223 |
|
|
The graphical configuration utility, AMD Catalyst Control Center |
224 |
|
|
Linux Edition, is contained in the package |
225 |
|
|
%{drivername}-control-center. |
226 |
anssi |
174609 |
%if !%{amdbuild} |
227 |
|
|
This package corresponds to AMD Catalyst version %mversion. |
228 |
ahmad |
58193 |
%endif |
229 |
|
|
|
230 |
|
|
%package -n %{drivername}-control-center |
231 |
|
|
Summary: AMD Catalyst Control Center Linux Edition |
232 |
|
|
Group: System/Kernel and hardware |
233 |
|
|
Requires: %{driverpkgname} = %{version} |
234 |
|
|
Obsoletes: ati-utils < %{version}-%{release} |
235 |
|
|
Provides: ati-utils = %{version}-%{release} |
236 |
|
|
Provides: amdcccle = %{version}-%{release} |
237 |
|
|
Obsoletes: ati-ccc < %{version}-%{release} |
238 |
|
|
Obsoletes: ati-control-center < %{version}-%{release} |
239 |
|
|
Provides: ati-control-center = %{version}-%{release} |
240 |
|
|
%if !%{bundle_qt} |
241 |
|
|
# 2009.0 and 2009.1 have this one in updates only |
242 |
|
|
Requires: %{_lib}qtcore4 >= 3:4.5.2 |
243 |
|
|
%endif |
244 |
|
|
|
245 |
|
|
%description -n %{drivername}-control-center |
246 |
|
|
AMD Catalyst Control Center Linux Edition, a graphical configuration |
247 |
anssi |
174609 |
utility for the AMD proprietary X.org driver. |
248 |
|
|
%if !%{amdbuild} |
249 |
|
|
This package corresponds to AMD Catalyst version %mversion. |
250 |
ahmad |
58193 |
%endif |
251 |
|
|
|
252 |
|
|
%package -n dkms-%{drivername} |
253 |
anssi |
174609 |
Summary: AMD proprietary kernel module |
254 |
ahmad |
58193 |
Group: System/Kernel and hardware |
255 |
|
|
Requires: dkms |
256 |
|
|
Requires(post): dkms |
257 |
|
|
Requires(preun): dkms |
258 |
|
|
Obsoletes: dkms-ati < %{version}-%{release} |
259 |
|
|
Provides: dkms-ati = %{version}-%{release} |
260 |
|
|
|
261 |
|
|
%description -n dkms-%{drivername} |
262 |
anssi |
174609 |
AMD proprietary kernel module. This is to be used with the |
263 |
ahmad |
58193 |
%{driverpkgname} package. |
264 |
anssi |
174609 |
%if !%{amdbuild} |
265 |
|
|
This package corresponds to AMD Catalyst version %mversion. |
266 |
ahmad |
58193 |
%endif |
267 |
|
|
|
268 |
|
|
%package -n %{drivername}-devel |
269 |
anssi |
174609 |
Summary: AMD proprietary development libraries and headers |
270 |
ahmad |
58193 |
Group: Development/C |
271 |
|
|
Requires: %{driverpkgname} = %{version}-%{release} |
272 |
|
|
Obsoletes: ati-devel < %{version}-%{release} |
273 |
|
|
Provides: ati-devel = %{version}-%{release} |
274 |
|
|
|
275 |
|
|
%description -n %{drivername}-devel |
276 |
anssi |
174609 |
AMD proprietary development libraries and headers. This package is |
277 |
ahmad |
58193 |
not required for normal use. |
278 |
|
|
|
279 |
|
|
The main driver package name is %{driverpkgname}. |
280 |
|
|
|
281 |
anssi |
174610 |
%package -n %{drivername}-opencl |
282 |
|
|
Summary: OpenCL libraries for the AMD proprietary driver |
283 |
|
|
Group: System/Kernel and hardware |
284 |
|
|
Requires: kmod(fglrx) = %{version} |
285 |
|
|
Conflicts: x11-driver-video-fglrx < 8.911-2 |
286 |
|
|
|
287 |
|
|
%description -n %{drivername}-opencl |
288 |
|
|
OpenCL libraries for the AMD proprietary driver. This package is not |
289 |
|
|
required for normal use, it provides libraries to use AMD cards for High |
290 |
|
|
Performance Computing (HPC). |
291 |
|
|
|
292 |
ahmad |
58193 |
%prep |
293 |
|
|
%setup -T -c |
294 |
anssi |
174609 |
%if %{amdbuild} |
295 |
|
|
ln -s %{amd_dir}/%{xverdir} %{amd_dir}/arch . |
296 |
ahmad |
58193 |
# patches affects common, so we cannot symlink it: |
297 |
anssi |
174609 |
cp -a %{amd_dir}/common . |
298 |
ahmad |
58193 |
%else |
299 |
|
|
%if %ubuntu_prerelease |
300 |
|
|
%setup -q -T -D -a 0 |
301 |
|
|
ln -s . common |
302 |
|
|
%else |
303 |
|
|
sh %{SOURCE0} --extract . |
304 |
|
|
%endif |
305 |
|
|
|
306 |
|
|
mkdir fglrx_tools |
307 |
|
|
tar -xzf common/usr/src/ati/fglrx_sample_source.tgz -C fglrx_tools |
308 |
|
|
%if %ubuntu_prerelease |
309 |
anssi |
174609 |
[ -d "%xverdir" ] || (echo This driver version does not support your X.org server. Please wait for a new release from AMD. >&2; false) |
310 |
ahmad |
58193 |
%else |
311 |
|
|
[ "%iversion" = "$(./ati-packager-helper.sh --version)" ] |
312 |
|
|
%endif |
313 |
|
|
%endif |
314 |
|
|
|
315 |
|
|
cd common # ensure patches do not touch outside |
316 |
|
|
%patch3 -p2 |
317 |
|
|
%patch9 -p2 |
318 |
|
|
%patch10 -p2 |
319 |
tmb |
216537 |
%patch11 -p2 |
320 |
tmb |
233865 |
%patch12 -p2 |
321 |
tmb |
247581 |
%patch13 -p2 |
322 |
ahmad |
58193 |
cd .. |
323 |
|
|
|
324 |
|
|
cat > README.install.urpmi <<EOF |
325 |
|
|
This driver is for ATI Radeon HD 2000 and newer cards. |
326 |
anssi |
174609 |
Reconfiguring is not necessary when upgrading from a previous %{_vendor} AMD |
327 |
ahmad |
58193 |
driver package. |
328 |
|
|
|
329 |
anssi |
174609 |
Use XFdrake to configure X to use the correct AMD driver. Any needed |
330 |
ahmad |
58193 |
packages will be automatically installed if not already present. |
331 |
|
|
1. Run XFdrake as root. |
332 |
|
|
2. Go to the Graphics Card list. |
333 |
|
|
3. Select your card (it is usually already autoselected). |
334 |
|
|
4. Answer any questions asked and then quit. |
335 |
|
|
|
336 |
|
|
If you do not want to use XFdrake or it does not work correctly for |
337 |
|
|
you, see README.manual-setup for manual installation instructions. |
338 |
|
|
EOF |
339 |
|
|
|
340 |
|
|
cat > README.manual-setup <<EOF |
341 |
anssi |
174609 |
This file describes the procedure for the manual installation of this AMD |
342 |
ahmad |
58193 |
driver package. You can find the instructions for the recommended automatic |
343 |
|
|
installation in the file 'README.install.urpmi' in this directory. |
344 |
|
|
|
345 |
|
|
- Open %{_sysconfdir}/X11/xorg.conf and make the following changes: |
346 |
|
|
o Change the Driver to "fglrx" in the Device section |
347 |
|
|
o Make the line below the only 'glx' related line in the Module section: |
348 |
|
|
Load "glx" |
349 |
|
|
o Remove any 'ModulePath' lines from the Files section |
350 |
|
|
- Run "update-alternatives --set gl_conf %{_sysconfdir}/ld.so.conf.d/GL/%{ld_so_conf_file}" as root. |
351 |
|
|
- Run "ldconfig" as root. |
352 |
|
|
EOF |
353 |
|
|
|
354 |
|
|
cat > README.8.600.upgrade.urpmi <<EOF |
355 |
|
|
REMOVED GRAPHICS DRIVER SUPPORT NOTIFICATION: |
356 |
anssi |
174609 |
Versions 8.600 and later of AMD Proprietary Graphics driver (fglrx) only |
357 |
ahmad |
58193 |
support Radeon HD 2000 (r600) or newer cards. |
358 |
|
|
|
359 |
|
|
If you have an older Radeon card or are unsure, please reconfigure your |
360 |
|
|
driver: |
361 |
|
|
1. Run XFdrake as root or select Graphical server configuration in |
362 |
ahmad |
58195 |
%{_vendor} Control Center. |
363 |
ahmad |
58193 |
2. Go to the Graphics Card list. |
364 |
|
|
3. Select your card (it is usually already autoselected). |
365 |
|
|
4. Answer any questions asked and then quit. |
366 |
|
|
EOF |
367 |
|
|
|
368 |
|
|
%build |
369 |
anssi |
174609 |
%if !%{amdbuild} |
370 |
|
|
# %amdbuild is done with minimal buildrequires |
371 |
ahmad |
58193 |
cd fglrx_tools/fgl_glxgears |
372 |
|
|
xmkmf |
373 |
|
|
%make RMAN=/bin/true CC="%__cc %optflags -I../../common/usr/include" EXTRA_LDOPTIONS="%{?ldflags}" |
374 |
|
|
cd - |
375 |
|
|
%endif |
376 |
|
|
|
377 |
|
|
%install |
378 |
|
|
rm -rf %{buildroot} |
379 |
|
|
|
380 |
|
|
# dkms |
381 |
|
|
install -d -m755 %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release} |
382 |
|
|
cp -a common/lib/modules/fglrx/build_mod/* %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release} |
383 |
|
|
cp -a %{archdir}/lib/modules/fglrx/build_mod/* %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release} |
384 |
|
|
|
385 |
|
|
#install -d -m755 %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/patches |
386 |
|
|
#install -m644 %{SOURCE3} %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/patches |
387 |
|
|
|
388 |
|
|
cat > %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/dkms.conf <<EOF |
389 |
|
|
PACKAGE_NAME="%{drivername}" |
390 |
|
|
PACKAGE_VERSION="%{version}-%{release}" |
391 |
|
|
BUILT_MODULE_NAME[0]="fglrx" |
392 |
|
|
DEST_MODULE_LOCATION[0]="/kernel/drivers/char/drm" |
393 |
|
|
# uname_v set to none so that make.sh doesn't try to use "uname -v" to see |
394 |
|
|
# if the target kernel is SMP (we may be compiling for a different kernel) |
395 |
|
|
MAKE[0]="sh make.sh --uname_r=\${kernelver} --uname_v=none --kernel-dir=\${kernel_source_dir} --no-proc-probe --norootcheck" |
396 |
|
|
CLEAN="rm -rf 2.6.x/.tmp_versions; make -C2.6.x clean" |
397 |
|
|
AUTOINSTALL="yes" |
398 |
|
|
EOF |
399 |
|
|
|
400 |
|
|
# headers |
401 |
|
|
install -d -m755 %{buildroot}%{_includedir} |
402 |
|
|
cp -a common/usr/include/* %{buildroot}%{_includedir} |
403 |
|
|
chmod 0644 %{buildroot}%{_includedir}/*/*.h |
404 |
|
|
|
405 |
|
|
# install binaries |
406 |
|
|
install -d -m755 %{buildroot}%{_sbindir} |
407 |
|
|
install -m755 %{archdir}/usr/sbin/* %{buildroot}%{_sbindir} |
408 |
|
|
install -m755 common/usr/sbin/* %{buildroot}%{_sbindir} |
409 |
|
|
install -d -m755 %{buildroot}%{_bindir} |
410 |
anssi |
174610 |
install -m755 %{archdir}/usr/bin/* %{buildroot}%{_bindir} |
411 |
ahmad |
58193 |
install -m755 %{archdir}/usr/X11R6/bin/* %{buildroot}%{_bindir} |
412 |
|
|
install -m755 common/usr/X11R6/bin/* %{buildroot}%{_bindir} |
413 |
anssi |
174609 |
%if !%{amdbuild} |
414 |
ahmad |
58193 |
# install self-built binaries |
415 |
|
|
install -m755 fglrx_tools/fgl_glxgears/fgl_glxgears %{buildroot}%{_bindir} |
416 |
|
|
%endif |
417 |
anssi |
174608 |
# compatibility symlink |
418 |
|
|
ln -s aticonfig %{buildroot}%{_bindir}/amdconfig |
419 |
ahmad |
58193 |
|
420 |
|
|
# atieventsd initscript |
421 |
|
|
install -d -m755 %{buildroot}%{_initrddir} |
422 |
|
|
install -m755 %{SOURCE2} %{buildroot}%{_initrddir}/atieventsd |
423 |
|
|
|
424 |
|
|
# amdcccle data files |
425 |
|
|
install -d -m755 %{buildroot}%{_datadir}/ati/amdcccle |
426 |
|
|
rm -f amdcccle.langs |
427 |
anssi |
97724 |
for fullname in common/usr/share/ati/amdcccle/*.qm; do |
428 |
|
|
file=$(basename $fullname) |
429 |
|
|
lang=${file#*_} |
430 |
ahmad |
58193 |
lang=${lang%%.qm} |
431 |
anssi |
97724 |
%if !%{bundle_qt} |
432 |
|
|
# qt localization not necessary with non-bundled qt |
433 |
|
|
[ "$file" = "${file#qt}" ] || continue |
434 |
|
|
%endif |
435 |
|
|
install -m644 $fullname %{buildroot}%{_datadir}/ati/amdcccle |
436 |
ahmad |
58193 |
echo "%%lang($lang) %{_datadir}/ati/amdcccle/$file" >> amdcccle.langs |
437 |
|
|
done |
438 |
|
|
|
439 |
|
|
# amdcccle super-user mode |
440 |
|
|
install -d -m755 %{buildroot}%{_sysconfdir}/security/console.apps |
441 |
|
|
install -d -m755 %{buildroot}%{_sysconfdir}/pam.d |
442 |
|
|
install -m644 common/etc/security/console.apps/* %{buildroot}%{_sysconfdir}/security/console.apps |
443 |
|
|
ln -s su %{buildroot}%{_sysconfdir}/pam.d/amdcccle-su |
444 |
|
|
|
445 |
|
|
# man pages |
446 |
|
|
install -d -m755 %{buildroot}%{_mandir}/man1 %{buildroot}%{_mandir}/man8 |
447 |
|
|
install -m644 common/usr/share/man/man8/* %{buildroot}%{_mandir}/man8 |
448 |
|
|
|
449 |
|
|
# menu entry |
450 |
|
|
install -d -m755 %{buildroot}%{_datadir}/applications |
451 |
|
|
install -m644 common/usr/share/applications/* %{buildroot}%{_datadir}/applications |
452 |
|
|
sed -i 's,^Icon=.*$,Icon=%{drivername}-amdcccle,' %{buildroot}%{_datadir}/applications/*.desktop |
453 |
|
|
# control center doesn't really use GNOME/KDE libraries: |
454 |
|
|
sed -i 's,GNOME;KDE;,,' %{buildroot}%{_datadir}/applications/*.desktop |
455 |
|
|
|
456 |
|
|
# icons |
457 |
|
|
install -d -m755 %{buildroot}%{_miconsdir} %{buildroot}%{_iconsdir} %{buildroot}%{_liconsdir} |
458 |
anssi |
174609 |
%if !%{amdbuild} |
459 |
ahmad |
58193 |
convert common/usr/share/icons/ccc_large.xpm -resize 16x16 %{buildroot}%{_miconsdir}/%{drivername}-amdcccle.png |
460 |
|
|
convert common/usr/share/icons/ccc_large.xpm -resize 32x32 %{buildroot}%{_iconsdir}/%{drivername}-amdcccle.png |
461 |
|
|
convert common/usr/share/icons/ccc_large.xpm -resize 48x48 %{buildroot}%{_liconsdir}/%{drivername}-amdcccle.png |
462 |
|
|
%else |
463 |
|
|
install -m644 common/usr/share/icons/ccc_large.xpm %{buildroot}%{_iconsdir}/%{drivername}-amdcccle.xpm |
464 |
|
|
%endif |
465 |
|
|
|
466 |
|
|
# install libraries |
467 |
|
|
install -d -m755 %{buildroot}%{_libdir}/%{drivername} |
468 |
|
|
install -m755 %{archdir}/usr/X11R6/%{_lib}/*.* %{buildroot}%{_libdir}/%{drivername} |
469 |
anssi |
93515 |
install -m755 %{archdir}/usr/X11R6/%{_lib}/fglrx/* %{buildroot}%{_libdir}/%{drivername} |
470 |
anssi |
97724 |
install -m755 %{archdir}/usr/%{_lib}/*.* %{buildroot}%{_libdir}/%{drivername} |
471 |
anssi |
93515 |
mv %{buildroot}%{_libdir}/%{drivername}/{fglrx-,}libGL.so.1.2 |
472 |
|
|
chmod 0644 %{buildroot}%{_libdir}/%{drivername}/*.a |
473 |
ahmad |
58193 |
/sbin/ldconfig -n %{buildroot}%{_libdir}/%{drivername} |
474 |
|
|
# create devel symlinks |
475 |
|
|
for file in %{buildroot}%{_libdir}/%{drivername}/*.so.*.*; do |
476 |
|
|
ln -s $(basename $file) ${file%%.so*}.so; |
477 |
|
|
done |
478 |
|
|
%ifarch x86_64 |
479 |
|
|
install -d -m755 %{buildroot}%{_prefix}/lib/%{drivername} |
480 |
anssi |
93515 |
install -m755 arch/x86/usr/X11R6/lib/fglrx/* %{buildroot}%{_prefix}/lib/%{drivername} |
481 |
anssi |
97724 |
install -m755 arch/x86/usr/lib/*.* %{buildroot}%{_prefix}/lib/%{drivername} |
482 |
anssi |
93515 |
mv %{buildroot}%{_prefix}/lib/%{drivername}/{fglrx-,}libGL.so.1.2 |
483 |
ahmad |
58193 |
/sbin/ldconfig -n %{buildroot}%{_prefix}/lib/%{drivername} |
484 |
|
|
# create devel symlinks |
485 |
|
|
for file in %{buildroot}%{_prefix}/lib/%{drivername}/*.so.*.*; do |
486 |
|
|
ln -s $(basename $file) ${file%%.so*}.so; |
487 |
|
|
done |
488 |
|
|
%endif |
489 |
|
|
|
490 |
|
|
%if %{bundle_qt} |
491 |
|
|
# install the bundled Qt4 libs on distros with qt4 < 4.4.2 |
492 |
|
|
install -d -m755 %{buildroot}%{_libdir}/%{drivername}-qt4 |
493 |
|
|
install -m755 %{archdir}/usr/share/ati/%{_lib}/* %{buildroot}%{_libdir}/%{drivername}-qt4 |
494 |
|
|
# RPATH of amdcccle points to datadir, we create a symlink there: |
495 |
|
|
install -d -m755 %{buildroot}/usr/share/ati |
496 |
|
|
ln -s %{_libdir}/%{drivername}-qt4 %{buildroot}/usr/share/ati/%{_lib} |
497 |
|
|
%endif |
498 |
|
|
|
499 |
|
|
# install X.org files |
500 |
|
|
install -d -m755 %{buildroot}%{xorg_libdir}/modules/drivers |
501 |
|
|
install -m755 %{xverdir}/usr/X11R6/%{_lib}/modules/drivers/*.so* %{buildroot}%{xorg_libdir}/modules/drivers |
502 |
|
|
install -d -m755 %{buildroot}%{xorg_libdir}/modules/linux |
503 |
|
|
install -m755 %{xverdir}/usr/X11R6/%{_lib}/modules/linux/*.so* %{buildroot}%{xorg_libdir}/modules/linux |
504 |
|
|
install -m644 %{xverdir}/usr/X11R6/%{_lib}/modules/*.*o %{buildroot}%{xorg_libdir}/modules |
505 |
|
|
install -d -m755 %{buildroot}%{ati_extdir} |
506 |
anssi |
93515 |
install -m755 %{xverdir}/usr/X11R6/%{_lib}/modules/extensions/fglrx/*.so* %{buildroot}%{ati_extdir} |
507 |
|
|
mv %{buildroot}%{ati_extdir}/{fglrx-,}libglx.so |
508 |
ahmad |
58193 |
|
509 |
|
|
# etc files |
510 |
|
|
install -d -m755 %{buildroot}%{_sysconfdir}/ati |
511 |
|
|
install -m644 common/etc/ati/* %{buildroot}%{_sysconfdir}/ati |
512 |
|
|
chmod 0755 %{buildroot}%{_sysconfdir}/ati/*.sh |
513 |
|
|
|
514 |
|
|
# dri libraries |
515 |
|
|
install -d -m755 %{buildroot}%{xorg_dridir} |
516 |
|
|
install -m755 %{archdir}/usr/X11R6/%{_lib}/modules/dri/* %{buildroot}%{xorg_dridir} |
517 |
|
|
%ifarch x86_64 |
518 |
|
|
install -d -m755 %{buildroot}%{xorg_dridir32} |
519 |
|
|
install -m755 arch/x86/usr/X11R6/lib/modules/dri/* %{buildroot}%{xorg_dridir32} |
520 |
|
|
%endif |
521 |
|
|
|
522 |
|
|
# ld.so.conf |
523 |
|
|
install -d -m755 %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL |
524 |
|
|
echo "%{_libdir}/%{drivername}" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL/%{ld_so_conf_file} |
525 |
|
|
%ifarch x86_64 |
526 |
|
|
echo "%{_prefix}/lib/%{drivername}" >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL/%{ld_so_conf_file} |
527 |
|
|
%endif |
528 |
|
|
touch %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL.conf |
529 |
|
|
|
530 |
|
|
# XvMCConfig |
531 |
anssi |
87413 |
install -d -m755 %{buildroot}%{_sysconfdir}/%{drivername} |
532 |
ahmad |
58193 |
echo "libAMDXvBA.so.1" > %{buildroot}%{_sysconfdir}/%{drivername}/XvMCConfig |
533 |
|
|
|
534 |
anssi |
174610 |
# OpenCL icd |
535 |
|
|
install -d -m755 %{buildroot}%{_sysconfdir}/OpenCL/vendors |
536 |
|
|
install -m644 %{archdir}/etc/OpenCL/vendors/* %{buildroot}%{_sysconfdir}/OpenCL/vendors |
537 |
|
|
%ifarch x86_64 |
538 |
|
|
install -m644 arch/x86/etc/OpenCL/vendors/* %{buildroot}%{_sysconfdir}/OpenCL/vendors |
539 |
|
|
%endif |
540 |
|
|
|
541 |
anssi |
174609 |
# PowerXpress intel - use Mesa libGL but still keep AMD specific libs in search path |
542 |
anssi |
100286 |
echo "%{_libdir}/mesa" > %{buildroot}%{_sysconfdir}/%{drivername}/pxpress-free.ld.so.conf |
543 |
|
|
%ifarch x86_64 |
544 |
|
|
echo "%{_prefix}/lib/mesa" >> %{buildroot}%{_sysconfdir}/%{drivername}/pxpress-free.ld.so.conf |
545 |
|
|
%endif |
546 |
|
|
cat %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL/%{ld_so_conf_file} >> %{buildroot}%{_sysconfdir}/%{drivername}/pxpress-free.ld.so.conf |
547 |
anssi |
97724 |
|
548 |
ahmad |
58193 |
# install ldetect-lst pcitable files for backports |
549 |
|
|
sed -ne 's|^\s*FGL_ASIC_ID(\(0x....\)).*|\1|gp' common/lib/modules/fglrx/build_mod/fglrxko_pci_ids.h | tr '[:upper:]' '[:lower:]' | sort -u | sed 's,^.*$,0x1002\t\0\t"%{ldetect_cards_name}",' > pcitable.fglrx.lst |
550 |
|
|
[ $(stat -c%s pcitable.fglrx.lst) -gt 500 ] |
551 |
|
|
%if "%{ldetect_cards_name}" != "" |
552 |
|
|
install -d -m755 %{buildroot}%{_datadir}/ldetect-lst/pcitable.d |
553 |
|
|
gzip -c pcitable.fglrx.lst > %{buildroot}%{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz |
554 |
|
|
%endif |
555 |
|
|
|
556 |
anssi |
87413 |
install -d -m755 %{buildroot}%{_datadir}/ati |
557 |
|
|
cat > %{buildroot}%{_datadir}/ati/amd-uninstall.sh <<EOF |
558 |
|
|
#!/bin/bash |
559 |
|
|
# parameters as per AMD: [--force | --dry-run] |
560 |
|
|
dryrun= |
561 |
|
|
while [ -n "\$*" ]; do |
562 |
|
|
case "\$1" in |
563 |
|
|
--dryrun) dryrun="--test" ;; |
564 |
|
|
--force) ;; |
565 |
anssi |
100285 |
--preserve) ;; |
566 |
|
|
--quick) ;; |
567 |
|
|
--getUninstallVersion) exit 2 ;; |
568 |
anssi |
87413 |
*) echo "Unknown option for \$0." >&2 ;; |
569 |
|
|
esac |
570 |
|
|
shift |
571 |
|
|
done |
572 |
|
|
|
573 |
|
|
# AMD documentation suggests doing rpm -V and use --force to override it, |
574 |
|
|
# but it doesn't make sense with the update-alternatives setup, so we just |
575 |
|
|
# check package presence. |
576 |
|
|
pkgs= |
577 |
|
|
rpm -q --quiet %{driverpkgname} && pkgs="\$pkgs %{driverpkgname}" |
578 |
|
|
rpm -q --quiet dkms-%{drivername} && pkgs="\$pkgs dkms-%{drivername}" |
579 |
|
|
rpm -q --quiet %{drivername}-control-center && pkgs="\$pkgs %{drivername}-control-center" |
580 |
|
|
rpm -q --quiet %{drivername}-devel && pkgs="\$pkgs %{drivername}-devel" |
581 |
|
|
[ -n "\$pkgs" ] || { echo "The AMD proprietary driver is not installed." >&2; exit 1; } |
582 |
|
|
urpme --auto \$dryrun \$pkgs || { echo "Failed to uninstall the AMD proprietary driver." >&2; exit 1; } |
583 |
|
|
[ -n "\$dryrun" ] || echo "The AMD proprietary driver has been uninstalled." |
584 |
|
|
EOF |
585 |
|
|
chmod 0755 %{buildroot}%{_datadir}/ati/amd-uninstall.sh |
586 |
|
|
|
587 |
anssi |
97724 |
# PowerXpress (switchable graphics) |
588 |
|
|
# - path hardcoded into driver |
589 |
|
|
install -d -m755 %{buildroot}%{_libdir}/fglrx |
590 |
|
|
cat > %{buildroot}%{_libdir}/fglrx/switchlibGL <<EOF |
591 |
|
|
#!/bin/sh |
592 |
|
|
|
593 |
|
|
amd_target="%{_sysconfdir}/ld.so.conf.d/GL/%{ld_so_conf_file}" |
594 |
|
|
intel_target="%{_sysconfdir}/%{drivername}/pxpress-free.ld.so.conf" |
595 |
|
|
|
596 |
|
|
case \$1 in |
597 |
|
|
amd) |
598 |
|
|
update-alternatives --set gl_conf "\$amd_target" >/dev/null |
599 |
anssi |
100206 |
ldconfig -X |
600 |
anssi |
97724 |
;; |
601 |
|
|
intel) |
602 |
|
|
update-alternatives --set gl_conf "\$intel_target" >/dev/null |
603 |
anssi |
100206 |
ldconfig -X |
604 |
anssi |
97724 |
;; |
605 |
|
|
query) |
606 |
|
|
case \$(readlink -f "%{_sysconfdir}/ld.so.conf.d/GL.conf") in |
607 |
|
|
\$amd_target) |
608 |
|
|
echo "amd" |
609 |
|
|
;; |
610 |
|
|
\$intel_target) |
611 |
|
|
echo "intel" |
612 |
|
|
;; |
613 |
|
|
*) |
614 |
|
|
echo "unknown" |
615 |
|
|
;; |
616 |
|
|
esac |
617 |
|
|
;; |
618 |
|
|
esac |
619 |
|
|
EOF |
620 |
|
|
chmod 0755 %{buildroot}%{_libdir}/fglrx/switchlibGL |
621 |
|
|
|
622 |
|
|
# It is not feasible to configure these separately with the alternatives |
623 |
|
|
# system, so use the same script for both. |
624 |
anssi |
100286 |
# Note: using a symlink here fails as the driver checks go+w without |
625 |
|
|
# dereferencing the symlink. |
626 |
|
|
cp -a %{buildroot}%{_libdir}/fglrx/switchlibGL %{buildroot}%{_libdir}/fglrx/switchlibglx |
627 |
anssi |
97724 |
|
628 |
ahmad |
58193 |
%pre -n %{driverpkgname} |
629 |
|
|
# Handle alternatives-era /etc/ati directory |
630 |
|
|
# It may confuse rpm due to it containing %config files |
631 |
|
|
if [ -L %{_sysconfdir}/ati ]; then |
632 |
|
|
rm %{_sysconfdir}/ati |
633 |
|
|
fi |
634 |
|
|
|
635 |
|
|
%post -n %{driverpkgname} |
636 |
|
|
# Migrate from pre-alternatives files |
637 |
|
|
if [ ! -L %{_datadir}/applications/mandriva-amdcccle.desktop -a -e %{_datadir}/applications/mandriva-amdcccle.desktop ]; then |
638 |
|
|
rm -f %{_datadir}/applications/mandriva-amdcccle.desktop |
639 |
|
|
fi |
640 |
|
|
|
641 |
|
|
%{_sbindir}/update-alternatives \ |
642 |
|
|
--install %{_sysconfdir}/ld.so.conf.d/GL.conf gl_conf %{_sysconfdir}/ld.so.conf.d/GL/%{ld_so_conf_file} %{priority} \ |
643 |
|
|
--slave %{_sysconfdir}/X11/XvMCConfig xvmcconfig %{_sysconfdir}/%{drivername}/XvMCConfig \ |
644 |
|
|
--slave %{_libdir}/libAMDXvBA.cap %{_lib}AMDXvBA_cap %{_libdir}/%{drivername}/libAMDXvBA.cap \ |
645 |
|
|
%ifarch x86_64 |
646 |
|
|
--slave %{_prefix}/lib/libAMDXvBA.cap libAMDXvBA_cap %{_libdir}/%{drivername}/libAMDXvBA.cap \ |
647 |
|
|
%endif |
648 |
anssi |
87276 |
--slave %{xorg_extra_modules} xorg_extra_modules %{ati_extdir} |
649 |
anssi |
97724 |
|
650 |
|
|
# Alternative for PowerXpress intel (switchable graphics) |
651 |
|
|
# This is a separate alternative so that this situation can be differentiated |
652 |
|
|
# from standard intel configuration by tools (e.g. so that radeon driver won't |
653 |
|
|
# be loaded despite fglrx not being configured anymore). |
654 |
|
|
%{_sbindir}/update-alternatives \ |
655 |
|
|
--install %{_sysconfdir}/ld.so.conf.d/GL.conf gl_conf %{_sysconfdir}/%{drivername}/pxpress-free.ld.so.conf 50 |
656 |
|
|
|
657 |
ahmad |
58193 |
if [ "$(readlink -e %{_sysconfdir}/ld.so.conf.d/GL.conf)" = "%{_sysconfdir}/ld.so.conf.d/GL/ati-hd2000.conf" ]; then |
658 |
|
|
# Switch from the obsolete hd2000 branch: |
659 |
|
|
%{_sbindir}/update-alternatives --set gl_conf %{_sysconfdir}/ld.so.conf.d/GL/%{ld_so_conf_file} |
660 |
|
|
fi |
661 |
|
|
# When upgrading from alternatives setup, rpm may consider /etc/ati/atiogl.xml |
662 |
|
|
# to exist due to the symlink, even when we remove it in %pre: |
663 |
|
|
if [ -e %{_sysconfdir}/ati/atiogl.xml.rpmnew -a ! -e %{_sysconfdir}/ati/atiogl.xml ]; then |
664 |
|
|
mv %{_sysconfdir}/ati/atiogl.xml.rpmnew %{_sysconfdir}/ati/atiogl.xml |
665 |
|
|
echo "Moved %{_sysconfdir}/ati/atiogl.xml.rpmnew back to %{_sysconfdir}/ati/atiogl.xml." |
666 |
|
|
fi |
667 |
ahmad |
58195 |
|
668 |
ahmad |
58193 |
# Call /sbin/ldconfig explicitely due to alternatives |
669 |
|
|
/sbin/ldconfig -X |
670 |
|
|
%_post_service atieventsd |
671 |
|
|
%if "%{ldetect_cards_name}" != "" |
672 |
|
|
[ -x %{_sbindir}/update-ldetect-lst ] && %{_sbindir}/update-ldetect-lst || : |
673 |
|
|
%endif |
674 |
|
|
|
675 |
anssi |
100286 |
# Clear driver version numbers from amdpcsdb as suggested by AMD. |
676 |
|
|
# (fixes version display in amdcccle after upgrade) |
677 |
anssi |
174609 |
amdconfig --del-pcs-key=LDC,ReleaseVersion &>/dev/null || : |
678 |
|
|
amdconfig --del-pcs-key=LDC,Catalyst_Version &>/dev/null || : |
679 |
anssi |
100286 |
|
680 |
ahmad |
58193 |
%posttrans -n %{driverpkgname} |
681 |
|
|
# RPM seems to leave out the active /etc/fglrx* directory, likely due to |
682 |
|
|
# it being confused with the /etc/ati symlink. We have to clean up ourself: |
683 |
|
|
for dir in %{_sysconfdir}/fglrx %{_sysconfdir}/fglrx-hd2000; do |
684 |
|
|
if [ -d $dir ]; then |
685 |
|
|
for file in $dir/*; do |
686 |
|
|
case "$(basename $file)" in |
687 |
|
|
control | signature | logo_mask.xbm.example | logo.xbm.example) |
688 |
|
|
# non-config files, rpm would normally remove |
689 |
|
|
rm $file;; |
690 |
|
|
authatieventsd.sh | fglrxprofiles.csv | fglrxrc | atiogl.xml) |
691 |
|
|
# config files, check for modifications |
692 |
|
|
case "$(stat -c%s $file)" in |
693 |
|
|
545 | 838 | 2769 | 10224 | 11018) |
694 |
|
|
rm $file;; |
695 |
|
|
*) |
696 |
|
|
echo "Saving $file as %{_sysconfdir}/ati/$(basename $file).rpmsave." |
697 |
|
|
mv $file %{_sysconfdir}/ati/$(basename $file).rpmsave;; |
698 |
|
|
esac |
699 |
|
|
;; |
700 |
|
|
esac |
701 |
|
|
done |
702 |
|
|
[ $(ls -c $dir | wc -l) -eq 0 ] && rm -r $dir |
703 |
|
|
fi |
704 |
|
|
done |
705 |
|
|
true |
706 |
|
|
|
707 |
|
|
%preun -n %{driverpkgname} |
708 |
|
|
%_preun_service atieventsd |
709 |
|
|
|
710 |
|
|
%postun -n %{driverpkgname} |
711 |
|
|
if [ ! -f %{_sysconfdir}/ld.so.conf.d/GL/%{ld_so_conf_file} ]; then |
712 |
|
|
%{_sbindir}/update-alternatives --remove gl_conf %{_sysconfdir}/ld.so.conf.d/GL/%{ld_so_conf_file} |
713 |
|
|
fi |
714 |
anssi |
97724 |
if [ ! -f %{_sysconfdir}/%{drivername}/pxpress-free.ld.so.conf ]; then |
715 |
|
|
%{_sbindir}/update-alternatives --remove gl_conf %{_sysconfdir}/%{drivername}/pxpress-free.ld.so.conf |
716 |
|
|
fi |
717 |
ahmad |
58193 |
# Call /sbin/ldconfig explicitely due to alternatives |
718 |
anssi |
100286 |
/sbin/ldconfig -X |
719 |
ahmad |
58193 |
%if "%{ldetect_cards_name}" != "" |
720 |
|
|
[ -x %{_sbindir}/update-ldetect-lst ] && %{_sbindir}/update-ldetect-lst || : |
721 |
|
|
%endif |
722 |
|
|
|
723 |
|
|
%pre -n %{drivername}-control-center |
724 |
|
|
# Handle alternatives-era directory, |
725 |
|
|
# it may confuse rpm. |
726 |
|
|
if [ -L %{_datadir}/ati ]; then |
727 |
|
|
rm %{_datadir}/ati |
728 |
|
|
fi |
729 |
|
|
|
730 |
|
|
%post -n %{drivername}-control-center |
731 |
|
|
[ -d %{_datadir}/fglrx ] && rm -r %{_datadir}/fglrx |
732 |
|
|
[ -d %{_datadir}/fglrx-hd2000 ] && rm -r %{_datadir}/fglrx-hd2000 |
733 |
|
|
true |
734 |
|
|
|
735 |
anssi |
174610 |
%post -n %{drivername}-opencl |
736 |
|
|
# explicit /sbin/ldconfig due to a non-standard library directory |
737 |
|
|
/sbin/ldconfig -X |
738 |
|
|
|
739 |
ahmad |
58193 |
%post -n dkms-%{drivername} |
740 |
|
|
/usr/sbin/dkms --rpm_safe_upgrade add -m %{drivername} -v %{version}-%{release} && |
741 |
|
|
/usr/sbin/dkms --rpm_safe_upgrade build -m %{drivername} -v %{version}-%{release} && |
742 |
|
|
/usr/sbin/dkms --rpm_safe_upgrade install -m %{drivername} -v %{version}-%{release} --force |
743 |
|
|
|
744 |
|
|
# rmmod any old driver if present and not in use (e.g. by X) |
745 |
|
|
rmmod fglrx > /dev/null 2>&1 || true |
746 |
|
|
|
747 |
|
|
%preun -n dkms-%{drivername} |
748 |
|
|
/usr/sbin/dkms --rpm_safe_upgrade remove -m %{drivername} -v %{version}-%{release} --all |
749 |
|
|
|
750 |
|
|
# rmmod any old driver if present and not in use (e.g. by X) |
751 |
|
|
rmmod fglrx > /dev/null 2>&1 || true |
752 |
|
|
|
753 |
|
|
%clean |
754 |
|
|
rm -rf %{buildroot} |
755 |
|
|
|
756 |
|
|
%files -n %{driverpkgname} |
757 |
|
|
%defattr(-,root,root) |
758 |
|
|
%doc README.install.urpmi README.manual-setup |
759 |
|
|
%doc README.8.600.upgrade.urpmi |
760 |
|
|
# the documentation files are grossly out of date; the configuration options |
761 |
|
|
# described in configure.html seem to be used by the driver, though, so it is |
762 |
|
|
# packaged, while the other html files are not: |
763 |
|
|
%doc common/usr/share/doc/fglrx/configure.html |
764 |
fwang |
134335 |
%doc common/usr/share/doc/fglrx/LICENSE.TXT |
765 |
ahmad |
58193 |
|
766 |
|
|
%if "%{ldetect_cards_name}" != "" |
767 |
|
|
%{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz |
768 |
|
|
%endif |
769 |
|
|
|
770 |
|
|
%ghost %{_sysconfdir}/ld.so.conf.d/GL.conf |
771 |
|
|
%dir %{_sysconfdir}/ld.so.conf.d/GL |
772 |
|
|
%{_sysconfdir}/ld.so.conf.d/GL/ati.conf |
773 |
|
|
|
774 |
|
|
%dir %{_sysconfdir}/%{drivername} |
775 |
|
|
%{_sysconfdir}/%{drivername}/XvMCConfig |
776 |
anssi |
97724 |
%{_sysconfdir}/%{drivername}/pxpress-free.ld.so.conf |
777 |
ahmad |
58193 |
|
778 |
|
|
%dir %{_sysconfdir}/ati |
779 |
|
|
%{_sysconfdir}/ati/control |
780 |
|
|
%{_sysconfdir}/ati/signature |
781 |
|
|
%config(noreplace) %{_sysconfdir}/ati/atiogl.xml |
782 |
|
|
%{_sysconfdir}/ati/logo.xbm.example |
783 |
|
|
%{_sysconfdir}/ati/logo_mask.xbm.example |
784 |
|
|
%config %{_sysconfdir}/ati/authatieventsd.sh |
785 |
|
|
%{_sysconfdir}/ati/amdpcsdb.default |
786 |
|
|
|
787 |
|
|
%{_initrddir}/atieventsd |
788 |
|
|
|
789 |
|
|
%{_sbindir}/atieventsd |
790 |
|
|
%{_sbindir}/amdnotifyui |
791 |
|
|
%{_sbindir}/atigetsysteminfo.sh |
792 |
|
|
|
793 |
anssi |
174608 |
%{_bindir}/amdconfig |
794 |
ahmad |
58193 |
%{_bindir}/amdupdaterandrconfig |
795 |
|
|
%{_bindir}/amdxdg-su |
796 |
|
|
%{_bindir}/aticonfig |
797 |
|
|
%{_bindir}/atiodcli |
798 |
|
|
%{_bindir}/atiode |
799 |
|
|
%{_bindir}/fgl_glxgears |
800 |
|
|
%{_bindir}/fglrxinfo |
801 |
|
|
|
802 |
|
|
%{xorg_libdir}/modules/drivers/fglrx_drv.so |
803 |
|
|
%{xorg_libdir}/modules/linux/libfglrxdrm.so |
804 |
|
|
%{xorg_libdir}/modules/amdxmm.*o |
805 |
|
|
%{xorg_libdir}/modules/glesx.*o |
806 |
|
|
|
807 |
|
|
%dir %{ati_extdir} |
808 |
|
|
%{ati_extdir}/libglx.so |
809 |
|
|
|
810 |
|
|
%{xorg_dridir}/fglrx_dri.so |
811 |
|
|
%ifarch x86_64 |
812 |
|
|
%{xorg_dridir32}/fglrx_dri.so |
813 |
|
|
%endif |
814 |
|
|
|
815 |
|
|
%dir %{_libdir}/%{drivername} |
816 |
|
|
%{_libdir}/%{drivername}/libGL.so.1 |
817 |
|
|
%{_libdir}/%{drivername}/libGL.so.1.* |
818 |
|
|
%{_libdir}/%{drivername}/libaticalcl.so |
819 |
|
|
%{_libdir}/%{drivername}/libaticaldd.so |
820 |
|
|
%{_libdir}/%{drivername}/libaticalrt.so |
821 |
|
|
%{_libdir}/%{drivername}/libatiuki.so.1* |
822 |
tmb |
216518 |
%{_libdir}/%{drivername}/libSlotMaximizer*.so |
823 |
ahmad |
58193 |
%ifarch x86_64 |
824 |
|
|
%dir %{_prefix}/lib/%{drivername} |
825 |
|
|
%{_prefix}/lib/%{drivername}/libGL.so.1 |
826 |
|
|
%{_prefix}/lib/%{drivername}/libGL.so.1.* |
827 |
|
|
%{_prefix}/lib/%{drivername}/libaticalcl.so |
828 |
|
|
%{_prefix}/lib/%{drivername}/libaticaldd.so |
829 |
|
|
%{_prefix}/lib/%{drivername}/libaticalrt.so |
830 |
|
|
%{_prefix}/lib/%{drivername}/libatiuki.so.1* |
831 |
tmb |
216518 |
%{_prefix}/lib/%{drivername}/libSlotMaximizer*.so |
832 |
ahmad |
58193 |
%endif |
833 |
|
|
|
834 |
|
|
%{_libdir}/%{drivername}/libfglrx_dm.so.1* |
835 |
|
|
%{_libdir}/%{drivername}/libatiadlxx.so |
836 |
|
|
%{_libdir}/%{drivername}/libAMDXvBA.cap |
837 |
|
|
%{_libdir}/%{drivername}/libAMDXvBA.so.1* |
838 |
|
|
%{_libdir}/%{drivername}/libXvBAW.so.1* |
839 |
|
|
|
840 |
anssi |
97724 |
# PowerXpress |
841 |
|
|
%{_libdir}/fglrx/switchlibGL |
842 |
|
|
%{_libdir}/fglrx/switchlibglx |
843 |
|
|
|
844 |
anssi |
87413 |
%dir %{_datadir}/ati |
845 |
|
|
%{_datadir}/ati/amd-uninstall.sh |
846 |
|
|
|
847 |
ahmad |
58193 |
%{_mandir}/man8/atieventsd.8* |
848 |
|
|
|
849 |
|
|
%files -n %{drivername}-control-center -f amdcccle.langs |
850 |
|
|
%defattr(-,root,root) |
851 |
|
|
%doc common/usr/share/doc/amdcccle/* |
852 |
|
|
%{_sysconfdir}/security/console.apps/amdcccle-su |
853 |
|
|
%{_sysconfdir}/pam.d/amdcccle-su |
854 |
|
|
%{_bindir}/amdcccle |
855 |
|
|
%dir %{_datadir}/ati |
856 |
|
|
%dir %{_datadir}/ati/amdcccle |
857 |
anssi |
174609 |
%if %{amdbuild} |
858 |
ahmad |
58193 |
%{_iconsdir}/%{drivername}-amdcccle.xpm |
859 |
|
|
%else |
860 |
|
|
%{_miconsdir}/%{drivername}-amdcccle.png |
861 |
|
|
%{_iconsdir}/%{drivername}-amdcccle.png |
862 |
|
|
%{_liconsdir}/%{drivername}-amdcccle.png |
863 |
|
|
%endif |
864 |
|
|
%{_datadir}/applications/amdcccle.desktop |
865 |
|
|
%{_datadir}/applications/amdccclesu.desktop |
866 |
|
|
%if %{bundle_qt} |
867 |
|
|
%dir %{_libdir}/%{drivername}-qt4 |
868 |
|
|
%{_libdir}/%{drivername}-qt4/libQtCore.so.4 |
869 |
|
|
%{_libdir}/%{drivername}-qt4/libQtGui.so.4 |
870 |
|
|
%{_datadir}/ati/%{_lib} |
871 |
|
|
%endif |
872 |
|
|
|
873 |
|
|
%files -n %{drivername}-devel |
874 |
|
|
%defattr(-,root,root) |
875 |
|
|
%{_libdir}/%{drivername}/libfglrx_dm.a |
876 |
|
|
%{_libdir}/%{drivername}/libfglrx_dm.so |
877 |
|
|
%{_libdir}/%{drivername}/libAMDXvBA.so |
878 |
|
|
%{_libdir}/%{drivername}/libXvBAW.so |
879 |
|
|
%dir %{_includedir}/GL |
880 |
|
|
%{_includedir}/GL/*ATI.h |
881 |
|
|
%dir %{_includedir}/ATI |
882 |
|
|
%dir %{_includedir}/ATI/GL |
883 |
|
|
%{_includedir}/ATI/GL/*.h |
884 |
|
|
%{_libdir}/%{drivername}/libGL.so |
885 |
|
|
%{_libdir}/%{drivername}/libatiuki.so |
886 |
|
|
%ifarch x86_64 |
887 |
|
|
%{_prefix}/lib/%{drivername}/libGL.so |
888 |
|
|
%{_prefix}/lib/%{drivername}/libatiuki.so |
889 |
|
|
%endif |
890 |
|
|
|
891 |
anssi |
174610 |
%files -n %{drivername}-opencl |
892 |
|
|
%defattr(-,root,root) |
893 |
|
|
%dir %{_sysconfdir}/OpenCL |
894 |
|
|
%dir %{_sysconfdir}/OpenCL/vendors |
895 |
|
|
%{_sysconfdir}/OpenCL/vendors/amdocl*.icd |
896 |
|
|
%{_bindir}/clinfo |
897 |
|
|
%{_libdir}/%{drivername}/libamdocl*.so |
898 |
|
|
%{_libdir}/%{drivername}/libOpenCL.so.1 |
899 |
|
|
%ifarch x86_64 |
900 |
|
|
%{_prefix}/lib/%{drivername}/libamdocl*.so |
901 |
|
|
%{_prefix}/lib/%{drivername}/libOpenCL.so.1 |
902 |
|
|
%endif |
903 |
|
|
|
904 |
ahmad |
58193 |
%files -n dkms-%{drivername} |
905 |
|
|
%defattr(-,root,root) |
906 |
|
|
%{_usrsrc}/%{drivername}-%{version}-%{release} |