/[packages]/backports/5/nvidia-current/current/SPECS/nvidia-current.spec
ViewVC logotype

Annotation of /backports/5/nvidia-current/current/SPECS/nvidia-current.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 552609 - (hide annotations) (download)
Sat Nov 23 18:46:16 2013 UTC (10 years, 4 months ago) by tmb
Original Path: cauldron/nvidia-current/current/SPECS/nvidia-current.spec
File size: 39019 byte(s)
use dkms_tree variable in KBUILD_EXTMOD
1 ahmad 56864 # I love OpenSource :-(
2    
3     ## NOTE: When modifying this .spec, you do not necessarily need to care about
4     ## the %simple stuff. It is fine to break them, I'll fix it when I need them :)
5     ## - Anssi
6    
7     # %simple mode can be used to transform an arbitrary nvidia installer
8     # package to rpms, similar to %atibuild mode in fglrx.
9     # Macros version, rel, nsource, pkgname, distsuffix should be manually defined.
10     %define simple 0
11     %{?_without_simple: %global simple 0}
12     %{?_with_simple: %global simple 1}
13    
14     %define name nvidia-current
15    
16     %if !%simple
17     # When updating, please add new ids to ldetect-lst (merge2pcitable.pl)
18 tmb 550648 %define version 331.20
19 tmb 552609 %define rel 5
20 ahmad 56864 # the highest supported videodrv abi
21 tmb 403308 %define videodrv_abi 14
22 ahmad 56864 %endif
23    
24     %define priority 9700
25    
26     %define pkgname32 NVIDIA-Linux-x86-%{version}
27     %define pkgname64 NVIDIA-Linux-x86_64-%{version}
28    
29 ahmad 131342 # Disable when the sources aren't on ftp yet, but can be downloaded from
30     # http://us.download.nvidia.com
31 tmb 447858 %define ftp 1
32 ahmad 131342
33 ahmad 56864 # For now, backportability is kept for 2008.0 forwards.
34    
35     %define drivername nvidia-current
36     %define driverpkgname x11-driver-video-%{drivername}
37     %define modulename %{drivername}
38     # for description and documentation
39 anssi 320407 %define cards GeForce 8xxx and later cards
40 ahmad 56864 %define xorg_extra_modules %{_libdir}/xorg/extra-modules
41     %define nvidia_driversdir %{_libdir}/%{drivername}/xorg
42     %define nvidia_extensionsdir %{_libdir}/%{drivername}/xorg
43     %define nvidia_modulesdir %{_libdir}/%{drivername}/xorg
44     %define nvidia_libdir %{_libdir}/%{drivername}
45     %define nvidia_libdir32 %{_prefix}/lib/%{drivername}
46     %define nvidia_bindir %{nvidia_libdir}/bin
47     # The entry in Cards+ this driver should be associated with, if there is
48     # no entry in ldetect-lst default pcitable:
49     # cooker ldetect-lst should be up-to-date
50     %define ldetect_cards_name %nil
51    
52     # NVIDIA cards not listed in main ldetect-lst pcitable are not likely
53     # to be supported by nv which is from the same time period. Therefore
54     # mark them as not working with nv. (main pcitable entries override
55     # our entries)
56 anssi 412170 %if %simple || %mgaversion <= 2
57 ahmad 56864 # nvidia/vesa
58     %define ldetect_cards_name NVIDIA GeForce 400 series and later
59     %endif
60    
61     %define biarches x86_64
62    
63     %if !%simple
64     %ifarch %{ix86}
65     %define nsource %{SOURCE0}
66     %define pkgname %{pkgname32}
67     %endif
68     %ifarch x86_64
69     %define nsource %{SOURCE1}
70     %define pkgname %{pkgname64}
71     %endif
72     %endif
73    
74     # Other packages should not require any NVIDIA libraries, and this package
75     # should not be pulled in when libGL.so.1 is required
76     %define _provides_exceptions \\.so
77 anssi 470904 %define common_requires_exceptions libGL\\.so\\|libGLcore\\.so\\|libnvidia.*\\.so
78 ahmad 56864
79     %ifarch %{biarches}
80     # (anssi) Allow installing of 64-bit package if the runtime dependencies
81     # of 32-bit libraries are not satisfied. If a 32-bit package that requires
82     # libGL.so.1 is installed, the 32-bit mesa libs are pulled in and that will
83     # pull the dependencies of 32-bit nvidia libraries in as well.
84     %define _requires_exceptions %common_requires_exceptions\\|lib.*so\\.[^(]\\+\\(([^)]\\+)\\)\\?$
85     %else
86     %define _requires_exceptions %common_requires_exceptions
87     %endif
88    
89 anssi 320407 # (anssi) Workaround wrong linking as of 310.19.
90     # This will probably be fixed soon (at least similar issues have been in the past).
91     # https://devtalk.nvidia.com/default/topic/523762/libnvidia-encode-so-310-19-has-dependency-on-missing-library/
92     %define _exclude_files_from_autoreq libnvidia-encode.so.%version
93    
94 ahmad 56864 Summary: NVIDIA proprietary X.org driver and libraries, current driver series
95     Name: %{name}
96     Version: %{version}
97     Release: %mkrel %{rel}
98     %if !%simple
99 ahmad 131342 %if %ftp
100 ahmad 56864 Source0: ftp://download.nvidia.com/XFree86/Linux-x86/%{version}/%{pkgname32}.run
101     Source1: ftp://download.nvidia.com/XFree86/Linux-x86_64/%{version}/%{pkgname64}.run
102     # GPLv2 source code; see also http://cgit.freedesktop.org/~aplattner/
103     Source2: ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-%{version}.tar.bz2
104     Source3: ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-%{version}.tar.bz2
105 anssi 412170 Source4: ftp://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-%{version}.tar.bz2
106     Source5: ftp://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-%{version}.tar.bz2
107 ahmad 131342 %else
108     Source0: http://us.download.nvidia.com/XFree86/Linux-x86/%{version}/%{pkgname32}.run
109     Source1: http://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/%{pkgname64}.run
110     # GPLv2 source code; see also http://cgit.freedesktop.org/~aplattner/
111     Source2: http://us.download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-%{version}.tar.bz2
112     Source3: http://us.download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-%{version}.tar.bz2
113 anssi 412170 Source4: http://us.download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-%{version}.tar.bz2
114     Source5: http://us.download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-%{version}.tar.bz2
115 ahmad 131342 %endif
116 ahmad 56864 # Script for building rpms of arbitrary nvidia installers (needs this .spec appended)
117 anssi 412170 Source10: nvidia-mgabuild-skel
118 ahmad 56864 # include xf86vmproto for X_XF86VidModeGetGammaRampSize, fixes build on cooker
119     Patch3: nvidia-settings-include-xf86vmproto.patch
120 tmb 552587 # (tmb) fix uvm build when CONFIG_UIDGID_STRICT_TYPE_CHECKS is set
121     Patch4: nvidia-current-331.20-CONFIG_UIDGID_STRICT_TYPE_CHECKS-buildfix.patch
122 ahmad 56864 %endif
123     License: Freeware
124     BuildRoot: %{_tmppath}/%{name}-buildroot
125     URL: http://www.nvidia.com/object/unix.html
126     Group: System/Kernel and hardware
127     ExclusiveArch: %{ix86} x86_64
128     %if !%simple
129     BuildRequires: ImageMagick
130     BuildRequires: gtk+2-devel
131     BuildRequires: libxv-devel
132     BuildRequires: MesaGL-devel
133     BuildRequires: libxxf86vm-devel
134 anssi 412170 BuildRequires: vdpau-devel
135 ahmad 56864 %endif
136    
137     %description
138     Source package of the current NVIDIA proprietary driver. Binary
139 ahmad 56909 packages are named x11-driver-video-nvidia-current.
140 ahmad 56864
141     %package -n %{driverpkgname}
142     Summary: NVIDIA proprietary X.org driver and libraries for %cards
143     Group: System/Kernel and hardware
144     Requires(post): update-alternatives >= 1.9.0
145     Requires(postun): update-alternatives >= 1.9.0
146     Requires: x11-server-common
147     Suggests: %{drivername}-doc-html = %{version}
148     # Proper support for versioned kmod() was added in 2008.1:
149     Requires: kmod(%{modulename}) = %{version}
150     # At least mplayer dlopens libvdpau.so.1, so the software will not pull in
151     # the vdpau library package. We ensure its installation here.
152     Requires: %{_lib}vdpau1
153 anssi 219541 %if !%simple && %mgaversion >= 2
154     Requires: xserver-abi(videodrv) < %(echo $((%{videodrv_abi}+1)))
155 ahmad 66356 %endif
156 tmb 274692 Conflicts: nvidia-current-cuda-opencl <= 295.59-1
157 ahmad 56864 # Obsoletes for naming changes:
158     Obsoletes: nvidia < 1:%{version}-%{release}
159     Provides: nvidia = 1:%{version}-%{release}
160     Obsoletes: nvidia97xx < %{version}-%{release}
161     Provides: nvidia97xx = %{version}-%{release}
162    
163     %description -n %{driverpkgname}
164     NVIDIA proprietary X.org graphics driver, related libraries and
165     configuration tools for %cards,
166     including the associated Quadro cards.
167    
168     NOTE: You should use XFdrake to configure your NVIDIA card. The
169     correct packages will be automatically installed and configured.
170    
171     If you do not want to use XFdrake, see README.manual-setup.
172    
173     This NVIDIA driver should be used with %cards,
174     including the associated Quadro cards.
175    
176     %package -n dkms-%{drivername}
177     Summary: NVIDIA kernel module for %cards
178     Group: System/Kernel and hardware
179     Requires: dkms
180     Requires(post): dkms
181     Requires(preun): dkms
182     Obsoletes: dkms-nvidia < 1:%{version}-%{release}
183     Provides: dkms-nvidia = 1:%{version}-%{release}
184     Obsoletes: dkms-nvidia97xx < %{version}-%{release}
185     Provides: dkms-nvidia97xx = %{version}-%{release}
186    
187     %description -n dkms-%{drivername}
188     NVIDIA kernel module for %cards. This
189     is to be used with the %{driverpkgname} package.
190    
191     %package -n %{drivername}-devel
192 anssi 320407 Summary: NVIDIA OpenGL/CUDA development liraries and headers
193 ahmad 56864 Group: Development/C
194     Requires: %{driverpkgname} = %{version}-%{release}
195     Requires: %{drivername}-cuda-opencl = %{version}-%{release}
196     Obsoletes: nvidia-devel < 1:%{version}-%{release}
197     Provides: nvidia-devel = 1:%{version}-%{release}
198     Obsoletes: nvidia97xx-devel < %{version}-%{release}
199     Provides: nvidia97xx-devel = %{version}-%{release}
200     Requires: %{_lib}vdpau-devel
201    
202     %description -n %{drivername}-devel
203 anssi 320407 NVIDIA OpenGL/CUDA headers for %cards. This package
204     is not required for normal use.
205 ahmad 56864
206     %package -n %{drivername}-cuda-opencl
207     Summary: CUDA and OpenCL libraries for NVIDIA proprietary driver
208     Group: System/Kernel and hardware
209     Provides: %{drivername}-cuda = %{version}-%{release}
210 anssi 95763 Requires: kmod(%{modulename}) = %{version}
211 ahmad 56864 Conflicts: nvidia < 1:195.36.15-4
212 tmb 274692 Conflicts: x11-driver-video-nvidia-current <= 295.59-1
213 ahmad 56864
214     %description -n %{drivername}-cuda-opencl
215     Cuda and OpenCL libraries for NVIDIA proprietary driver. This package is not
216     required for normal use, it provides libraries to use NVIDIA cards for High
217     Performance Computing (HPC).
218    
219     # HTML doc splitted off because of size, for live cds:
220     %package -n %{drivername}-doc-html
221     Summary: NVIDIA html documentation (%{drivername})
222     Group: System/Kernel and hardware
223     Requires: %{driverpkgname} = %{version}-%{release}
224    
225     %description -n %{drivername}-doc-html
226     HTML version of the README.txt file provided in package
227     %{driverpkgname}.
228    
229     %prep
230     # No patches applied when %simple is set
231     %if %simple
232     %setup -q -c -T
233     %else
234 anssi 412170 %setup -q -c -T -a 2 -a 3 -a 4 -a 5
235 ahmad 56864 cd nvidia-settings-%{version}
236     %patch3 -p1
237     cd ..
238     %endif
239     sh %{nsource} --extract-only
240    
241 tmb 552587 %if !%simple
242     cd %{pkgname}
243     %patch4 -p2
244     cd ..
245     %endif
246 ahmad 56864
247     rm -rf %{pkgname}/usr/src/nv/precompiled
248    
249 anssi 412170 %if %simple
250     # for old releases
251     mkdir -p %{pkgname}/kernel
252     %endif
253    
254 tmb 282366 # (tmb) nuke nVidia provided dkms.conf as we need our own
255 tmb 550648 rm -f %{pkgname}/kernel/dkms.conf
256     rm -f %{pkgname}/kernel/uvm/dkms.conf.fragment
257 tmb 282366
258 tmb 552609 # hack to cope with dkms_tree not defined at rpm build time
259     dkms_tree=/var/lib/dkms
260 tmb 282366 # install our own dkms.conf
261     cat > %{pkgname}/kernel/dkms.conf <<EOF
262     PACKAGE_NAME="%{drivername}"
263     PACKAGE_VERSION="%{version}-%{release}"
264     BUILT_MODULE_NAME[0]="nvidia"
265 tmb 550648 DEST_MODULE_LOCATION[0]="/kernel/drivers/gpu/drm"
266 tmb 282366 DEST_MODULE_NAME[0]="%{modulename}"
267 tmb 552586 BUILT_MODULE_NAME[1]="nvidia-uvm"
268     BUILT_MODULE_LOCATION[1]="uvm/"
269     DEST_MODULE_LOCATION[1]="/kernel/drivers/gpu/drm"
270 tmb 282366 MAKE[0]="make SYSSRC=\${kernel_source_dir} module"
271 tmb 552609 MAKE[0]+="; make SYSSRC=\${kernel_source_dir} -C uvm module KBUILD_EXTMOD=${dkms_tree}/%{drivername}/%{version}-%{release}/build/uvm"
272 tmb 282366 CLEAN="make -f Makefile.kbuild clean"
273 tmb 552586 CLEAN+="; make -C uvm clean"
274 tmb 282366 AUTOINSTALL="yes"
275     EOF
276    
277 ahmad 56864 cat > README.install.urpmi <<EOF
278     This driver is for %cards.
279    
280     Use XFdrake to configure X to use the correct NVIDIA driver. Any needed
281     packages will be automatically installed if not already present.
282     1. Run XFdrake as root.
283     2. Go to the Graphics Card list.
284     3. Select your card (it is usually already autoselected).
285     4. Answer any questions asked and then quit.
286    
287     If you do not want to use XFdrake, see README.manual-setup.
288     EOF
289    
290     cat > README.manual-setup <<EOF
291     This file describes the procedure for the manual installation of this NVIDIA
292     driver package. You can find the instructions for the recommended automatic
293     installation in the file 'README.install.urpmi' in this directory.
294    
295     - Open %{_sysconfdir}/X11/xorg.conf and make the following changes:
296     o Change the Driver to "nvidia" in the Device section
297     o Make the line below the only 'glx' related line in the Module section,
298     adding it if it is not already there:
299     Load "glx"
300     o Remove any 'ModulePath' lines from the Files section
301     - Run "update-alternatives --set gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf" as root.
302     - Run "ldconfig -X" as root.
303     EOF
304    
305     %if !%simple
306 tmb 282100 rm nvidia-settings-%{version}/src/*/*.a
307 ahmad 56864
308     %build
309 anssi 412170 # The code contains dozens on top of dozens on top of dozens of "false" positives
310     export CFLAGS="%optflags -Wno-error=format-security"
311 ahmad 56864 export CXXFLAGS="$CFLAGS"
312     export LDFLAGS="%{?ldflags}"
313     %make -C nvidia-settings-%{version}/src/libXNVCtrl
314     %make -C nvidia-settings-%{version} STRIP_CMD=true
315     %make -C nvidia-xconfig-%{version} STRIP_CMD=true
316 anssi 412170 %make -C nvidia-modprobe-%{version} STRIP_CMD=true
317     %make -C nvidia-persistenced-%{version} STRIP_CMD=true
318 ahmad 56864
319     # %simple
320     %endif
321    
322     %install
323     rm -rf %{buildroot}
324     cd %{pkgname}
325    
326     # menu entry
327     install -d -m755 %{buildroot}%{_datadir}/%{drivername}
328 ahmad 56909 cat > %{buildroot}%{_datadir}/%{drivername}/mageia-nvidia-settings.desktop <<EOF
329 ahmad 56864 [Desktop Entry]
330     Name=NVIDIA Display Settings
331     Comment=Configure NVIDIA X driver
332     Exec=%{_bindir}/nvidia-settings
333     Icon=%{drivername}-settings
334     Terminal=false
335     Type=Application
336 anssi 181441 Categories=GTK;Settings;HardwareSettings;
337 ahmad 56864 EOF
338    
339     install -d -m755 %{buildroot}%{_datadir}/applications
340 ahmad 56909 touch %{buildroot}%{_datadir}/applications/mageia-nvidia-settings.desktop
341 ahmad 56864
342     # icons
343     install -d -m755 %{buildroot}%{_iconsdir}/hicolor/{16x16,32x32,48x48}/apps
344     %if !%simple
345     convert nvidia-settings.png -resize 16x16 %{buildroot}%{_iconsdir}/hicolor/16x16/apps/%{drivername}-settings.png
346     convert nvidia-settings.png -resize 32x32 %{buildroot}%{_iconsdir}/hicolor/32x32/apps/%{drivername}-settings.png
347     convert nvidia-settings.png -resize 48x48 %{buildroot}%{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png
348     %else
349     # no imagemagick
350     [ -e nvidia-settings.png ] || cp -a usr/share/pixmaps/nvidia-settings.png .
351     install -m644 nvidia-settings.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png
352     %endif
353    
354     error_fatal() {
355     echo "Error: $@." >&2
356     exit 1
357     }
358    
359     error_unhandled() {
360     echo "Warning: $@." >&2
361     echo "Warning: $@." >> warns.log
362     %if !%simple
363     # cause distro builds to fail in case of unhandled files
364     exit 1
365     %endif
366     }
367    
368     parseparams() {
369     for value in $rest; do
370     local param=$1
371     [ -n "$param" ] || error_fatal "unhandled parameter $value"
372     shift
373     eval $param=$value
374    
375     [ -n "$value" ] || error_fatal "empty $param"
376    
377     # resolve libdir based on $arch
378     if [ "$param" = "arch" ]; then
379     case "$arch" in
380     NATIVE) nvidia_libdir=%{nvidia_libdir};;
381     COMPAT32) nvidia_libdir=%{nvidia_libdir32};;
382     *) error_fatal "unknown arch $arch"
383     esac
384     fi
385     done
386     }
387    
388     add_to_list() {
389     %if !%simple
390     # on distro builds, only use .manifest for %doc files
391     [ "${2#%doc}" = "${2}" ] && return
392     %endif
393     local list="$1.files"
394     local entry="$2"
395     echo $entry >> $list
396     }
397    
398     install_symlink() {
399     local pkg="$1"
400     local dir="$2"
401     mkdir -p %{buildroot}$dir
402     ln -s $dest %{buildroot}$dir/$file
403     add_to_list $pkg $dir/$file
404     }
405    
406     install_lib_symlink() {
407     local pkg="$1"
408     local dir="$2"
409     case "$file" in
410     libvdpau_*.so)
411     # vdpau drivers => not put into -devel
412     ;;
413     *.so)
414     pkg=nvidia-devel;;
415     esac
416     install_symlink $pkg $dir
417     }
418    
419     install_file_only() {
420     local pkg="$1"
421     local dir="$2"
422     mkdir -p %{buildroot}$dir
423     # replace 0444 with more usual 0644
424     [ "$perms" = "0444" ] && perms="0644"
425     install -m $perms $file %{buildroot}$dir
426     }
427    
428     install_file() {
429     local pkg="$1"
430     local dir="$2"
431     install_file_only $pkg $dir
432     add_to_list $pkg $dir/$(basename $file)
433     }
434    
435     get_module_dir() {
436     local subdir="$1"
437     case "$subdir" in
438     extensions*) echo %{nvidia_extensionsdir};;
439     drivers/) echo %{nvidia_driversdir};;
440     /) echo %{nvidia_modulesdir};;
441     *) error_unhandled "unhandled module subdir $subdir"
442     echo %{nvidia_modulesdir};;
443     esac
444     }
445    
446     for file in nvidia.files nvidia-devel.files nvidia-cuda.files nvidia-dkms.files nvidia-html.files; do
447     rm -f $file
448     touch $file
449     done
450    
451     # install files according to .manifest
452     cat .manifest | tail -n +9 | while read line; do
453     rest=${line}
454     file=${rest%%%% *}
455     rest=${rest#* }
456     perms=${rest%%%% *}
457     rest=${rest#* }
458     type=${rest%%%% *}
459     rest=${rest#* }
460    
461     case "$type" in
462     CUDA_LIB)
463     parseparams arch subdir
464     install_file nvidia-cuda $nvidia_libdir/$subdir
465     ;;
466     CUDA_SYMLINK)
467     parseparams arch subdir dest
468     install_lib_symlink nvidia-cuda $nvidia_libdir/$subdir
469     ;;
470 tmb 319556 ENCODEAPI_LIB)
471 anssi 320407 parseparams arch subdir
472     install_file nvidia $nvidia_libdir/$subdir
473 tmb 319556 ;;
474     ENCODEAPI_LIB_SYMLINK)
475     parseparams arch dest
476     install_lib_symlink nvidia $nvidia_libdir
477     ;;
478 ahmad 56864 NVCUVID_LIB)
479 anssi 320407 parseparams arch subdir
480     install_file nvidia-cuda $nvidia_libdir/$subdir
481 ahmad 56864 ;;
482     NVCUVID_LIB_SYMLINK)
483     parseparams arch dest
484     install_lib_symlink nvidia-cuda $nvidia_libdir
485     ;;
486 tmb 469114 NVIFR_LIB)
487     parseparams arch style subdir
488     install_file nvidia $nvidia_libdir
489     ;;
490     NVIFR_LIB_SYMLINK)
491     parseparams arch style subdir dest
492     install_lib_symlink nvidia $nvidia_libdir
493     ;;
494 ahmad 56864 OPENGL_LIB)
495     parseparams arch
496     install_file nvidia $nvidia_libdir
497     ;;
498     OPENGL_SYMLINK)
499     parseparams arch dest
500     install_lib_symlink nvidia $nvidia_libdir
501     ;;
502     TLS_LIB)
503     parseparams arch style subdir
504     install_file nvidia $nvidia_libdir/$subdir
505     ;;
506     TLS_SYMLINK)
507     parseparams arch style subdir dest
508     install_lib_symlink nvidia $nvidia_libdir/$subdir
509     ;;
510     UTILITY_LIB)
511     install_file nvidia %{nvidia_libdir}
512     ;;
513     UTILITY_LIB_SYMLINK)
514     parseparams dest
515     install_lib_symlink nvidia %{nvidia_libdir}
516     ;;
517     VDPAU_LIB)
518     parseparams arch subdir
519     case $file in *libvdpau_nvidia.so*);; *) continue; esac
520     install_file nvidia $nvidia_libdir/$subdir
521     ;;
522     VDPAU_SYMLINK)
523     parseparams arch subdir dest
524     case $file in *libvdpau_nvidia.so*);; *) continue; esac
525     install_lib_symlink nvidia $nvidia_libdir/$subdir
526     ;;
527 tmb 550648 VDPAU_WRAPPER_LIB)
528     parseparams arch subdir
529     case $file in *libvdpau_nvidia.so*);; *) continue; esac
530     install_file nvidia $nvidia_libdir/$subdir
531     ;;
532     VDPAU_WRAPPER_SYMLINK)
533     parseparams arch subdir dest
534     case $file in *libvdpau_nvidia.so*);; *) continue; esac
535     install_lib_symlink nvidia $nvidia_libdir/$subdir
536     ;;
537 ahmad 56864 XLIB_STATIC_LIB)
538     install_file nvidia-devel %{nvidia_libdir}
539     ;;
540     XLIB_SHARED_LIB)
541     install_file nvidia %{nvidia_libdir}
542     ;;
543     XLIB_SYMLINK)
544     parseparams dest
545     install_lib_symlink nvidia %{nvidia_libdir}
546     ;;
547     LIBGL_LA)
548     # (Anssi) we don't install .la files
549     ;;
550 anssi 208481 XMODULE_SHARED_LIB|GLX_MODULE_SHARED_LIB)
551 ahmad 56864 parseparams subdir
552     install_file nvidia $(get_module_dir $subdir)
553     ;;
554     XMODULE_NEWSYM)
555     # symlink that is created only if it doesn't already
556     # exist (i.e. as part of x11-server)
557     case "$file" in
558     libwfb.so)
559     continue
560     ;;
561     *)
562     error_unhandled "unknown XMODULE_NEWSYM type file $file, skipped"
563     continue
564     esac
565     parseparams subdir dest
566     install_symlink nvidia $(get_module_dir $subdir)
567     ;;
568 anssi 208481 XMODULE_SYMLINK|GLX_MODULE_SYMLINK)
569 ahmad 56864 parseparams subdir dest
570     install_symlink nvidia $(get_module_dir $subdir)
571     ;;
572     VDPAU_HEADER)
573     continue
574     parseparams subdir
575     install_file_only nvidia-devel %{_includedir}/%{drivername}/$subdir
576     ;;
577     OPENGL_HEADER|CUDA_HEADER)
578     parseparams subdir
579     install_file_only nvidia-devel %{_includedir}/%{drivername}/$subdir
580     ;;
581     DOCUMENTATION)
582     parseparams subdir
583     case $subdir in
584     */html)
585     add_to_list nvidia-html "%%doc %{pkgname}/$file"
586     continue
587     ;;
588     */include/*)
589     continue
590     ;;
591     esac
592     case $file in
593     *XF86Config*|*nvidia-settings.png)
594     continue;;
595     esac
596     add_to_list nvidia "%%doc %{pkgname}/$file"
597     ;;
598 anssi 412170 MANPAGE|NVIDIA_MODPROBE_MANPAGE)
599 ahmad 56864 parseparams subdir
600     case "$file" in
601     *nvidia-installer*)
602     # not installed
603     continue
604     ;;
605 anssi 412170 *nvidia-settings*|*nvidia-xconfig*|*nvidia-modprobe*|*nvidia-persistenced*)
606 ahmad 56864 %if !%simple
607     # installed separately below
608     continue
609     %endif
610     ;;
611 anssi 412170 *nvidia-smi*|*nvidia-cuda-mps-control*)
612 ahmad 56864 # ok
613     ;;
614     *)
615     error_unhandled "skipped unknown man page $(basename $file)"
616     continue
617     esac
618     install_file_only nvidia %{_mandir}/$subdir
619     ;;
620     UTILITY_BINARY)
621     case "$file" in
622 anssi 412170 *nvidia-settings|*nvidia-xconfig|*nvidia-persistenced)
623 ahmad 56864 %if !%simple
624     # not installed, we install our own copy
625     continue
626     %endif
627     ;;
628 anssi 412170 *nvidia-smi|*nvidia-bug-report.sh|*nvidia-debugdump)
629 ahmad 56864 # ok
630     ;;
631 anssi 412170 *nvidia-cuda-mps-control|*nvidia-cuda-mps-server)
632     # ok
633     ;;
634 ahmad 56864 *)
635     error_unhandled "unknown binary $(basename $file) will be installed to %{nvidia_bindir}/$(basename $file)"
636     ;;
637     esac
638     install_file nvidia %{nvidia_bindir}
639     ;;
640     UTILITY_BIN_SYMLINK)
641     case $file in nvidia-uninstall) continue;; esac
642     parseparams dest
643     install_symlink nvidia %{nvidia_bindir}
644     ;;
645 anssi 412170 NVIDIA_MODPROBE)
646     # A suid-root tool (GPLv2) used as fallback for loading the module and
647     # creating the device nodes in case the driver component is running as
648     # a non-root user (e.g. a CUDA application). While the module is automatically
649     # loaded by udev rules, the device nodes are not automatically created
650     # like with regular drivers and therefore this tool is installed on
651     # Mageia as well, at least for now.
652    
653     # We install our self-compiled version in non-simple mode
654     %if %simple
655     install_file nvidia %{nvidia_bindir}
656     %endif
657     ;;
658 ahmad 56864 INSTALLER_BINARY)
659     # not installed
660     ;;
661     KERNEL_MODULE_SRC)
662     install_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release}
663     ;;
664     CUDA_ICD)
665     # in theory this should go to the cuda subpackage, but it goes into the main package
666     # as this avoids one broken symlink and it is small enough to not cause space issues
667     install_file nvidia %{_sysconfdir}/%{drivername}
668     ;;
669 anssi 412170 APPLICATION_PROFILE)
670     parseparams subdir
671     # application profile filenames are versioned, we can use a common
672     # non-alternativesized directory
673     install_file nvidia %{_datadir}/nvidia/$subdir
674     ;;
675 ahmad 56864 DOT_DESKTOP)
676     # we provide our own for now
677     ;;
678 tmb 550648 UVM_MODULE_SRC)
679     install_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release}/uvm
680     ;;
681 ahmad 56864 *)
682     error_unhandled "file $(basename $file) of unknown type $type will be skipped"
683     esac
684     done
685    
686 anssi 108523 [ -z "$warnings" ] || echo "Please inform Anssi Hannula <anssi@mageia.org> or http://bugs.mageia.org/ of the above warnings." >> warns.log
687 ahmad 56864
688     %if %simple
689     find %{buildroot}%{_libdir} %{buildroot}%{_prefix}/lib -type d | while read dir; do
690     dir=${dir#%{buildroot}}
691     echo "$dir" | grep -q nvidia && echo "%%dir $dir" >> nvidia.files
692     done
693     [ -d %{buildroot}%{_includedir}/%{drivername} ] && echo "%{_includedir}/%{drivername}" >> nvidia-devel.files
694 anssi 412170
695     # for old releases in %%simple mode
696     if ! [ -e %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/dkms.conf ]; then
697     install -m644 kernel/dkms.conf %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/dkms.conf
698     fi
699 ahmad 56864 %endif
700    
701     %if !%simple
702     # confirm SONAME; if something else than libvdpau_nvidia.so or libvdpau_nvidia.so.1, adapt .spec as needed:
703     [ "$(objdump -p %{buildroot}%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} | grep SONAME | gawk '{ print $2 }')" = "libvdpau_nvidia.so.1" ]
704    
705     rm -f %{buildroot}%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.1
706     rm -f %{buildroot}%{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.1
707     %endif
708    
709     # vdpau alternative symlink
710     install -d -m755 %{buildroot}%{_libdir}/vdpau
711     touch %{buildroot}%{_libdir}/vdpau/libvdpau_nvidia.so.1
712     %ifarch %{biarches}
713     install -d -m755 %{buildroot}%{_prefix}/lib/vdpau
714     touch %{buildroot}%{_prefix}/lib/vdpau/libvdpau_nvidia.so.1
715     %endif
716    
717     %if !%simple
718     # self-built binaries
719 tmb 282100 install -m755 ../nvidia-settings-%{version}/src/_out/*/nvidia-settings %{buildroot}%{nvidia_bindir}
720 ahmad 56864 install -m755 ../nvidia-xconfig-%{version}/_out/*/nvidia-xconfig %{buildroot}%{nvidia_bindir}
721 anssi 412170 install -m755 ../nvidia-persistenced-%{version}/_out/*/nvidia-persistenced %{buildroot}%{nvidia_bindir}
722     install -m4755 ../nvidia-modprobe-%{version}/_out/*/nvidia-modprobe %{buildroot}%{nvidia_bindir}
723 ahmad 56864 %endif
724     # binary alternatives
725     install -d -m755 %{buildroot}%{_bindir}
726 anssi 152893 touch %{buildroot}%{_bindir}/nvidia-debugdump
727 ahmad 56864 touch %{buildroot}%{_bindir}/nvidia-settings
728     touch %{buildroot}%{_bindir}/nvidia-smi
729     touch %{buildroot}%{_bindir}/nvidia-xconfig
730     touch %{buildroot}%{_bindir}/nvidia-bug-report.sh
731 anssi 412170 touch %{buildroot}%{_bindir}/nvidia-modprobe
732     touch %{buildroot}%{_bindir}/nvidia-persistenced
733     touch %{buildroot}%{_bindir}/nvidia-cuda-mps-control
734     touch %{buildroot}%{_bindir}/nvidia-cuda-mps-server
735 ahmad 56864 # rpmlint:
736     chmod 0755 %{buildroot}%{_bindir}/*
737    
738     %if !%simple
739     # install man pages
740 anssi 412170 install -m644 ../nvidia-settings-%{version}/doc/_out/*/nvidia-settings.1 %{buildroot}%{_mandir}/man1
741     install -m644 ../nvidia-xconfig-%{version}/_out/*/nvidia-xconfig.1 %{buildroot}%{_mandir}/man1
742     install -m644 ../nvidia-modprobe-%{version}/_out/*/nvidia-modprobe.1 %{buildroot}%{_mandir}/man1
743     install -m644 ../nvidia-persistenced-%{version}/_out/*/nvidia-persistenced.1 %{buildroot}%{_mandir}/man1
744 ahmad 56864 %endif
745     # bug #41638 - whatis entries of nvidia man pages appear wrong
746     gunzip %{buildroot}%{_mandir}/man1/*.gz
747     sed -r -i '/^nvidia\\-[a-z]+ \\- NVIDIA/s,^nvidia\\-,nvidia-,' %{buildroot}%{_mandir}/man1/*.1
748     cd %{buildroot}%{_mandir}/man1
749     rename nvidia alt-%{drivername} *
750     cd -
751     touch %{buildroot}%{_mandir}/man1/nvidia-xconfig.1%{_extension}
752     touch %{buildroot}%{_mandir}/man1/nvidia-settings.1%{_extension}
753 anssi 412170 touch %{buildroot}%{_mandir}/man1/nvidia-modprobe.1%{_extension}
754     touch %{buildroot}%{_mandir}/man1/nvidia-persistenced.1%{_extension}
755 ahmad 56864 touch %{buildroot}%{_mandir}/man1/nvidia-smi.1%{_extension}
756 anssi 412170 touch %{buildroot}%{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}
757 ahmad 56864
758     # cuda nvidia.icd
759     install -d -m755 %{buildroot}%{_sysconfdir}/OpenCL/vendors
760     touch %{buildroot}%{_sysconfdir}/OpenCL/vendors/nvidia.icd
761    
762     # ld.so.conf
763     install -d -m755 %{buildroot}%{_sysconfdir}/%{drivername}
764     echo "%{nvidia_libdir}" > %{buildroot}%{_sysconfdir}/%{drivername}/ld.so.conf
765     %ifarch %{biarches}
766     echo "%{nvidia_libdir32}" >> %{buildroot}%{_sysconfdir}/%{drivername}/ld.so.conf
767     %endif
768     install -d -m755 %{buildroot}%{_sysconfdir}/ld.so.conf.d
769     touch %{buildroot}%{_sysconfdir}/ld.so.conf.d/GL.conf
770    
771     # modprobe.conf
772     install -d -m755 %{buildroot}%{_sysconfdir}/modprobe.d
773 ahmad 66356 touch %{buildroot}%{_sysconfdir}/modprobe.d/display-driver.conf
774 anssi 87268 echo "install nvidia /sbin/modprobe %{modulename} \$CMDLINE_OPTS" > %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf
775 ahmad 56864
776     # xinit script
777     install -d -m755 %{buildroot}%{_sysconfdir}/%{drivername}
778     cat > %{buildroot}%{_sysconfdir}/%{drivername}/nvidia-settings.xinit <<EOF
779     # to be sourced
780     #
781     # Do not modify this file; the changes will be overwritten.
782     # If you want to disable automatic configuration loading, create
783     # /etc/sysconfig/nvidia-settings with this line: LOAD_NVIDIA_SETTINGS="no"
784     #
785     LOAD_NVIDIA_SETTINGS="yes"
786     [ -f %{_sysconfdir}/sysconfig/nvidia-settings ] && . %{_sysconfdir}/sysconfig/nvidia-settings
787     [ "\$LOAD_NVIDIA_SETTINGS" = "yes" ] && %{_bindir}/nvidia-settings --load-config-only
788     EOF
789     chmod 0755 %{buildroot}%{_sysconfdir}/%{drivername}/nvidia-settings.xinit
790     install -d -m755 %{buildroot}%{_sysconfdir}/X11/xinit.d
791     touch %{buildroot}%{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit
792    
793     # install ldetect-lst pcitable files for backports
794     # local version of merge2pcitable.pl:read_nvidia_readme:
795 anssi 412170 section="nothingyet"
796 ahmad 56864 set +x
797     [ -e README.txt ] || cp -a usr/share/doc/README.txt .
798     cat README.txt | while read line; do
799 anssi 412170 if [ "$section" = "nothingyet" ] || [ "$section" = "midspace" ]; then
800     if echo "$line" | grep -Pq "^\s*NVIDIA GPU product\s+Device PCI ID"; then
801     section="data"
802     elif [ "$section" = "midspace" ] && echo "$line" | grep -Pq "legacy"; then
803     break
804     fi
805 ahmad 56864 continue
806     fi
807 anssi 412170
808     if [ "$section" = "data" ] && echo "$line" | grep -Pq "^\s*$"; then
809     section="midspace"
810 ahmad 56864 continue
811     fi
812 anssi 412170
813 ahmad 56864 echo "$line" | grep -Pq "^\s*-+[\s-]+$" && continue
814 anssi 412170 id=$(echo "$line" | sed -nre 's,^\s*.+?\s\s+0x(....).*$,\1,p' | tr '[:upper:]' '[:lower:]')
815     id2=$(echo "$line" | sed -nre 's,^\s*.+?\s\s+0x(....)\s0x(....).*$,\2,p' | tr '[:upper:]' '[:lower:]')
816     subsysid=
817     # not useful as of 2013-05 -Anssi
818     #[ -n "$id2" ] && subsysid=" 0x10de 0x$id2"
819     echo "0x10de 0x$id$subsysid \"Card:%{ldetect_cards_name}\""
820 ahmad 56864 done | sort -u > pcitable.nvidia.lst
821     set -x
822     [ $(wc -l pcitable.nvidia.lst | cut -f1 -d" ") -gt 200 ]
823     %if "%{ldetect_cards_name}" != ""
824     install -d -m755 %{buildroot}%{_datadir}/ldetect-lst/pcitable.d
825     gzip -c pcitable.nvidia.lst > %{buildroot}%{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz
826     %endif
827    
828 anssi 412170 export EXCLUDE_FROM_STRIP="$(find %{buildroot} -type f \! -name nvidia-settings \! -name nvidia-xconfig \! -name nvidia-modprobe \! -name nvidia-persistenced)"
829 ahmad 56864
830     %post -n %{driverpkgname}
831     # XFdrake used to generate an nvidia.conf file
832     [ -L %{_sysconfdir}/modprobe.d/nvidia.conf ] || rm -f %{_sysconfdir}/modprobe.d/nvidia.conf
833    
834     current_glconf="$(readlink -e %{_sysconfdir}/ld.so.conf.d/GL.conf)"
835    
836     # owned by libvdpau1, created in case libvdpau1 is installed only just after
837     # this package
838     mkdir -p %{_libdir}/vdpau
839    
840     %{_sbindir}/update-alternatives \
841     --install %{_sysconfdir}/ld.so.conf.d/GL.conf gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf %{priority} \
842     --slave %{_mandir}/man1/nvidia-settings.1%{_extension} man_nvidiasettings%{_extension} %{_mandir}/man1/alt-%{drivername}-settings.1%{_extension} \
843     --slave %{_mandir}/man1/nvidia-xconfig.1%{_extension} man_nvidiaxconfig%{_extension} %{_mandir}/man1/alt-%{drivername}-xconfig.1%{_extension} \
844     --slave %{_mandir}/man1/nvidia-smi.1%{_extension} nvidia-smi.1%{_extension} %{_mandir}/man1/alt-%{drivername}-smi.1%{_extension} \
845 anssi 412170 --slave %{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension} nvidia-cuda-mps-control.1%{_extension} %{_mandir}/man1/alt-%{drivername}-cuda-mps-control.1%{_extension} \
846 ahmad 56909 --slave %{_datadir}/applications/mageia-nvidia-settings.desktop nvidia_desktop %{_datadir}/%{drivername}/mageia-nvidia-settings.desktop \
847 ahmad 56864 --slave %{_bindir}/nvidia-settings nvidia_settings %{nvidia_bindir}/nvidia-settings \
848     --slave %{_bindir}/nvidia-smi nvidia_smi %{nvidia_bindir}/nvidia-smi \
849     --slave %{_bindir}/nvidia-xconfig nvidia_xconfig %{nvidia_bindir}/nvidia-xconfig \
850 anssi 152893 --slave %{_bindir}/nvidia-debugdump nvidia-debugdump %{nvidia_bindir}/nvidia-debugdump \
851 ahmad 56864 --slave %{_bindir}/nvidia-bug-report.sh nvidia_bug_report %{nvidia_bindir}/nvidia-bug-report.sh \
852 anssi 412170 --slave %{_bindir}/nvidia-cuda-mps-control nvidia-cuda-mps-control %{nvidia_bindir}/nvidia-cuda-mps-control \
853     --slave %{_bindir}/nvidia-cuda-mps-server nvidia-cuda-mps-server %{nvidia_bindir}/nvidia-cuda-mps-server \
854     --slave %{_bindir}/nvidia-modprobe nvidia-modprobe %{nvidia_bindir}/nvidia-modprobe \
855     --slave %{_bindir}/nvidia-persistenced nvidia-persistenced %{nvidia_bindir}/nvidia-persistenced \
856 ahmad 56864 --slave %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit nvidia-settings.xinit %{_sysconfdir}/%{drivername}/nvidia-settings.xinit \
857     --slave %{_libdir}/vdpau/libvdpau_nvidia.so.1 %{_lib}vdpau_nvidia.so.1 %{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} \
858 anssi 87344 --slave %{_sysconfdir}/modprobe.d/display-driver.conf display-driver.conf %{_sysconfdir}/%{drivername}/modprobe.conf \
859 ahmad 56864 --slave %{_sysconfdir}/OpenCL/vendors/nvidia.icd nvidia.icd %{_sysconfdir}/%{drivername}/nvidia.icd \
860     %ifarch %{biarches}
861     --slave %{_prefix}/lib/vdpau/libvdpau_nvidia.so.1 libvdpau_nvidia.so.1 %{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version} \
862     %endif
863     --slave %{xorg_extra_modules} xorg_extra_modules %{nvidia_extensionsdir} \
864    
865     if [ "${current_glconf}" = "%{_sysconfdir}/nvidia97xx/ld.so.conf" ]; then
866     # Adapt for the renaming of the driver. X.org config still has the old ModulePaths
867     # but they do not matter as we are using alternatives for libglx.so now.
868     %{_sbindir}/update-alternatives --set gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf
869     fi
870     # explicit /sbin/ldconfig due to alternatives
871     /sbin/ldconfig -X
872    
873     %if "%{ldetect_cards_name}" != ""
874     [ -x %{_sbindir}/update-ldetect-lst ] && %{_sbindir}/update-ldetect-lst || :
875     %endif
876    
877     %postun -n %{driverpkgname}
878     if [ ! -f %{_sysconfdir}/%{drivername}/ld.so.conf ]; then
879     %{_sbindir}/update-alternatives --remove gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf
880     fi
881     # explicit /sbin/ldconfig due to alternatives
882     /sbin/ldconfig -X
883    
884     %if "%{ldetect_cards_name}" != ""
885     [ -x %{_sbindir}/update-ldetect-lst ] && %{_sbindir}/update-ldetect-lst || :
886     %endif
887    
888 anssi 174611 %post -n %{drivername}-cuda-opencl
889     # explicit /sbin/ldconfig due to a non-standard library directory
890     /sbin/ldconfig -X
891 ahmad 56864
892     %post -n dkms-%{drivername}
893     /usr/sbin/dkms --rpm_safe_upgrade add -m %{drivername} -v %{version}-%{release} &&
894     /usr/sbin/dkms --rpm_safe_upgrade build -m %{drivername} -v %{version}-%{release} &&
895     /usr/sbin/dkms --rpm_safe_upgrade install -m %{drivername} -v %{version}-%{release} --force
896    
897     # rmmod any old driver if present and not in use (e.g. by X)
898     rmmod nvidia > /dev/null 2>&1 || true
899    
900     %preun -n dkms-%{drivername}
901     /usr/sbin/dkms --rpm_safe_upgrade remove -m %{drivername} -v %{version}-%{release} --all
902    
903     # rmmod any old driver if present and not in use (e.g. by X)
904     rmmod nvidia > /dev/null 2>&1 || true
905    
906     %clean
907     rm -rf %{buildroot}
908    
909     %files -n %{driverpkgname} -f %{pkgname}/nvidia.files
910     %defattr(-,root,root)
911     # other documentation files are listed in nvidia.files
912     %doc README.install.urpmi README.manual-setup
913    
914     %if "%{ldetect_cards_name}" != ""
915     %{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz
916     %endif
917    
918 anssi 320407 # ld.so.conf, modprobe.conf, xinit
919 ahmad 56864 %ghost %{_sysconfdir}/ld.so.conf.d/GL.conf
920     %ghost %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit
921 ahmad 66356 %ghost %{_sysconfdir}/modprobe.d/display-driver.conf
922 ahmad 56864 %dir %{_sysconfdir}/%{drivername}
923     %{_sysconfdir}/%{drivername}/modprobe.conf
924     %{_sysconfdir}/%{drivername}/ld.so.conf
925     %{_sysconfdir}/%{drivername}/nvidia-settings.xinit
926     %if !%simple
927     %{_sysconfdir}/%{drivername}/nvidia.icd
928 anssi 412170 %dir %{_datadir}/nvidia
929     %{_datadir}/nvidia/nvidia-application-profiles-%{version}-rc
930 ahmad 56864 %endif
931    
932     %dir %{_sysconfdir}/OpenCL
933     %dir %{_sysconfdir}/OpenCL/vendors
934     %ghost %{_sysconfdir}/OpenCL/vendors/nvidia.icd
935    
936 anssi 152893 %ghost %{_bindir}/nvidia-debugdump
937 ahmad 56864 %ghost %{_bindir}/nvidia-settings
938     %ghost %{_bindir}/nvidia-smi
939     %ghost %{_bindir}/nvidia-xconfig
940 anssi 412170 %ghost %{_bindir}/nvidia-modprobe
941     %ghost %{_bindir}/nvidia-persistenced
942 ahmad 56864 %ghost %{_bindir}/nvidia-bug-report.sh
943 anssi 412170 %ghost %{_bindir}/nvidia-cuda-mps-control
944     %ghost %{_bindir}/nvidia-cuda-mps-server
945 ahmad 56864 %if !%simple
946     %dir %{nvidia_bindir}
947 anssi 152893 %{nvidia_bindir}/nvidia-debugdump
948 ahmad 56864 %{nvidia_bindir}/nvidia-settings
949     %{nvidia_bindir}/nvidia-smi
950     %{nvidia_bindir}/nvidia-xconfig
951 anssi 412170 %{nvidia_bindir}/nvidia-modprobe
952     %{nvidia_bindir}/nvidia-persistenced
953 ahmad 56864 %{nvidia_bindir}/nvidia-bug-report.sh
954 anssi 412170 %{nvidia_bindir}/nvidia-cuda-mps-control
955     %{nvidia_bindir}/nvidia-cuda-mps-server
956 ahmad 56864 %endif
957    
958     %ghost %{_mandir}/man1/nvidia-xconfig.1%{_extension}
959     %ghost %{_mandir}/man1/nvidia-settings.1%{_extension}
960 anssi 412170 %ghost %{_mandir}/man1/nvidia-modprobe.1%{_extension}
961     %ghost %{_mandir}/man1/nvidia-persistenced.1%{_extension}
962 ahmad 56864 %ghost %{_mandir}/man1/nvidia-smi.1%{_extension}
963 anssi 412170 %ghost %{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}
964 ahmad 56864 %if !%simple
965     %{_mandir}/man1/alt-%{drivername}-xconfig.1*
966     %{_mandir}/man1/alt-%{drivername}-settings.1*
967 anssi 412170 %{_mandir}/man1/alt-%{drivername}-modprobe.1*
968     %{_mandir}/man1/alt-%{drivername}-persistenced.1*
969 ahmad 56864 %{_mandir}/man1/alt-%{drivername}-smi.1*
970 anssi 412170 %{_mandir}/man1/alt-%{drivername}-cuda-mps-control.1*
971 ahmad 56864 %else
972     %{_mandir}/man1/alt-%{drivername}-*
973     %endif
974    
975 ahmad 56909 %ghost %{_datadir}/applications/mageia-nvidia-settings.desktop
976 ahmad 56864 %dir %{_datadir}/%{drivername}
977 ahmad 56909 %{_datadir}/%{drivername}/mageia-nvidia-settings.desktop
978 ahmad 56864
979     %if !%simple
980     %{_iconsdir}/hicolor/16x16/apps/%{drivername}-settings.png
981     %{_iconsdir}/hicolor/32x32/apps/%{drivername}-settings.png
982     %endif
983     %{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png
984    
985     %if !%simple
986     %dir %{nvidia_libdir}
987     %dir %{nvidia_libdir}/tls
988     %dir %{nvidia_libdir}/vdpau
989     %{nvidia_libdir}/libGL.so.%{version}
990     %{nvidia_libdir}/libnvidia-glcore.so.%{version}
991     %{nvidia_libdir}/libnvidia-cfg.so.%{version}
992     %{nvidia_libdir}/libnvidia-tls.so.%{version}
993     %{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version}
994     %{nvidia_libdir}/libGL.so.1
995     %{nvidia_libdir}/libnvidia-cfg.so.1
996 tmb 550648 %{nvidia_libdir}/libnvidia-fbc.so.1
997     %{nvidia_libdir}/libnvidia-fbc.so.%{version}
998 tmb 469114 %{nvidia_libdir}/libnvidia-ifr.so.1
999     %{nvidia_libdir}/libnvidia-ifr.so.%{version}
1000 tmb 274692 %{nvidia_libdir}/libnvidia-ml.so.1
1001     %{nvidia_libdir}/libnvidia-ml.so.%{version}
1002 ahmad 56864 %{nvidia_libdir}/libvdpau_nvidia.so
1003     %{nvidia_libdir}/tls/libnvidia-tls.so.%{version}
1004 tmb 551069 # .manifest places theese on same place in 32 and 64 bit build
1005 tmb 550648 %{nvidia_libdir32}/libEGL.so.1
1006     %{nvidia_libdir32}/libEGL.so.%{version}
1007     %{nvidia_libdir32}/libGLESv1_CM.so.1
1008     %{nvidia_libdir32}/libGLESv1_CM.so.%{version}
1009     %{nvidia_libdir32}/libGLESv2.so.2
1010     %{nvidia_libdir32}/libGLESv2.so.%{version}
1011     %{nvidia_libdir32}/libnvidia-eglcore.so.%{version}
1012 tmb 551069 %{nvidia_libdir32}/libnvidia-glsi.so.%{version}
1013     %ifarch %{biarches}
1014     %dir %{nvidia_libdir32}
1015     %dir %{nvidia_libdir32}/tls
1016     %dir %{nvidia_libdir32}/vdpau
1017     %{nvidia_libdir32}/libGL.so.%{version}
1018 ahmad 56864 %{nvidia_libdir32}/libnvidia-glcore.so.%{version}
1019 tmb 469114 %{nvidia_libdir32}/libnvidia-ifr.so.1
1020     %{nvidia_libdir32}/libnvidia-ifr.so.%{version}
1021 tmb 274692 %{nvidia_libdir32}/libnvidia-ml.so.1
1022     %{nvidia_libdir32}/libnvidia-ml.so.%{version}
1023 ahmad 56864 %{nvidia_libdir32}/libnvidia-tls.so.%{version}
1024     %{nvidia_libdir32}/libvdpau_nvidia.so
1025     %{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version}
1026     %{nvidia_libdir32}/libGL.so.1
1027     %{nvidia_libdir32}/tls/libnvidia-tls.so.%{version}
1028     %endif
1029     # %simple
1030     %endif
1031    
1032     %ghost %{_libdir}/vdpau/libvdpau_nvidia.so.1
1033     %ifarch %{biarches}
1034     # avoid unowned directory
1035     %dir %{_prefix}/lib/vdpau
1036     %ghost %{_prefix}/lib/vdpau/libvdpau_nvidia.so.1
1037     %endif
1038    
1039 ahmad 56909 %if !%simple
1040 ahmad 56864 %dir %{nvidia_modulesdir}
1041     %{nvidia_modulesdir}/libnvidia-wfb.so.1
1042     %endif
1043    
1044     %if !%simple
1045     %{nvidia_modulesdir}/libnvidia-wfb.so.%{version}
1046     %endif
1047    
1048     %if !%simple
1049     %{nvidia_extensionsdir}/libglx.so.%{version}
1050     %{nvidia_extensionsdir}/libglx.so
1051     %endif
1052    
1053     %if !%simple
1054     %{nvidia_driversdir}/nvidia_drv.so
1055     %endif
1056    
1057     %files -n %{drivername}-devel -f %pkgname/nvidia-devel.files
1058     %defattr(-,root,root)
1059     %if !%simple
1060     %{_includedir}/%{drivername}
1061     %{nvidia_libdir}/libGL.so
1062     %{nvidia_libdir}/libcuda.so
1063     %{nvidia_libdir}/libnvcuvid.so
1064     %{nvidia_libdir}/libnvidia-cfg.so
1065 tmb 550648 %{nvidia_libdir}/libnvidia-fbc.so
1066 tmb 469114 %{nvidia_libdir}/libnvidia-ifr.so
1067 ahmad 56864 %{nvidia_libdir}/libOpenCL.so
1068 ahmad 56909 %{nvidia_libdir}/libnvidia-ml.so
1069 anssi 320407 %{nvidia_libdir}/libnvidia-encode.so
1070 tmb 551069 # .manifest places theese on same place in 32 and 64 bit build
1071     %{nvidia_libdir32}/libEGL.so
1072     %{nvidia_libdir32}/libGLESv1_CM.so
1073     %{nvidia_libdir32}/libGLESv2.so
1074 ahmad 56864 %ifarch %{biarches}
1075 ahmad 131180 %{nvidia_libdir32}/libnvidia-ml.so
1076 ahmad 56864 %{nvidia_libdir32}/libGL.so
1077 tmb 550648 %{nvidia_libdir32}/libGLESv1_CM.so
1078     %{nvidia_libdir32}/libGLESv2.so
1079 ahmad 56864 %{nvidia_libdir32}/libcuda.so
1080 anssi 320407 %{nvidia_libdir32}/libnvcuvid.so
1081 tmb 469114 %{nvidia_libdir32}/libnvidia-ifr.so
1082 ahmad 56864 %{nvidia_libdir32}/libOpenCL.so
1083 anssi 320407 %{nvidia_libdir32}/libnvidia-encode.so
1084 ahmad 56864 %endif
1085     %endif
1086    
1087     %files -n dkms-%{drivername}
1088     %defattr(-,root,root)
1089     %doc %{pkgname}/LICENSE
1090     %{_usrsrc}/%{drivername}-%{version}-%{release}
1091    
1092     %files -n %{drivername}-doc-html -f %pkgname/nvidia-html.files
1093     %defattr(-,root,root)
1094    
1095     %files -n %{drivername}-cuda-opencl -f %pkgname/nvidia-cuda.files
1096     %defattr(-,root,root)
1097 anssi 412170 # Do not preferably add any alternativeszificated binaries here,
1098     # they cause broken symlinks.
1099 ahmad 56864 %if !%simple
1100     %{nvidia_libdir}/libOpenCL.so.1.0.0
1101     %{nvidia_libdir}/libOpenCL.so.1.0
1102     %{nvidia_libdir}/libOpenCL.so.1
1103     %{nvidia_libdir}/libnvcuvid.so.%{version}
1104     %{nvidia_libdir}/libnvcuvid.so.1
1105     %{nvidia_libdir}/libnvidia-compiler.so.%{version}
1106 anssi 320407 %{nvidia_libdir}/libnvidia-encode.so.1
1107     %{nvidia_libdir}/libnvidia-encode.so.%{version}
1108 tmb 282100 %{nvidia_libdir}/libnvidia-opencl.so.1
1109     %{nvidia_libdir}/libnvidia-opencl.so.%{version}
1110 ahmad 56864 %{nvidia_libdir}/libcuda.so.%{version}
1111     %{nvidia_libdir}/libcuda.so.1
1112     %ifarch %{biarches}
1113     %{nvidia_libdir32}/libOpenCL.so.1.0.0
1114     %{nvidia_libdir32}/libOpenCL.so.1.0
1115     %{nvidia_libdir32}/libOpenCL.so.1
1116 anssi 320407 %{nvidia_libdir32}/libnvcuvid.so.%{version}
1117     %{nvidia_libdir32}/libnvcuvid.so.1
1118 ahmad 56864 %{nvidia_libdir32}/libnvidia-compiler.so.%{version}
1119 anssi 320407 %{nvidia_libdir32}/libnvidia-encode.so.1
1120     %{nvidia_libdir32}/libnvidia-encode.so.%{version}
1121     %{nvidia_libdir32}/libnvidia-opencl.so.1
1122     %{nvidia_libdir32}/libnvidia-opencl.so.%{version}
1123 ahmad 56864 %{nvidia_libdir32}/libcuda.so.%{version}
1124     %{nvidia_libdir32}/libcuda.so.1
1125     %endif
1126     %endif

  ViewVC Help
Powered by ViewVC 1.1.30