Bonjour,

Je vient de ressortir ma Webcam du placard. C'est une webcam LDLC avec une puce Z-Star ZC301.
Etant un peu faineant et pas du genre à lire au travers de la matrice; je ne veux pas recompiler mon kernel comme il est dit dans le wiki : http://www.fedora-france.org/modules/wiwimod/index.php?page=SPCA50x%20:%20module%20pour%20de%20nombreuses%20webcams.

J'ai découvert que les admins de ATrpms.net ont construit les packages du drivers de Michel Xhaard (cf : http://atrpms.net/dist/fc5/spca5xx/).

Mon pb est :
1-l'installation se passe bien.
2-Lors du reboot la webcam s'allume et reste allumé (elle ne doit l'être que lorsqu'on accède à la cam).
3-Lorsque je j'accède avec spcaview, FC5 se gèle et je dois redémarrer le PC.

Le peu que j'ai découvert et qui n'est pas rien, provient de la compilation des packages.
Je m'explique, un admin de l'université de nantes avec la meme config que moi (UN GRAND MERCI POUR SA REPONSE) a bossé sur le dernier source de MXhaard. Il a modifié le makefile en transformant :

CFLAGS += $(DEFINES)

par

CFLAGS += $(DEFINES) -fno-unit-at-a-time et maintenant ca marche.

Ma question est donc : sans construire de nouveau noyau, comment recéer les packages spca5xx-0.60-3.rhfc5.at.i386.rpm et spca5xx-kmdl-2.6.17-1.2139_FC5-0.60-3.rhfc5.at.i686.rpm avec les modifs de compilation.

D'avance, merci.
tu prends le SRPMs, tu fais un patch, dans le spec indique de patcher les sources a partir de ta modification les sources.
Et tu rebuild le RPM ^^
Merci à vous deux.

Finalement c'est pas facile de remanier les packages à Axel Thimm. Je postes mon parcours pour fermer le post. Encore merci à Fedora france.... :lol:

1.Suivre le tuto : http://www.fedora-france.org/modules/wiwimod/index.php?page=RPM+:+environnement+de+construction&back=WiwiHome
11. dans le fichier $HOME/.rpmmacros :
-Modifier : %dist .fc5
-Rajouter les macros de personalisation de A.T. (peut être placé dans /etc/rpm aussi):

##########################ATTENTION CE NE SONT PLUS LES MACROS de A.T., ELLES SONT MODIFIES POUR RENCONTRER MA CONFIG###########################

%distversion %(rpm -qf --qf='%{VERSION}' /etc/redhat-release)
%distinitials rh%(grep -i fedora /etc/redhat-release >/dev/null && echo "fc")
%distname %(grep -i fedora /etc/redhat-release >/dev/null && echo "Fedora Core" || echo "Red Hat Linux")
%disttag %{distinitials}%{distversion}
%disttag2 %(echo %disttag | sed -e's,.,_,g')
%atrelease() %1.%{disttag}.jw

%eversion %{?epoch:%{epoch}:}%{version}
%evr %{?epoch:%{epoch}:}%{version}-%{release}

%_initdir %{_sysconfdir}/rc.d/init.d
%_varlibdir %{_localstatedir}/lib
%_varcachedir %{_localstatedir}/cache
%_logdir %{_localstatedir}/log
%_rundir %{_localstatedir}/run
%_subsysdir %{_localstatedir}/lock/subsys
%_sysconfigdir %{_sysconfdir}/sysconfig
%_logrotatedir %{_sysconfdir}/logrotate.d

%_kernel %(uname -r)
%kmdl_kernelsrcdir /lib/modules/%{_kernel}/build
%kmdl_userland %(test "%{_kernel}" = none && echo 1 || echo 0)
%_kflavour %(echo %{_kernel} | grep -E '(smp|enterprise|bigmem)' | sed -e's/^.*(smp|enterprise|bigmem).*$/1/')
%_kversion %(echo %{_kernel} | sed -e's/^(.*)(smp|enterprise|bigmem).*$/1/')
%_krelver %(echo %{_kversion} | sed -e's/-/_/')
%_kname %(echo kernel-%{_kflavour} | sed -e's/-$//')
%_kname2 %(echo kmodule-%{_kflavour} | sed -e's/-$//')
%_kname3 %(echo kmdl-%{_kflavour} | sed -e's/-$//')
%_modflags -include /tmp/atrpms-mykernel-%{_kernel}-%{_target_cpu}.h -DMODULE -DMODVERSIONS -include %{_kernelsrcdir}/include/linux/modversions.h

%kmdl_name %{_kpkgname}-kmdl-%{_kernel}
%kmdl_nameof() %1-kmdl-%{_kernel}
%kmdl_namepure %{_kpkgname}-kmdl
%kmdl_namepureof() %1-kmdl

%_kernelbuildreq %{nil}

%kmdl()
%{expand:%%global _kpkgname %1}
%_kernelbuildreq
%{nil}

%kmdl_parentdependencies
Requires: %{kmdl_namepure}-%{evr}

%kmdl_dependencies
Requires: atrpms-kmdl-helper
Requires: /boot/vmlinuz-%{_kernel}
Requires: %{_kname} = %{_kversion}, /sbin/depmod, modutils >= 2.4.14
BuildRequires: %_kernelcompiler
Provides: %kmdl_namepure-%{evr}
Provides: %kmdl_namepure-%_kernel = %{evr}
Provides: Provides: %{_kpkgname}-%{_kname3}-%{_kversion} = %{evr}
Provides: %{_kpkgname}-kmdl
Provides: %{_kpkgname}-kernel
%{?_kflavour:Provides: %{_kpkgname}-%{_kname}}
Provides: %{_kpkgname}-%{_kname}-%{_kversion} = %{evr}
Provides: %{_kpkgname}-%{_kname}-%{_kversion}-%{_target_cpu} = %{evr}
Provides: kernel-module-%{_kpkgname}
%{?_kflavour:Provides: %{_kname}-module-%{_kpkgname}}

%_kernelcompiler_rhfc5 /usr/bin/gcc
%_kernelcompiler_rhfc2 /usr/bin/gcc
%_kernelcompiler_rhfc1 /usr/bin/gcc32
%_kernelcompiler_rh9 /usr/bin/gcc
%_kernelcompiler_rh8_0 /usr/bin/gcc
%_kernelcompiler_rh7_3 /usr/bin/gcc

%_kernelcompiler %{expand:%%_kernelcompiler_%{disttag2}}

%kmdl_moduledir /lib/modules/%{_kernel}/updates

%kmdl_config
export CC=%_kernelcompiler
> /tmp/atrpms-mykernel-%{_kernel}-%{_target_cpu}.h

%kmdl_desc
This package contains the %kmdl_name kernel modules for the Linux kernel package:
%{_kname}-%{_kversion}.%{_target_cpu}.rpm.

%_kernelname %{_kname}-%{_kversion}.%{_target_cpu}.rpm

%kmdl_install
%{_libdir}/atrpms/addcustomkmdl '/lib/modules/`uname -r`/updates'
depmod -ae -F /boot/System.map-%{_kernel} %{_kernel}

%kmdl_remove
depmod -ae -F /boot/System.map-%{_kernel} %{_kernel}

##########################ATTENTION CE NE SONT PLUS LES MACROS de A.T., ELLES SONT MODIFIES POUR RENCONTRER MA CONFIG###########################

2.Télécharger les sources (SRPM contenant un tarball et un fichier .spec)
21. Installation du fichier SRPM
22. Pour ma part je n'ai pas crée un patch (c'est pas la classe je sais), j'ai modifier le tarball (modif du makefile et renommage du tarball).
23. J'ai modifié le fichier SPEC issu du SRPM original pour coincider avec mon tarball modifié.

%bcond_without v4l

%kmdl spca5xx

Name: spca5xx
Version: 0.60
%define date 20060705
Release: %atrelease 3
Summary: spca5xx video for linux (v4l) driver.
License: GPL
Group: System Environment/Kernel
Source: /home/RPM/rpmbuild/SOURCES/spca5xx-%{date}.tar.gz
URL: http://mxhaard.free.fr/
BuildRoot: %{_tmppath}/%{name}-root
%{?with_v4l:BuildRequires: video4linux-kernheaders}
%{?with_v4l:Requires: video4linux}
%kmdl_parentdependencies

%description
spca5xx video for linux (v4l) driver, providing support for webcams
and digital cameras based on the spca5xx range of chips manufactured
by SunPlus Sonix Z-star Vimicro Conexant Etoms Transvision Mars-Semi
Pixart.

%package -n %kmdl_name
%kmdl_dependencies
Summary: spca5xx video for linux (v4l) driver.
Group: System Environment/Kernel
%{?with_v4l:Requires: %{kmdl_nameof video4linux}}

%description -n %kmdl_name
spca5xx video for linux (v4l) driver, providing
support for webcams and digital cameras based on the spca5xx range of chips
manufactured by SunPlus Sonix Z-star Vimicro Conexant Etoms Transvision Mars-Semi Pixart.

%kmdl_desc

%prep
%setup -q -n spca5xx-%{date}

%build
rm -rf %{buildroot}
%if %{kmdl_userland}

%else

%kmdl_config
%if %{with v4l}
OLDCPPFLAGS=`(cat %{kmdl_kernelsrcdir}/Makefile; echo -e 'nprint-cppflags:nt@echo $(CPPFLAGS)n')
| make -sf- -C %{kmdl_kernelsrcdir} print-cppflags`
make -C %{kmdl_kernelsrcdir} SUBDIRS=`pwd` CPPFLAGS="-I/usr/include/v4l/linux/include $OLDCPPFLAGS" modules
%else
make -C %{kmdl_kernelsrcdir} SUBDIRS=`pwd` modules
%endif

%endif

%install
%if %{kmdl_userland}

%else

rm -rf %{buildroot}
mkdir -p %{buildroot}%{kmdl_moduledir}/drivers/usb/media

if grep 'PATCHLEVEL = 6' %{kmdl_kernelsrcdir}/Makefile; then
install -c -m 0644 spca5xx.ko %{buildroot}%{kmdl_moduledir}/drivers/usb/media/
else
install -c -m 0644 spca5xx.o %{buildroot}%{kmdl_moduledir}/drivers/usb/media/
fi

%endif

%clean
rm -rf %{buildroot}

%post -n %kmdl_name
%kmdl_install

%postun -n %kmdl_name
%kmdl_remove

%if %{kmdl_userland}

%files
%defattr(-,root,root,-)
%doc README README-SONIX README-TV8532 RGB-YUV%2fmodule-setting CHANGELOG

%else

%files -n %kmdl_name
%defattr(-,root,root,-)
%{kmdl_moduledir}/drivers/usb/media/spca5xx.*o

%endif

%changelog
* Wed May 24 2006 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.60.0.

* Tue Mar 28 2006 Axel Thimm <Axel.Thimm@ATrpms.net>
- Update to 0.57.10.

* Sat Jan 07 2006 Paulo Roma <roma@lcg.ufrj.br> 0.58-1
- Initial version.

24. Reconstruction du RPM

3. Installation avec YUM localinstall (en root).