X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=eagle-usb.spec;h=6160bd966002b6d122f1c8e484bc10ba3c664320;hb=89ff8b7f1f41b0a20fb20578024f8d1381463c88;hp=bcfbef985eee3394f0118c845cf420bf5b2dfeda;hpb=833907113fc75b337ad6e44503992f45e5e52493;p=packages%2Feagle-usb.git diff --git a/eagle-usb.spec b/eagle-usb.spec index bcfbef9..6160bd9 100644 --- a/eagle-usb.spec +++ b/eagle-usb.spec @@ -1,171 +1,217 @@ # +# TODO: +# - utils/scripts, eagleconfig +# # Conditional build: -# _without_dist_kernel without distribution kernel +%bcond_without dist_kernel # without distribution kernel +%bcond_without kernel # don't build kernel modules +%bcond_without smp # don't build SMP module +%bcond_without userspace # don't build userspace tools +%bcond_without cmvs +%bcond_with verbose # verbose build (V=1) # -%define _orig_name fast800 -Summary: Linux driver for the Eagle 8051 Analog (sagem f@st 800...) modems -Summary(pl): Sterownik dla Linuksa do modemów Eagle 8051 Analog (sagem f@st 800...) -Name: eagle -Version: 1.0.4 -%define _rel 4 +%ifarch sparc +# no USB in sparc(32) kernel; just build userspace to use with sparc64 kernel +%undefine with_kernel +%endif +Summary: Linux driver for the Eagle 8051 Analog (sagem f@st 800/840/908/...) modems +Summary(pl): Sterownik dla Linuksa do modemów Eagle 8051 Analog (sagem f@st 800/840/908/...) +Name: eagle-usb +Version: 2.3.2 +%define _rel 5 Release: %{_rel} -License: GPL +License: GPL v2 Group: Base/Kernel -Source0: http://fast800.tuxfamily.org/pub/IMG/gz/%{name}-%{version}.tar.gz -# Source0-md5: fc52cf1eff6ab9f20e9c2cb3e7e2f1e8 -Patch0: %{name}-Makefile.patch -Patch1: %{name}-firmware.patch -URL: http://fast800.tuxfamily.org/ -%{!?_without_dist_kernel:BuildRequires: kernel-headers } -BuildRequires: %{kgcc_package} -BuildRequires: rpmbuild(macros) >= 1.118 -Requires(post,postun): /sbin/depmod -Requires(post,postun): /sbin/update-usb.usermap +Source0: http://download.gna.org/eagleusb/eagle-usb-2.3.0/%{name}-%{version}.tar.bz2 +# Source0-md5: 91727db818e5170b2d78a99ee51c2d58 +Patch1: %{name}-eu_types.patch +Patch2: %{name}-vpivci-info.patch +Patch3: %{name}-opt.patch +Patch4: %{name}-signal.patch +Patch5: %{name}-usb_kill_urb.patch +Patch6: %{name}-kernel_sources_checking_hack.patch +URL: http://gna.org/projects/eagleusb/ +BuildRequires: autoconf +BuildRequires: automake +%if %{with kernel} +%{?with_dist_kernel:BuildRequires: kernel-module-build >= 2.6.7} +BuildRequires: rpmbuild(macros) >= 1.153 +%endif +BuildRequires: net-tools +BuildRequires: SysVinit Requires: ppp >= 2.4.1 -Requires: hotplug +Requires: kernel-usb-eagle = %{version}-%{_rel}@%{_kernel_ver_str} +Conflicts: eagle-usb24 +Obsoletes: eagle-utils BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description -Linux driver for the Eagle 8051 Analog (sagem f@st 800...) modems. +Linux driver for the Eagle 8051 Analog (sagem f@st 800/840/908/...) +modems. %description -l pl Sterownik dla Linuksa do modemów Eagle 8051 Analog (sagem f@st -800...). +800/840/908/...). -%package -n kernel-usb-%{_orig_name} -Summary: Linux driver for the Eagle 8051 Analog (sagem f@st 800...) modems -Summary(pl): Sterownik dla Linuksa do modemów Eagle 8051 Analog (sagem f@st 800...) +%package -n kernel-usb-eagle +Summary: Linux driver for the Eagle 8051 Analog (sagem f@st 800/840/908/...) modems +Summary(pl): Sterownik dla Linuksa do modemów Eagle 8051 Analog (sagem f@st 800/840/908/...) Release: %{_rel}@%{_kernel_ver_str} Group: Base/Kernel -%{!?_without_dist_kernel:%requires_releq_kernel_up} +%{?with_dist_kernel:%requires_releq_kernel_up} Requires(post,postun): /sbin/depmod -Requires(post,postun): /sbin/update-usb.usermap +Obsoletes: kernel-usb-fast800 -%description -n kernel-usb-%{_orig_name} -Linux driver for the Eagle 8051 Analog (sagem f@st 800...) modems. +%description -n kernel-usb-eagle +Linux driver for the Eagle 8051 Analog (sagem f@st 800/840/908/...) +modems. -%description -n kernel-usb-%{_orig_name} -l pl +%description -n kernel-usb-eagle -l pl Sterownik dla Linuksa do modemów Eagle 8051 Analog (sagem f@st -800...). +800/840/908/...). -%package -n kernel-smp-usb-%{_orig_name} -Summary: Linux SMP driver for the Eagle 8051 Analog (sagem f@st 800...) modems -Summary(pl): Sterownik dla Linuksa SMP do modemów Eagle 8051 Analog (sagem f@st 800...) +%package -n kernel-smp-usb-eagle +Summary: Linux SMP driver for the Eagle 8051 Analog (sagem f@st 800/840/908/...) modems +Summary(pl): Sterownik dla Linuksa SMP do modemów Eagle 8051 Analog (sagem f@st 800/840/908/...) Release: %{_rel}@%{_kernel_ver_str} Group: Base/Kernel -%{!?_without_dist_kernel:%requires_releq_kernel_smp} +%{?with_dist_kernel:%requires_releq_kernel_smp} Requires(post,postun): /sbin/depmod -Requires(post,postun): /sbin/update-usb.usermap +Provides: kernel-usb-eagle = %{version}-%{_rel}@%{_kernel_ver_str} +Obsoletes: kernel-smp-usb-fast800 -%description -n kernel-smp-usb-%{_orig_name} -Linux SMP driver for the Eagle 8051 Analog (sagem f@st 800...) modems. +%description -n kernel-smp-usb-eagle +Linux SMP driver for the Eagle 8051 Analog (sagem f@st +800/840/908/...) modems. -%description -n kernel-smp-usb-%{_orig_name} -l pl +%description -n kernel-smp-usb-eagle -l pl Sterownik dla Linuksa SMP do modemów Eagle 8051 Analog (sagem f@st -800...). +800/840/908/...). %prep %setup -q -%patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 + +%ifnarch %{ix86} +# invalid not only for ppc +sed -i 's/-mpreferred-stack-boundary=2//' driver/Makefile +%endif %build -install -d kernel-{up,smp} - -# UP -%{__make} clean -%{__make} -C driver \ - CC=%{kgcc} \ - KERNELSRC="%{_kernelsrcdir}" -install driver/adiusbadsl.o kernel-up - -# SMP -CONFIG_SMP=y; export CONFIG_SMP -%{__make} -C driver clean -%{__make} -e -C driver \ - CC=%{kgcc} \ - KERNELSRC="%{_kernelsrcdir}" -install driver/adiusbadsl.o kernel-smp/ - -# Rest -%{__make} \ - KERNELSRC="%{_kernelsrcdir}" +%if %{with kernel} +cd driver +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/{config,linux} + ln -sf %{_kernelsrcdir}/config-$cfg .config + ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h +%ifarch ppc ppc64 + install -d include/asm + [ ! -d %{_kernelsrcdir}/include/asm-powerpc ] || ln -sf %{_kernelsrcdir}/include/asm-powerpc/* include/asm + [ ! -d %{_kernelsrcdir}/include/asm-%{_target_base_arch} ] || ln -snf %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* include/asm +%else + ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm +%endif + ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers + touch include/config/MARKER + %{__make} -C %{_kernelsrcdir} clean \ + RCS_FIND_IGNORE="-name '*.ko' -o" \ + M=$PWD O=$PWD \ + %{?with_verbose:V=1} + %{__make} -C %{_kernelsrcdir} modules \ + M=$PWD O=$PWD \ + %{?with_verbose:V=1} \ + USE_CMVS=%{?with_cmvs:1}%{!?with_cmvs:0} + mv eagle-usb{,-$cfg}.ko +done +cd - +%endif + +%if %{with userspace} +%{__aclocal} -I . +%{__autoconf} +%configure \ + %{!?with_cmvs:--disable-cmvs} \ + --with-dsp-dir=%{_datadir}/misc +%{__make} -C driver/firmware \ + OPT="%{rpmcflags}" +%{__make} -C driver/user \ + OPT="%{rpmcflags}" +%{__make} -C pppoa \ + OPT="%{rpmcflags}" +%endif %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/usb -install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/usb -install -d $RPM_BUILD_ROOT/etc/{analog,hotplug,ppp} -install -d $RPM_BUILD_ROOT{%{_sbindir},%{_libdir}/hotplug/%{name}} - -install kernel-up/*.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/usb -install kernel-smp/*.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/usb - -install scripts/hotplug/usb.usermap $RPM_BUILD_ROOT%{_libdir}/hotplug/%{name} +%if %{with kernel} +cd driver +install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/kernel/drivers/usb/net +install eagle-usb-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \ + $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/usb/net/eagle-usb.ko +%if %{with smp} && %{with dist_kernel} +install eagle-usb-smp.ko \ + $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/net/eagle-usb.ko +%endif +cd - +%endif + +%if %{with userspace} +install -d $RPM_BUILD_ROOT%{_sysconfdir}/{analog,hotplug,ppp} \ + $RPM_BUILD_ROOT{%{_sbindir},%{_libdir}/hotplug/eagle} %{__make} -C driver/firmware install \ - CONFIGDIR=$RPM_BUILD_ROOT/etc/analog \ - DESTDIR=$RPM_BUILD_ROOT + EU_DSP_DIR=$RPM_BUILD_ROOT%{_datadir}/misc %{__make} -C driver/user install \ - INSTALLDIR=%{_sbindir} \ - CONFIGDIR=/etc/analog \ - DESTDIR=$RPM_BUILD_ROOT -install pppoa/pppoa $RPM_BUILD_ROOT%{_sbindir} -echo 'n - - -n -n -' | %{__make} -C scripts install \ - INSTALLDIR=%{_sbindir} \ - CONFIGDIR=/etc/analog \ - HOTPLUGDIR=/etc/hotplug \ - PPPDIR=/etc/ppp \ - DESTDIR=$RPM_BUILD_ROOT + EU_DIR=$RPM_BUILD_ROOT%{_sysconfdir}/eagle-usb \ + EU_SCRIPT_DIR=$RPM_BUILD_ROOT%{_sysconfdir}/eagle-usb \ + SBINDIR=$RPM_BUILD_ROOT%{_sbindir} +mv $RPM_BUILD_ROOT%{_sysconfdir}/eagle-usb/eagle-usb.conf{.template,} +%{__make} -C pppoa install \ + SBINDIR=$RPM_BUILD_ROOT%{_sbindir} +%endif %clean rm -rf $RPM_BUILD_ROOT -%post -[ -x /sbin/update-usb.usermap ] && /sbin/update-usb.usermap - -%postun -[ -x /sbin/update-usb.usermap ] && /sbin/update-usb.usermap - -%post -n kernel-usb-%{_orig_name} +%post -n kernel-usb-eagle %depmod %{_kernel_ver} -[ -x /sbin/update-usb.usermap ] && /sbin/update-usb.usermap -%postun -n kernel-usb-%{_orig_name} +%postun -n kernel-usb-eagle %depmod %{_kernel_ver} -[ -x /sbin/update-usb.usermap ] && /sbin/update-usb.usermap -%post -n kernel-smp-usb-%{_orig_name} +%post -n kernel-smp-usb-eagle %depmod %{_kernel_ver}smp -[ -x /sbin/update-usb.usermap ] && /sbin/update-usb.usermap -%postun -n kernel-smp-usb-%{_orig_name} +%postun -n kernel-smp-usb-eagle %depmod %{_kernel_ver}smp -[ -x /sbin/update-usb.usermap ] && /sbin/update-usb.usermap +%if %{with userspace} %files %defattr(644,root,root,755) -%doc BUGS Changelog FAQ TODO readme.txt -%dir %{_sysconfdir}/analog -%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/analog/adiusbadsl.conf -%{_sysconfdir}/analog/CMV* -%attr(755,root,root) %{_sysconfdir}/hotplug/usb/* -%{_libdir}/hotplug/%{name} -%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/ppp/*.adsl +%doc README +%dir %{_sysconfdir}/eagle-usb +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/eagle-usb/eagle-usb.conf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/eagle-usb/*.txt %attr(755,root,root) %{_sbindir}/* %{_datadir}/misc/*.bin +%endif -%files -n kernel-usb-%{_orig_name} +%if %{with kernel} +%files -n kernel-usb-eagle %defattr(644,root,root,755) -%doc readme.txt -/lib/modules/%{_kernel_ver}/kernel/drivers/usb/* +/lib/modules/%{_kernel_ver}/kernel/drivers/usb/net/*.ko* -%files -n kernel-smp-usb-%{_orig_name} +%if %{with smp} && %{with dist_kernel} +%files -n kernel-smp-usb-eagle %defattr(644,root,root,755) -%doc readme.txt -/lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/* +/lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/net/*.ko* +%endif +%endif