3 %bcond_without dist_kernel # without distribution kernel
4 %bcond_without kernel # don't build kernel modules
5 %bcond_without userspace # don't build userspace tools
6 %bcond_with verbose # verbose build (V=1)
11 %undefine with_dist_kernel
13 %if "%{_alt_kernel}" != "%{nil}"
14 %undefine with_userspace
16 %if %{without userspace}
17 # nothing to be placed to debuginfo package
18 %define _enable_debug_packages 0
22 %define arch_sufix %{nil}
25 %define arch_sufix _64a
26 %define arch_dir x86_64
30 %define pname xorg-driver-video-fglrx
31 Summary: Linux Drivers for AMD/ATI graphics accelerators
32 Summary(pl.UTF-8): Sterowniki do akceleratorów graficznych AMD/ATI
37 License: AMD Binary (parts are GPL)
39 Source0: http://dlmdownloads.ati.com/drivers/linux/amd-driver-installer-%(echo %{version} | tr . -)-x86.x86_64.run
40 # Source0-md5: 6396d0f6f70b89d605bac896feb2b7c9
41 Source1: atieventsd.init
42 Source2: atieventsd.sysconfig
44 Source4: 10-fglrx.conf
45 Source5: 10-fglrx-modules.conf
46 Patch0: %{pname}-kh.patch
47 Patch1: %{pname}-smp.patch
48 Patch2: %{pname}-x86genericarch.patch
49 Patch3: %{pname}-desktop.patch
50 Patch4: %{pname}-nofinger.patch
51 Patch5: %{pname}-GPL-only.patch
52 Patch6: %{pname}-WARN.patch
53 Patch7: %{pname}-kernel-fpu.patch
54 URL: http://ati.amd.com/support/drivers/linux/linux-radeon.html
55 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
56 BuildRequires: rpmbuild(macros) >= 1.379
57 BuildRequires: sed >= 4.0
58 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
59 Requires: xorg-xserver-server
60 Requires: xorg-xserver-server(videodrv-abi) <= 11.0
61 Requires: xorg-xserver-server(videodrv-abi) >= 2.0
62 Suggests: %{name}-config
63 Suggests: kernel-video-firegl
64 Provides: xorg-driver-video
65 Provides: xorg-xserver-module(glx)
66 Obsoletes: X11-driver-firegl < 1:7.0.0
67 Obsoletes: XFree86-driver-firegl < 1:7.0.0
68 Obsoletes: xorg-driver-video-fglrx-config
69 Obsoletes: xorg-driver-video-fglrx-libdri
70 Obsoletes: xorg-driver-video-fglrx-libglx
71 ExclusiveArch: i586 i686 athlon pentium3 pentium4 %{x8664}
72 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
74 %define _ccver %(rpm -q --qf "%{VERSION}" gcc | sed 's/\\..*//')
76 %define _noautoreqdep libGL.so.1
77 %define no_install_post_check_so 1
80 Display driver files for the ATI Radeon 8500, 9700, Mobility M9 and
81 the FireGL 8700/8800, E1, Z1/X1 graphics accelerators. This package
82 provides 2D display drivers and hardware accelerated OpenGL.
84 %description -l pl.UTF-8
85 Sterowniki do kart graficznych ATI Radeon 8500, 9700, Mobility M9 oraz
86 graficznych akceleratorów FireGL 8700/8800, E1, Z1/X1. Pakiet
87 dostarcza sterowniki obsługujące wyświetlanie 2D oraz sprzętowo
91 Summary: OpenGL (GL and GLX) ATI/AMD libraries
92 Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) ATI/AMD
93 Group: X11/Development/Libraries
94 Requires(post,postun): /sbin/ldconfig
95 # 4.0 for Radeon HD 5000 Series
96 Provides: OpenGL = 3.3
97 Provides: OpenGL-GLX = 1.4
98 Obsoletes: X11-OpenGL-core < 1:7.0.0
99 Obsoletes: X11-OpenGL-libGL < 1:7.0.0
100 Obsoletes: XFree86-OpenGL-core < 1:7.0.0
101 Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
104 ATI/AMD OpenGL (GL and GLX only) implementation libraries.
106 %description libs -l pl.UTF-8
107 Implementacja OpenGL (tylko GL i GLX) firmy ATI/AMD.
110 Summary: Header files for development for the ATI Radeon cards proprietary driver
111 Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
112 Group: X11/Development/Libraries
113 Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
115 Requires: xorg-proto-glproto-devel
116 # 4.0 for Radeon HD 5000 Series
117 Provides: OpenGL-GLX-devel = 1.4
118 Provides: OpenGL-devel = 3.3
119 Obsoletes: X11-OpenGL-devel-base
120 Obsoletes: XFree86-OpenGL-devel-base
123 Header files for development for the ATI proprietary driver for ATI
124 Radeon graphic cards.
126 %description devel -l pl.UTF-8
127 Pliki nagłówkowe do programowania z użyciem własnościowego sterownika
128 ATI dla kart graficznych Radeon.
131 Summary: Static libraries for development for the ATI Radeon cards proprietary driver
132 Summary(pl.UTF-8): Biblioteki statyczne do programowania z użyciem własnościowego sterownika dla kart ATI Radeon
133 Group: X11/Development/Libraries
134 Requires: %{pname}-devel = %{epoch}:%{version}-%{rel}
137 Static libraries for development for the ATI proprietary driver for
138 ATI Radeon graphic cards.
140 %description static -l pl.UTF-8
141 Biblioteki statyczne do programowania z użyciem własnościowego
142 sterownika ATI dla kart graficznych ATI Radeon.
145 Summary: ATI external events daemon
146 Summary(pl.UTF-8): Demon zewnętrznych zdarzeń ATI
148 Requires: %{pname} = %{epoch}:%{version}-%{rel}
150 Requires(post,preun): /sbin/chkconfig
153 %description atieventsd
154 The ATI External Events Daemon is a user-level application that
155 monitors various system events such as ACPI or hotplug, then notifies
156 the driver via the X extensions interface that the event has occured.
158 %description atieventsd -l pl.UTF-8
159 Demon zewnętrznych zdarzeń ATI jest aplikacją monitorującą różne
160 zdarzenia systemowe, takie jak ACPI lub hotplug, a następnie
161 informującą sterownik poprzez interfejs rozszerzeń X, że zaszło
164 %package -n kernel%{_alt_kernel}-video-firegl
165 Summary: ATI kernel module for FireGL support
166 Summary(pl.UTF-8): Moduł jądra oferujący wsparcie dla ATI FireGL
167 Release: %{rel}@%{_kernel_ver_str}
170 %{?with_dist_kernel:%requires_releq_kernel}
171 %if "%{_alt_kernel}" != "%{nil}"
172 Provides: kernel-video-firegl = %{epoch}:%{version}-%{rel}@%{_kernel_ver_str}
174 Requires(post,postun): /sbin/depmod
176 %description -n kernel%{_alt_kernel}-video-firegl
177 ATI kernel module for FireGL support.
179 %description -n kernel%{_alt_kernel}-video-firegl -l pl.UTF-8
180 Moduł jądra oferujący wsparcie dla ATI FireGL.
185 sh %{SOURCE0} --extract .
187 cp arch/%{arch_dir}/lib/modules/fglrx/build_mod/* common/lib/modules/fglrx/build_mod
189 %if %{with dist_kernel}
200 install -d common{%{_prefix}/{%{_lib},bin,sbin},/etc}
201 cp -r %{x11ver}%{arch_sufix}/usr/X11R6/%{_lib}/* common%{_libdir}
202 mv common%{_libdir}/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so}
203 cp -r arch/%{arch_dir}/usr/X11R6/%{_lib}/* common%{_libdir}
204 cp -r arch/%{arch_dir}/usr/X11R6/%{_lib}/modules common%{_libdir}/xorg
205 cp -r arch/%{arch_dir}/usr/X11R6/bin/* common%{_bindir}
206 cp -r arch/%{arch_dir}/usr/bin/* common%{_bindir}
207 cp -r arch/%{arch_dir}/usr/sbin/* common%{_sbindir}
208 cp -r arch/%{arch_dir}/usr/%{_lib}/*.so* common%{_libdir}
209 mv common%{_libdir}/{fglrx/fglrx-libGL.so.1.2,libGL.so.1.2}
210 cp -r arch/%{arch_dir}/etc/* common/etc
214 cd common/lib/modules/fglrx/build_mod
215 cp -f 2.6.x/Makefile .
216 %build_kernel_modules -c -m fglrx GCC_VER_MAJ=%{_ccver}
221 rm -rf $RPM_BUILD_ROOT
224 %install_kernel_modules -m common/lib/modules/fglrx/build_mod/fglrx -d misc
227 %if %{with userspace}
228 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{ati,env.d,X11/xorg.conf.d,ld.so.conf.d} \
229 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_includedir}/GL} \
230 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_datadir}/ati,%{_mandir}/man8} \
231 $RPM_BUILD_ROOT%{_libdir}/{fglrx,xorg/modules/extensions/fglrx} \
232 $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
233 $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
235 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/atieventsd
236 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/atieventsd
238 install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
239 install %{SOURCE5} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d
240 sed -i -e 's|@@LIBDIR@@|%{_libdir}|g' $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-fglrx-modules.conf
242 cp -r common%{_datadir}/doc/fglrx/examples/etc/acpi $RPM_BUILD_ROOT/etc
243 install -p common/etc/OpenCL/vendors/*.icd $RPM_BUILD_ROOT%{_sysconfdir}/OpenCL/vendors
245 install common%{_bindir}/* $RPM_BUILD_ROOT%{_bindir}
246 install common/usr/X11R6/bin/* $RPM_BUILD_ROOT%{_bindir}
247 install common%{_sbindir}/* $RPM_BUILD_ROOT%{_sbindir}
249 rm $RPM_BUILD_ROOT%{_sbindir}/atigetsysteminfo.sh
251 cp -r common%{_libdir}/modules/* $RPM_BUILD_ROOT%{_libdir}/xorg/modules
252 ln -s %{_libdir}/xorg/modules/dri $RPM_BUILD_ROOT%{_libdir}
253 cp -r common%{_sysconfdir}/ati/control $RPM_BUILD_ROOT%{_sysconfdir}/ati/control
254 cp -r common%{_sysconfdir}/ati/signature $RPM_BUILD_ROOT%{_sysconfdir}/ati/signature
255 cp -r common%{_sysconfdir}/ati/amdpcsdb.default $RPM_BUILD_ROOT%{_sysconfdir}/ati/amdpcsdb.default
256 cp -r common%{_sysconfdir}/ati/atiogl.xml $RPM_BUILD_ROOT%{_sysconfdir}/ati/atiogl.xml
258 cp -r common%{_datadir}/ati/* $RPM_BUILD_ROOT%{_datadir}/ati
259 cp -r common%{_datadir}/icons/*.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
261 cp -r common%{_desktopdir}/*.desktop $RPM_BUILD_ROOT%{_desktopdir}
263 cp -r common%{_mandir}/man8/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
266 echo %{_libdir}/fglrx >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx64.conf
268 echo %{_libdir}/fglrx >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/fglrx.conf
271 cp -r common%{_libdir}/lib* $RPM_BUILD_ROOT%{_libdir}/fglrx
273 mv -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/{,fglrx}/libglx.so
275 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}/fglrx
276 ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/fglrx/libGL.so
277 ln -sf libfglrx_dm.so.*.* $RPM_BUILD_ROOT%{_libdir}/fglrx/libfglrx_dm.so
279 install common%{_includedir}/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
280 echo "LIBGL_DRIVERS_PATH=%{_libdir}/xorg/modules/dri" > $RPM_BUILD_ROOT%{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
282 install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
283 %{__sed} -e 's|@@prefix@@|%{_prefix}|g;s|@@libdir@@|%{_libdir}|g;s|@@includedir@@|%{_includedir}|g;s|@@version@@|%{version}|g' < %{SOURCE3} \
284 > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
288 rm -rf $RPM_BUILD_ROOT
290 %post libs -p /sbin/ldconfig
291 %postun libs -p /sbin/ldconfig
294 /sbin/chkconfig --add atieventsd
295 %service atieventsd restart
298 if [ "$1" = "0" ]; then
299 %service -q atieventsd stop
300 /sbin/chkconfig --del atieventsd
303 %post -n kernel%{_alt_kernel}-video-firegl
304 %depmod %{_kernel_ver}
306 %postun -n kernel%{_alt_kernel}-video-firegl
307 %depmod %{_kernel_ver}
309 %if %{with userspace}
311 %defattr(644,root,root,755)
312 %doc LICENSE.TXT common%{_docdir}/fglrx/*.html common%{_docdir}/fglrx/articles common%{_docdir}/fglrx/user-manual
313 %dir %{_sysconfdir}/ati
314 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/control
315 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/signature
316 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/amdpcsdb.default
317 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ati/atiogl.xml
318 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/env.d/LIBGL_DRIVERS_PATH
319 %attr(755,root,root) %{_bindir}/*
320 %attr(755,root,root) %{_sbindir}/amdnotifyui
321 %{_desktopdir}/*.desktop
324 %dir %{_libdir}/xorg/modules/extensions/fglrx
325 %attr(755,root,root) %{_libdir}/xorg/modules/extensions/fglrx/libglx.so
327 %attr(755,root,root) %{_libdir}/xorg/modules/dri/fglrx_dri.so
328 %attr(755,root,root) %{_libdir}/xorg/modules/drivers/fglrx_drv.so
329 %dir %{_libdir}/xorg/modules/linux
330 %attr(755,root,root) %{_libdir}/xorg/modules/linux/libfglrxdrm.so
331 %attr(755,root,root) %{_libdir}/xorg/modules/amdxmm.so
332 %attr(755,root,root) %{_libdir}/xorg/modules/glesx.so
333 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx.conf
334 %{_sysconfdir}/X11/xorg.conf.d/10-fglrx-modules.conf
337 %defattr(644,root,root,755)
338 %dir %{_sysconfdir}/OpenCL
339 %dir %{_sysconfdir}/OpenCL/vendors
340 %{_sysconfdir}/OpenCL/vendors/*.icd
341 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/fglrx*.conf
342 %dir %{_libdir}/fglrx
343 %attr(755,root,root) %{_libdir}/fglrx/libAMDXvBA.so.*.*
344 %attr(755,root,root) %ghost %{_libdir}/fglrx/libAMDXvBA.so.1
345 %attr(755,root,root) %{_libdir}/fglrx/libOpenCL.so.1
346 %attr(755,root,root) %{_libdir}/fglrx/libSlotMaximizerAg.so
348 %attr(755,root,root) %{_libdir}/fglrx/libSlotMaximizerBe.so
350 %attr(755,root,root) %{_libdir}/fglrx/libXvBAW.so.*.*
351 %attr(755,root,root) %ghost %{_libdir}/fglrx/libXvBAW.so.1
352 %{_libdir}/fglrx/libAMDXvBA.cap
353 %attr(755,root,root) %{_libdir}/fglrx/libamdocl*.so
354 %attr(755,root,root) %{_libdir}/fglrx/libatiadlxx.so
355 %attr(755,root,root) %{_libdir}/fglrx/libaticalcl.so
356 %attr(755,root,root) %{_libdir}/fglrx/libaticaldd.so
357 %attr(755,root,root) %{_libdir}/fglrx/libaticalrt.so
358 %attr(755,root,root) %{_libdir}/fglrx/libatiuki.so.*.*
359 %attr(755,root,root) %ghost %{_libdir}/fglrx/libatiuki.so.1
360 %attr(755,root,root) %{_libdir}/fglrx/libGL.so.*.*
361 %attr(755,root,root) %ghost %{_libdir}/fglrx/libGL.so.1
362 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so.*.*
365 %defattr(644,root,root,755)
366 %attr(755,root,root) %{_libdir}/fglrx/libfglrx_dm.so
367 %attr(755,root,root) %{_libdir}/fglrx/libGL.so
369 %{_pkgconfigdir}/gl.pc
372 %defattr(644,root,root,755)
373 %{_libdir}/fglrx/libfglrx_dm.a
376 %defattr(644,root,root,755)
377 %attr(754,root,root) /etc/rc.d/init.d/atieventsd
378 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/atieventsd
379 %attr(755,root,root) %{_sbindir}/atieventsd
380 %attr(755,root,root) %{_sysconfdir}/acpi/ati-powermode.sh
381 %{_sysconfdir}/acpi/events/*
382 %{_mandir}/man8/atieventsd.8*
386 %files -n kernel%{_alt_kernel}-video-firegl
387 %defattr(644,root,root,755)
388 /lib/modules/%{_kernel_ver}/misc/*.ko*