pwcx w kernel.spec
Bobby Spark
sparky w servek.sparky.homelinux.org
Śro, 14 Lip 2004, 10:32:40 CEST
On Wed, Jul 14, 2004 at 09:14:27AM +0200, Paweł Sikora wrote:
> On Wednesday 14 of July 2004 01:26, Bobby Spark wrote:
> > On Tue, Jul 13, 2004 at 04:36:57PM +0200, Paweł Sikora wrote:
> >
> > Hi,
> >
> > mnie nie znacie, ale pisałem już na ten temat i wysłałem na tę listę
> > kernel-usb-media-pwcx.spec - to jak ja to rozwiązałem
> >
> > problem jest taki: jak wyłączysz pwcx w kernelu to moduł pwc się inaczej
> > kompiluje i nie przujmuje pwcx'a czyli albo pwcx musi być włączony w
> > kernelu, dokładnie to pwc musi być kompilowany z -DCONFIG_USB_PWCX,(ale
> > pwcx kompilować poza kernelem - w paczce), albo pwc i pwcx budować w paczce
> > (pwc z -DCONFIG_USB_PWCX i pwcx z -DCONFIG_USB_PWCX_MODULE). no ale wtedy
> > jest kwestia czy zostawić pwc w kernelu i przy instalacji pwcx podmieniać
> > ten moduł czy pwc nie dawać w kernelu.
>
> (pwc-uncompress.h)
>
> #ifdef CONFIG_USB_PWCX
> /* If the decompressor is compiled in, we must call these manually */
> extern int usb_pwcx_init(void);
> extern void usb_pwcx_exit(void);
> #endif
>
> (pwcx-glue.c)
>
> #ifdef CONFIG_USB_PWCX_MODULE
> static int __init usb_pwcx_init(void)
> #else
> int usb_pwcx_init(void)
> #endif
> {
> Info("Philips webcam decompressor routines version %d.%d-BETA-2\n",
> PWCX_MAJOR, PWCX_MINOR);
> Info("Supports all cameras supported by the main module (pwc).\n");
>
> tak na moje oko, to zeby uzywac pwcx jako zewnetrzny modul,
> musimy wylaczyc CONFIG_USB_PWCX i wlaczc CONFIG_USB_PWCX_MODULE.
>
Ja w specu mam załączone -DCONFIG_USB_PWCX i -DCONFIG_USB_PWCX_MODULE
jednocześnie, i tak działa
byćmoże jak się wyłączy -DCONFIG_USB_PWCX to nic się nie stanie, ale tego nie
próbowałem
niestety dopiero widać czy działa jak się próbuje użyć kamerki
Sparky{PI]
ps. sory za pusty (tylko cytaty) list :/
-------------- następna część ---------
# $Revision:$, $Date:$
%bcond_without dist_kernel # without distribution kernel
%bcond_without smp
%bcond_with verbose
%define _ver_major 9
%define _pwcx_ver_minor 0
%define _pwc_ver_minor 0.1
%define _pwcx_ver %{_ver_major}.%{_pwcx_ver_minor}
%define _pwc_ver %{_ver_major}.%{_pwc_ver_minor}
%define _for_kernel 2.6
Summary: Linux decompressor module for Philips webcams
Summary(pl): Moduł dekompresora dla kamer Philipsa
Group: Base/Kernel
Name: kernel-usb-media-pwcx
Version: %{_pwc_ver}
%define _rel 1
Release: %{_rel}@%{_kernel_ver_str}
License: Philips B.V.
Vendor: Nemosoft Unv.
Source0: http://www.smcc.demon.nl/webcam/pwc-%{version}.tar.gz
# Source0-md5: 421476a59ed54ce3b374b0043060e354
Source1: http://www.smcc.demon.nl/webcam/pwcx-%{_pwcx_ver}.tar.gz
# Source1-md5: 73907e7e1ae7c311553182569ce6ab1c
URL: http://www.smcc.demon.nl/webcam/
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
ExclusiveArch: %{ix86} x86_64 ppc
%{?with_dist_kernel:BuildRequires: kernel-module-build }
%{?with_dist_kernel:%requires_releq_kernel_up}
Requires(post,postun): /sbin/depmod
%description
Decompresor module for Philips webcams, this allows you to use higher
resoluwion and framerate. Working cameras: Philips: PCA645VC and
646VC, "Vesta", "Vesta Pro", "Vesta Scan", "ToUCam XS" (PCVC720K/40,
/20 is supported by ov511), "ToUCam Fun", "ToUCam Pro", "ToUCam Scan",
"ToUCam II", "ToUCam Pro II"; Askey VC010; Creative Labs Webcam: 5
(the old one; USB Product ID: 0x400C) and Pro Ex Logitech QuickCam
3000 Pro, 4000 Pro, Notebook Pro, Zoom and Orbit/Sphere; Samsung
MPC-C10 and MPC-C30; Sotec Afina Eye; Visionite VCS UM100 and VCS
UC300
%description -l pl
Moduł dekompresujący obraz z kamer na chipie Philipsa, umożliwia to
uzyskanie większej rozdzielczości i ilości klatek. Działające kamery:
Philips: PCA645VC and 646VC, "Vesta", "Vesta Pro", "Vesta Scan",
"ToUCam XS" (PCVC720K/40, K/20 dzjała z ov511), "ToUCam Fun", "ToUCam
Pro", "ToUCam Scan", "ToUCam II", "ToUCam Pro II"; Askey VC010;
Creative Labs Webcam: 5 (stary typ; USB Product ID: 0x400C) i Pro Ex
Logitech QuickCam 3000 Pro, 4000 Pro, Notebook Pro, Zoom i
Orbit/Sphere; Samsung MPC-C10 and MPC-C30; Sotec Afina Eye; Visionite
VCS UM100 i VCS UC300
%if %{with smp}
%package -n kernel-smp-usb-media-pwcx
Summary: Linux decompressor module for Philips webcams for SMP kernels
Summary(pl): Moduł dekompresora dla kamer Philipsa do kerneli SMP
Release: %{_rel}@%{_kernel_ver_str}
Group: Base/Kernel
%{?with_dist_kernel:BuildRequires: kernel-module-build }
%{?with_dist_kernel:%requires_releq_kernel_smp}
Requires(post,postun): /sbin/depmod
%description -n kernel-smp-usb-media-pwcx
Decompresor module for Philips webcams for SMP kernel, this allows you
to use higher resoluwion and framerate. Working cameras: Philips:
PCA645VC and 646VC, "Vesta", "Vesta Pro", "Vesta Scan", "ToUCam XS"
(PCVC720K/40, /20 is supported by ov511), "ToUCam Fun", "ToUCam Pro",
"ToUCam Scan", "ToUCam II", "ToUCam Pro II"; Askey VC010; Creative
Labs Webcam: 5 (the old one; USB Product ID: 0x400C) and Pro Ex
Logitech QuickCam 3000 Pro, 4000 Pro, Notebook Pro, Zoom and
Orbit/Sphere; Samsung MPC-C10 and MPC-C30; Sotec Afina Eye; Visionite
VCS UM100 and VCS UC300
%description -n kernel-smp-usb-media-pwcx -l pl
Moduł do kerneli SMP dekompresujący obraz z kamer na chipie Philipsa,
umożliwia to uzyskanie większej rozdzielczości i ilości klatek.
Działające kamery: Philips: PCA645VC and 646VC, "Vesta", "Vesta Pro",
"Vesta Scan", "ToUCam XS" (PCVC720K/40, K/20 dzjała z ov511), "ToUCam
Fun", "ToUCam Pro", "ToUCam Scan", "ToUCam II", "ToUCam Pro II"; Askey
VC010; Creative Labs Webcam: 5 (stary typ; USB Product ID: 0x400C) i
Pro Ex Logitech QuickCam 3000 Pro, 4000 Pro, Notebook Pro, Zoom i
Orbit/Sphere; Samsung MPC-C10 and MPC-C30; Sotec Afina Eye; Visionite
VCS UM100 i VCS UC300
%endif
%package -n libpwcx
Summary: Library libpwcx.a for external image decompression.
Summary(pl): Biblioteka libpwcx.a służąza do dekompresji poza jądrem.
Group: Development/Libraries
Requires(post,postun): /sbin/ldconfig
%description -n libpwcx
Library libpwcx.a for image decompression from camera out of linux's
kernel, for example in a program on annother computer.
+ source of testpwcx
%description -n libpwcx -l pl
Boblioteka libpwcx.a służąca do dekompresji danych z kamery poza
jądrem linuxa, np. w programie to potrafiącym na innym komputerze.
+ kod programu testpwcx
%prep
%setup -q -b 1 -q -n pwcx-%{_pwcx_ver}
mv x86 i386
mv powerpc ppc
%build
#cofigure
mv ../pwc-%{_pwc_ver}/%{_for_kernel}/* ./
cp %{_target_base_arch}/libpwcx.a ./
mv pwcx/* ./
cat << EOF > Makefile
pwc-objs := pwc-if.o pwc-misc.o pwc-ctrl.o pwc-uncompress.o
pwcx-objs := pwcx-glue.o libpwcx.a
obj-m := pwc.o
obj-m += pwcx.o
CFLAGS += -DCONFIG_USB_PWCX -DCONFIG_USB_PWCX_MODULE
EOF
#make
for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
exit 1
fi
rm -rf include
install -d include/{linux,config}
ln -sf %{_kernelsrcdir}/config-$cfg .config
ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
touch include/config/MARKER
%{__make} -C %{_kernelsrcdir} clean modules \
RCS_FIND_IGNORE="-name '*.ko' -o -name libpwcx.a -o" \
M=$PWD O=$PWD \
%{?with_verbose:V=1}
mv pwc{,-$cfg}.ko
mv pwcx{,-$cfg}.ko
done
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_prefix}/lib
install -m 755 libpwcx.a $RPM_BUILD_ROOT%{_prefix}/lib
install -d $RPM_BUILD_ROOT%{_prefix}/src/examples
cp -rf testpwcx $RPM_BUILD_ROOT%{_prefix}/src/examples/
install README $RPM_BUILD_ROOT%{_prefix}/src/examples/testpwcx/
install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/usb/media
install pwc-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/usb/media/pwc.ko
install pwcx-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/usb/media/pwcx.ko
%if %{with smp} && %{with dist_kernel}
install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/media
install pwc-smp.ko \
$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/media/pwc.ko
install pwcx-smp.ko \
$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/media/pwcx.ko
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%pre
if [ -r /lib/modules/%{_kernel_ver}/kernel/drivers/usb/media/pwc.ko ]; then
mv /lib/modules/%{_kernel_ver}/kernel/drivers/usb/media/pwc.ko{,-old}
fi
%post
%depmod %{_kernel_ver}
%postun
if [ -r /lib/modules/%{_kernel_ver}/kernel/drivers/usb/media/pwc.ko-old -a ! -r /lib/modules/%{_kernel_ver}/kernel/drivers/usb/media/pwc.ko[.]* ]; then
# if there is pwc.ko-old and isn't pwc.ko or pwc.ko.* (there shouldn't
# be more pwc.ko* than pwx.ko-old and one of: pwc.ko, pwc.ko.gz)
mv /lib/modules/%{_kernel_ver}/kernel/drivers/usb/media/pwc.ko{-old,}
fi
%depmod %{_kernel_ver}
%if %{with smp} && %{with dist_kernel}
%pre -n kernel-smp-usb-media-pwcx
if [ -r /lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/media/pwc.ko ]; then
mv /lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/media/pwc.ko{,-old}
fi
%post -n kernel-smp-usb-media-pwcx
%depmod %{_kernel_ver}
%postun -n kernel-smp-usb-media-pwcx
if [ -r /lib/modules/%{_kernel_ver}/kernel/drivers/usb/media/pwc.ko-old -a ! -r /lib/modules/%{_kernel_ver}/kernel/drivers/usb/media/pwc.ko[.]* ]; then
mv /lib/modules/%{_kernel_ver}/kernel/drivers/usb/media/pwc.ko{-old,}
fi
%depmod %{_kernel_ver}
%endif
%post -n libpwcx -p /sbin/ldconfig
%postun -n libpwcx -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc README philips.txt
%attr(644,root,root) /lib/modules/%{_kernel_ver}/kernel/drivers/usb/media/*
%if %{with smp} && %{with dist_kernel}
%files -n kernel-smp-usb-media-pwcx
%defattr(644,root,root,755)
%doc README philips.txt
%attr(644,root,root) /lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/media/*
%endif
%files -n libpwcx
%defattr(644,root,root,755)
%attr(755,root,root) %{_prefix}/lib/libpwcx.a
%attr(755,root,root) %{_prefix}/src/examples/testpwcx/
%attr(644,root,root) %{_prefix}/src/examples/testpwcx/*
%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
%changelog
* %{date} PLD Team <feedback w pld-linux.org>
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log:$
Więcej informacji o liście dyskusyjnej pld-devel-pl