Kim Bisgaard wrote:
Axel Thimm wrote:
On Sat, Jun 21, 2008 at 12:18:26PM +0200, Kim Bisgaard wrote:
ERROR: Failure creating directory '/var/lib/nvidia': (Permission denied)
Do I really need to build the rpm as root, when it using fakeroot?
You "only" need to have permissions to create /var/lib/nvidia.
Thanks!

It seems that cuda is not included anymore mind if I rip it out?
Hi,

Here is the resulting spec.

- I had to use other urls to download the sources.
- I have removed CUDA (libcuda.so.*) as it seems not to be there any more (and no obvious way to get it from nvidia-installer either) - there is a new bin (nvidia-smi) which I have renamed to nvidia-smi-NVversion, if nvidia-graphics-switch needs modifications - I have not done so...

I can also confirm that the regression has NOT been fixed - GeForce 6150 does bring the machine to a halt - no network, no nothing, only reset works :-(

Better luck to others!

Regards,
Kim


%define NVversion 173.14.09
%define NVIDIArelease %(echo %{NVversion} | sed -e's,1.0-,,')
%define NVfolder nvidia-graphics-%{NVversion}
%define NVmodule nvidia-%(echo %{NVversion} | sed -e's,\\.,_,g')

%kmdl nvidia-graphics%{NVIDIArelease}
%define hastls %(test -e /%{_lib}/tls && echo 1 || echo 0)

Summary: NVIDIA Linux Display Driver
Name: nvidia-graphics%{NVIDIArelease}
Version: %(echo %{NVversion} | sed -e's,-,_,')
Release: 99%{?dist}
Epoch: 1
License: NVIDIA, distributable
Group: User Interface/X Hardware Support
Source0: 
http://us.download.nvidia.com/XFree86/Linux-x86/%{NVversion}/NVIDIA-Linux-x86-%{NVversion}-pkg0.run
Source1: 
http://us.download.nvidia.com/XFree86/Linux-x86_64/%{NVversion}/NVIDIA-Linux-x86_64-%{NVversion}-pkg0.run
Patch0: NVIDIA_kernel-1.0-9625-NOSMBUS.diff.txt 
#Patch1: patch-nv-1.0-9625-xenrt.txt
#Patch2: NVIDIA_kernel-169.12-2286310.diff.txt
URL: http://www.nvidia.com/object/linux_display_ia32_%{NVversion}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires: fakeroot, /sbin/modprobe, nvidia-graphics-helpers >= 0.0.18
BuildRequires: %{_x_module_path}
ExclusiveArch: %ix86 x86_64
Requires: %{name}-libs = %{evr}
%kmdl_parentdependencies
Requires: python2, pyxf86config >= 0.3.5
Requires(post): nvidia-graphics-helpers

%description
The NVIDIA Accelerated Linux Driver Set brings both accelerated 2D
functionality and high performance OpenGL support to Linux x86 with
the use of NVIDIA graphics processing units (GPUs).

These drivers provide optimized hardware acceleration of OpenGL
applications via a direct-rendering X Server and support nearly all
NVIDIA graphics chips. TwinView, TV-Out and flat panel displays are
also supported.

This package includes NVIDIA module for X11 and OpenGL libraries.
Older RIVA 128 based video cards are supported by the server module
shipping with xorg/XFree86, nv_drv.o.

You must also install a matching %kmdl_namepure rpm, if you want to
utilize these drivers.

Add
 ModulePath "%{_x_module_path}/extensions/nvidia"
 ModulePath "%{_x_module_path}/extensions"
 ModulePath "%{_x_module_path}"
to `Section "Files"' in the config file and remove/comment the dri module.

%package libs
Summary: Libraries for nvidia-graphics chips
Group: System Environment/Libraries

%description libs
The NVIDIA Accelerated Linux Driver Set brings both accelerated 2D
functionality and high performance OpenGL support to Linux x86 with
the use of NVIDIA graphics processing units (GPUs).

This package contains runtime libraries for NVIDIA GPUs.

%package devel
Summary: Development files for nvidia-graphics chips
Group: Development/Libraries
Requires: %{name}-libs = %{evr}

%description devel
The NVIDIA Accelerated Linux Driver Set brings both accelerated 2D
functionality and high performance OpenGL support to Linux x86 with
the use of NVIDIA graphics processing units (GPUs).

This package contains files necessary for developing for NVIDIA GPUs.

%package -n %kmdl_name
%kmdl_dependencies
Summary: Kernel module for NVIDIA graphics architecture support
Group: System Environment/Kernel
Requires: nvidia-graphics-devices

%description -n %kmdl_name
NVIDIA Architecture support for systems with updated or custom kernels.

%kmdl_desc

%prep
%setup -q -c -T
%ifarch %ix86
sh %{SOURCE0} --extract-only
%else
sh %{SOURCE1} --extract-only
%endif
mv NVIDIA-Linux-*-%{NVversion}*/{*,.??*} .
rmdir NVIDIA-Linux-*-%{NVversion}*
%patch0 -p0
#cd usr/src/nv
#patch1 -p1
#cd ../../../
#patch2 -p0

%define installpath %{kmdl_moduledir}/drivers/video/nvidia

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}

fakebin=`pwd`/fakebin
mkdir $fakebin
PATH=%{_libexecdir}/nvidia-graphics-helpers:$PATH
export PATH

%if %{kmdl_userland}

LD_LIBRARY_PATH=%{buildroot}%{_libdir} fakeroot \
./nvidia-installer -s -N -e -b \
  --no-runlevel-check \
  --no-rpms \
  --no-x-check \
  --utility-prefix=%{buildroot}%{_prefix} \
  --documentation-prefix=%{buildroot}%{_prefix} \
  --x-prefix=%{buildroot}%{_x_prefix} \
  --x-library-path=%{buildroot}%{_x_libraries} \
  --x-module-path=%{buildroot}%{_x_module_path} \
  --opengl-prefix=%{buildroot}%{_prefix} \
  --log-file-name=user.log \
  --no-kernel-module \
  && success=yes
cat user.log
cat /tmp/fakebin.log
test -z "$success" && exit 1

# remove embedded destination dir
sed -i -e"s,%{buildroot},,g" \
  %{buildroot}%{_prefix}/share/applications/nvidia-settings.desktop \
  %{buildroot}%{_libdir}/libGL.la

# copy png for desktop file
mkdir -p %{buildroot}%{_datadir}/pixmaps
cp -a %{buildroot}%{_prefix}/share/doc/NVIDIA_GLX-1.0/nvidia-settings.png \
  %{buildroot}%{_datadir}/pixmaps
sed -i 
-e"s,%{_prefix}/share/doc/NVIDIA_GLX-1.0/nvidia-settings.png,%{_datadir}/pixmaps/nvidia-settings.png,"
 \
  %{buildroot}%{_prefix}/share/applications/nvidia-settings.desktop

# move docs
mkdir -p %{buildroot}%{_defaultdocdir}
mv %{buildroot}%{_prefix}/share/doc/NVIDIA_GLX-1.0 \
   %{buildroot}%{_defaultdocdir}/%{name}-%{version}

%else

%kmdl_config

fakeroot \
./nvidia-installer -s -N -e -b \
  --no-runlevel-check \
  --no-rpms \
  --no-x-check \
  --kernel-source-path=%{kmdl_kernelsrcdir} \
  --kernel-install-path=%{buildroot}%{installpath} \
  --log-file-name=kernel.log \
  -K -k %{_kernel} \
  && success=yes
cat kernel.log
test -z "$success" && exit 1

%endif
grep -r %{buildroot} %{buildroot} && exit 1

%if %{kmdl_userland}

mkdir -p %{buildroot}%{_x_module_path}/extensions/%{NVfolder}
mv %{buildroot}%{_x_module_path}/extensions/*.so* \
   %{buildroot}%{_x_module_path}/extensions/%{NVfolder}/
mkdir -p %{buildroot}%{_x_module_path}/%{NVfolder}
if ls %{buildroot}%{_x_module_path}/*.so* >/dev/null 2>&1; then
  mv %{buildroot}%{_x_module_path}/*.so* \
     %{buildroot}%{_x_module_path}/%{NVfolder}/
fi
# remove libwfb.so if the system provides one
if test -f %{_x_module_path}/libwfb.so; then
  rm -f %{buildroot}%{_x_module_path}/%{NVfolder}/libwfb.so
fi

mkdir -p %{buildroot}%{_libdir}/%{NVfolder}
#mv %{buildroot}%{_libdir}/{libGL*,libnvidia*,libcuda*} 
%{buildroot}%{_libdir}/%{NVfolder}/
mv %{buildroot}%{_libdir}/{libGL*,libnvidia*} 
%{buildroot}%{_libdir}/%{NVfolder}/
/sbin/ldconfig -n %{buildroot}%{_libdir}/%{NVfolder}
#rm -f %{buildroot}%{_libdir}/%{NVfolder}/libGL.so
#ln -s libGL.so.1 %{buildroot}%{_libdir}/%{NVfolder}/libGL.so
#ln -s libGLcore.so.1 %{buildroot}%{_libdir}/%{NVfolder}/libGLcore.so
%if %hastls
mkdir -p %{buildroot}%{_libdir}/%{NVfolder}/tls
mv %{buildroot}%{_libdir}/tls/libnvidia* %{buildroot}%{_libdir}/%{NVfolder}/tls/
%endif

mkdir -p %{buildroot}%{_x_libraries}/%{NVfolder}
mv %{buildroot}%{_x_libraries}/lib*.so* %{buildroot}%{_x_libraries}/%{NVfolder}/
/sbin/ldconfig -n %{buildroot}%{_x_libraries}/%{NVfolder}
ln -s %{NVfolder}/libXvMCNVIDIA_dynamic.so.1 
%{buildroot}%{_x_libraries}/libXvMCNVIDIA.so

mkdir %{buildroot}%{_x_module_path}/drivers/%{NVfolder}
mv %{buildroot}%{_x_module_path}/drivers/nvidia_drv.so \
  %{buildroot}%{_x_module_path}/drivers/%{NVfolder}
ln -s %{NVfolder}/nvidia_drv.so \
  %{buildroot}%{_x_module_path}/drivers/nvidia-%{NVversion}_drv.so

mkdir -p %{buildroot}%{_includedir}/%{NVfolder}
mv %{buildroot}%{_includedir}/GL %{buildroot}%{_includedir}/%{NVfolder}
#mv %{buildroot}%{_includedir}/cuda %{buildroot}%{_includedir}/%{NVfolder}

rm -f %{buildroot}%{_bindir}/nvidia-installer
mv %{buildroot}%{_bindir}/nvidia-settings 
%{buildroot}%{_bindir}/nvidia-settings-%{NVversion}
mv %{buildroot}%{_bindir}/nvidia-xconfig 
%{buildroot}%{_bindir}/nvidia-xconfig-%{NVversion}
mv %{buildroot}%{_bindir}/nvidia-smi 
%{buildroot}%{_bindir}/nvidia-smi-%{NVversion}
mv %{buildroot}%{_bindir}/nvidia-bug-report.sh 
%{buildroot}%{_bindir}/nvidia-bug-report-%{NVversion}.sh

sed -i -e's,Exec=nvidia-settings,Exec=nvidia-settings-%{NVversion},' \
  -e's,nvidia-settings.png,nvidia-settings-%{NVversion}.png,' \
  -e's,\(Comment=.*\),\1 (%{NVversion}),' \
  %{buildroot}%{_datadir}/applications/nvidia-settings.desktop
mv %{buildroot}%{_datadir}/applications/nvidia-settings.desktop \
   %{buildroot}%{_datadir}/applications/nvidia-settings-%{NVversion}.desktop
mv %{buildroot}%{_datadir}/pixmaps/nvidia-settings.png \
   %{buildroot}%{_datadir}/pixmaps/nvidia-settings-%{NVversion}.png

for page in %{buildroot}%{_mandir}/man1/nvidia-*; do
  newpage=`echo $page | sed -e's,\(.*/nvidia-.*\)\.1,\1-%{NVversion}\.1,'`
  mv $page $newpage
done

%else

if [ -f %{buildroot}%{installpath}/nvidia.ko ]; then
  mv %{buildroot}%{installpath}/nvidia.ko \
     %{buildroot}%{installpath}/%{NVmodule}.ko
elif [ -f %{buildroot}%{installpath}/nvidia.o ]; then
  mv %{buildroot}%{installpath}/nvidia.o \
     %{buildroot}%{installpath}/%{NVmodule}.o
fi

%endif

%clean 
rm -rf %{buildroot}

%post
%{_sbindir}/nvidia-graphics-switch %{NVversion}

%postun -p /sbin/ldconfig

%post libs
cp -a /etc/ld.so.conf /etc/ld.so.conf.backup
(echo %{_x_libraries}/%{NVfolder}; \
 grep -v %{_x_libraries}/nvidia-graphics /etc/ld.so.conf.backup) > 
/etc/ld.so.conf

/sbin/ldconfig

%postun libs
if [ "$1" = 0 ]; then
 if grep %{NVfolder} /etc/ld.so.conf > /dev/null 2>&1; then
 cp -a /etc/ld.so.conf /etc/ld.so.conf.rpmsave
 grep -v %{NVfolder} /etc/ld.so.conf.rpmsave > /etc/ld.so.conf
 fi
fi
/sbin/ldconfig

%post -n %kmdl_name
%kmdl_install

%postun -n %kmdl_name
%kmdl_remove

%if %{kmdl_userland}

%files
%defattr(-,root,root,-)
%doc %{_defaultdocdir}/%{name}-%{version}
%{_x_module_path}/drivers/nvidia-%{NVversion}_drv.so
%{_x_module_path}/drivers/%{NVfolder}
%{_x_module_path}/extensions/%{NVfolder}
%{_x_module_path}/%{NVfolder}
%{_bindir}/nvidia*-%{NVversion}*
%{_datadir}/applications/nvidia-settings-%{NVversion}.desktop
%{_datadir}/pixmaps/nvidia-settings-%{NVversion}.png
%{_mandir}/man1/nvidia*-%{NVversion}*

%files libs
%defattr(-,root,root,-)
%dir %{_x_libraries}/%{NVfolder}
%{_x_libraries}/%{NVfolder}/libXvMCNVIDIA*.so.*
%dir %{_libdir}/%{NVfolder}
%{_libdir}/%{NVfolder}/libGL*.so.*
%{_libdir}/%{NVfolder}/libnvidia*.so.*
#%{_libdir}/%{NVfolder}/libcuda.so.*
%if %hastls
%dir %{_libdir}/%{NVfolder}/tls
%{_libdir}/%{NVfolder}/tls/libnvidia*.so.*
%endif

%files devel
%defattr(-,root,root,-)
%{_x_libraries}/libXvMCNVIDIA.a
%{_x_libraries}/libXvMCNVIDIA*.so
%{_x_libraries}/%{NVfolder}/libXvMCNVIDIA*.so
%{_libdir}/%{NVfolder}/libGL.la
%{_libdir}/%{NVfolder}/libGL.so
%{_libdir}/%{NVfolder}/libnvidia-cfg.so
#%{_libdir}/%{NVfolder}/libcuda.so
%{_includedir}/%{NVfolder}

%else

%files -n %kmdl_name
%defattr(-,root,root,-)
%{kmdl_moduledir}

%endif

%changelog
* Sat Jun 21 2008 Kim Bisgaard <[EMAIL PROTECTED]> - 1:173.14.09-99
- Update to 173.14.09.
- CUDA no longer in the "source".
- new command nvidia-smi

* Wed May 28 2008 Paulo Roma <[EMAIL PROTECTED]> - 1:173.14.05-98
- Update to 173.14.05.
- Removed patch2.

* Sat Apr 19 2008 Axel Thimm <[EMAIL PROTECTED]> - 1:169.12-97
- Apply patch for kernel 2.6.25.

* Mon Mar 10 2008 Axel Thimm <[EMAIL PROTECTED]> - 1:169.12-96
- Update to 169.12.

* Tue Feb  5 2008 Axel Thimm <[EMAIL PROTECTED]> - 1:169.09-95
- Update to 169.09.

* Sun Dec 23 2007 Axel Thimm <[EMAIL PROTECTED]> - 1:169.07-94
- Update to 169.07.

* Sat Oct  6 2007 Axel Thimm <[EMAIL PROTECTED]> - 1:100.14.19-92
- Update to 100.14.19.

* Fri Jun 22 2007 Axel Thimm <[EMAIL PROTECTED]> - 1:100.14.11-91
- Update to 100.14.11.

* Tue Jun 12 2007 Axel Thimm <[EMAIL PROTECTED]> - 1:100.14.09-88
- Update to 100.14.09.

* Wed Mar  7 2007 Axel Thimm <[EMAIL PROTECTED]> - 1:1.0_9755-86
- Update to 1.0-9755.

* Fri Dec 22 2006 Axel Thimm <[EMAIL PROTECTED]> - 1:1.0_9746-83
- Update to 1.0.9746.

* Wed Dec  6 2006 Axel Thimm <[EMAIL PROTECTED]> - 1:1.0_9631-82
- Update to 1.0-9631.

* Tue Nov  7 2006 Axel Thimm <[EMAIL PROTECTED]> - 1:1.0_9629-80
- Update to 1.0-9629.

* Sat Nov  4 2006 Axel Thimm <[EMAIL PROTECTED]> - 1:1.0_9626-79
- Update to 1.0-9626.

* Fri Oct 27 2006 Paulo Roma <[EMAIL PROTECTED]> - 1:1.0_9625-78
- Update to 1.0-9625.
- Changed nvidia_drv.o for nvidia_drv.so
- Applied patch for being compatible to eeprom.

* Sat Oct 21 2006 Axel Thimm <[EMAIL PROTECTED]> - 1:1.0_8776-77
- Update to 1.0-8776.

* Fri Aug 25 2006 Axel Thimm <[EMAIL PROTECTED]> - 1:1.0_8774-75
- Update to 1.0-8774.

* Tue May 23 2006 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-8762.

* Fri Apr 7 2006 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-8756.

* Fri Dec 23 2005 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-8178.

* Mon Dec 5 2005 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-8174.

* Tue Aug 30 2005 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-7676.

* Tue Jun 28 2005 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-7667.

* Thu Jun 2 2005 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-7664.

* Thu Mar 31 2005 Jarod Wilson <[EMAIL PROTECTED]>
- Update to 1.0-7174.

* Wed Mar 16 2005 Jarod Wilson <[EMAIL PROTECTED]>
- Add cumulative patch NVIDIA_kernel-1.0-7167-03.11.2005.diff.

* Tue Mar 15 2005 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-7167.

* Wed Nov 10 2004 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-6629.

* Sat Aug 7 2004 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-6111.

* Sat Jun 30 2004 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-6106.

* Sat Mar 13 2004 Axel Thimm <[EMAIL PROTECTED]>
- Split out development files.

* Wed Jan 28 2004 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-5336.

* Mon Dec 21 2003 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-5328.
- Merged nvidia-graphics and nvidia-graphics-glx back together again.

* Wed Dec 3 2003 Axel Thimm <[EMAIL PROTECTED]>
- Move libs to their own lib directory.
- Can therefore remove Conflict with Mesa.

* Tue Nov 11 2003 Axel Thimm <[EMAIL PROTECTED]>
- Added python XF86Config updater script by Peter Backlund.
 (slightly modified).

* Mon Oct 13 2003 Axel Thimm <[EMAIL PROTECTED]>
- Simplified scripts, no more renaming/moving (#101775).

* Sat Aug 9 2003 Axel Thimm <[EMAIL PROTECTED]>
- New kmdl_userland scheme.
- Back to disttagging releases.

* Tue Jun 24 2003 Axel Thimm <[EMAIL PROTECTED]>
- Major rewrite for atrpms macro style.

* Fri Jun 20 2003 Axel Thimm <[EMAIL PROTECTED]>
- Adapted to atrpms kernel macros.
- Fixed dependency on kernel (RH kernels provide for all builds).

* Thu May 22 2003 Axel Thimm <[EMAIL PROTECTED]>
- Update to 1.0-4191.

* Mon Dec 9 2002 Axel Thimm <[EMAIL PROTECTED]>
- Imported into atrpms.

* Thu Nov 07 2002 Joseph Kain <[EMAIL PROTECTED]>
- Suppress lsmod output

* Fri Oct 11 2002 Andy Ritger <[EMAIL PROTECTED]>
- Check that the module is loaded before reporting success.

* Fri Sep 06 2002 Gareth Hughes <[EMAIL PROTECTED]>
- Change NVdriver to nvidia.o everywhere.

* Mon Nov 26 2001 Joseph Kain <[EMAIL PROTECTED]>
- Use %%{_tmppath} instead of hardcoding /var/tmp

* Tue Aug 24 2001 Joseph Kain <[EMAIL PROTECTED]>
- in preun check usage count of NVdriver before trying to unload.

* Thu Aug 31 2000 Terence Ripperda <[EMAIL PROTECTED]>
- allow build scripts to specify a kernel version via TARGET_KERNEL variable
 otherwise fallback to `uname -r`
- when searching for agpgart module, search in RPM_BUILD_ROOT, so we don't
 pick up an errant symbol on a build machine.

* Tue Aug 15 2000 Mark Cooke <[EMAIL PROTECTED]>
- Change permissions on NVdriver to 444 to avoid symbol-stripping issues
 with versions of RPM after 3.0.4
- Add a test to make sure the NVdriver registers correctly.

* Wed Aug 02 2000 Terence Ripperda <[EMAIL PROTECTED]>
- regress use of /proc/devices to get major number

* Tue May 02 2000 Terence Ripperda <[EMAIL PROTECTED]>
- regress use of "make install" in post, no Makefile present

* Fri Apr 27 2000 Nick Triantos <[EMAIL PROTECTED]>
- Use "NVdriver" and "install" targets on make
- Remove BuildReq item from header, was causing build error

* Thu Apr 27 2000 Gregory McLean <[EMAIL PROTECTED]>
- Cleaned out some redundant parts of the spec file.
- Set the buildroot.
- Made sure the preun gets called properly.
- Added a %%clean section to keep building machine tidy.
- Set up logic for epoc builds if needed.

_______________________________________________
atrpms-devel mailing list
[email protected]
http://lists.atrpms.net/mailman/listinfo/atrpms-devel

Reply via email to