3 # - utils/scripts, eagleconfig
6 %bcond_without dist_kernel # without distribution kernel
7 %bcond_without kernel # don't build kernel modules
8 %bcond_without smp # don't build SMP module
9 %bcond_without userspace # don't build userspace tools
11 %bcond_with verbose # verbose build (V=1)
12 %bcond_with grsec_kernel # build for kernel-grsecurity
14 %if %{with kernel} && %{with dist_kernel} && %{with grsec_kernel}
15 %define alt_kernel grsecurity
19 # no USB in sparc(32) kernel; just build userspace to use with sparc64 kernel
23 Summary: Linux driver for the Eagle 8051 Analog (sagem f@st 800/840/908/...) modems
24 Summary(pl): Sterownik dla Linuksa do modemów Eagle 8051 Analog (sagem f@st 800/840/908/...)
30 Source0: http://download.gna.org/eagleusb/eagle-usb-2.3.0/%{name}-%{version}.tar.bz2
31 # Source0-md5: 6c961a5022274aff870e49e2f0f922fc
32 Patch1: %{name}-eu_types.patch
33 Patch2: %{name}-vpivci-info.patch
34 Patch3: %{name}-opt.patch
35 Patch4: %{name}-signal.patch
36 Patch5: %{name}-usb_kill_urb.patch
37 Patch6: %{name}-kernel_sources_checking_hack.patch
38 # Workaround for obsolete kernel API. To be removed...
39 Patch7: %{name}-spin_lock_unlocked.patch
40 Patch8: %{name}-kill_owner.patch
41 Patch9: %{name}-module_param.patch
42 URL: http://gna.org/projects/eagleusb/
43 BuildRequires: autoconf
44 BuildRequires: automake
46 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
47 BuildRequires: rpmbuild(macros) >= 1.330
49 BuildRequires: SysVinit
50 BuildRequires: net-tools
51 Requires: ppp >= 2.4.1
52 Obsoletes: eagle-utils
53 Conflicts: eagle-usb24
54 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 Linux driver for the Eagle 8051 Analog (sagem f@st 800/840/908/...)
61 Sterownik dla Linuksa do modemów Eagle 8051 Analog (sagem f@st
64 %package -n kernel%{_alt_kernel}-usb-eagle
65 Summary: Linux driver for the Eagle 8051 Analog (sagem f@st 800/840/908/...) modems
66 Summary(pl): Sterownik dla Linuksa do modemów Eagle 8051 Analog (sagem f@st 800/840/908/...)
67 Release: %{_rel}@%{_kernel_ver_str}
69 %{?with_dist_kernel:%requires_releq_kernel_up}
70 Requires(post,postun): /sbin/depmod
71 Provides: kernel-usb(eagle) = %{version}-%{_rel}
72 %if "%{_alt_kernel}" == "%{_nil}"
73 Obsoletes: kernel-usb-fast800
76 %description -n kernel%{_alt_kernel}-usb-eagle
77 Linux driver for the Eagle 8051 Analog (sagem f@st 800/840/908/...)
80 %description -n kernel%{_alt_kernel}-usb-eagle -l pl
81 Sterownik dla Linuksa do modemów Eagle 8051 Analog (sagem f@st
84 %package -n kernel%{_alt_kernel}-smp-usb-eagle
85 Summary: Linux SMP driver for the Eagle 8051 Analog (sagem f@st 800/840/908/...) modems
86 Summary(pl): Sterownik dla Linuksa SMP do modemów Eagle 8051 Analog (sagem f@st 800/840/908/...)
87 Release: %{_rel}@%{_kernel_ver_str}
89 %{?with_dist_kernel:%requires_releq_kernel_smp}
90 Requires(post,postun): /sbin/depmod
91 Provides: kernel-usb(eagle) = %{version}-%{_rel}
92 %if "%{_alt_kernel}" == "%{_nil}"
93 Obsoletes: kernel-smp-usb-fast800
96 %description -n kernel%{_alt_kernel}-smp-usb-eagle
97 Linux SMP driver for the Eagle 8051 Analog (sagem f@st
98 800/840/908/...) modems.
100 %description -n kernel%{_alt_kernel}-smp-usb-eagle -l pl
101 Sterownik dla Linuksa SMP do modemów Eagle 8051 Analog (sagem f@st
117 # invalid not only for ppc
118 sed -i 's/-mpreferred-stack-boundary=2//' driver/Makefile
123 %build_kernel_modules -C driver -m eagle-usb \
124 USE_CMVS=%{?with_cmvs:1}%{!?with_cmvs:0}
127 %if %{with userspace}
131 %{!?with_cmvs:--disable-cmvs} \
132 --with-dsp-dir=%{_datadir}/misc
134 %{__make} -C driver/firmware \
137 %{__make} -C driver/user \
146 rm -rf $RPM_BUILD_ROOT
149 %install_kernel_modules -m driver/eagle-usb -d kernel/drivers/usb/net
152 %if %{with userspace}
153 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{analog,hotplug,ppp} \
154 $RPM_BUILD_ROOT{%{_sbindir},%{_libdir}/hotplug/eagle}
155 %{__make} -C driver/firmware install \
156 EU_DSP_DIR=$RPM_BUILD_ROOT%{_datadir}/misc
157 %{__make} -C driver/user install \
158 EU_DIR=$RPM_BUILD_ROOT%{_sysconfdir}/eagle-usb \
159 EU_SCRIPT_DIR=$RPM_BUILD_ROOT%{_sysconfdir}/eagle-usb \
160 SBINDIR=$RPM_BUILD_ROOT%{_sbindir}
161 mv $RPM_BUILD_ROOT%{_sysconfdir}/eagle-usb/eagle-usb.conf{.template,}
162 %{__make} -C pppoa install \
163 SBINDIR=$RPM_BUILD_ROOT%{_sbindir}
167 rm -rf $RPM_BUILD_ROOT
169 %post -n kernel%{_alt_kernel}-usb-eagle
170 %depmod %{_kernel_ver}
172 %postun -n kernel%{_alt_kernel}-usb-eagle
173 %depmod %{_kernel_ver}
175 %post -n kernel%{_alt_kernel}-smp-usb-eagle
176 %depmod %{_kernel_ver}smp
178 %postun -n kernel%{_alt_kernel}-smp-usb-eagle
179 %depmod %{_kernel_ver}smp
181 %if %{with userspace}
183 %defattr(644,root,root,755)
185 %dir %{_sysconfdir}/eagle-usb
186 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/eagle-usb/eagle-usb.conf
187 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/eagle-usb/*.txt
188 %attr(755,root,root) %{_sbindir}/*
189 %{_datadir}/misc/*.bin
193 %files -n kernel%{_alt_kernel}-usb-eagle
194 %defattr(644,root,root,755)
195 /lib/modules/%{_kernel_ver}/kernel/drivers/usb/net/*.ko*
197 %if %{with smp} && %{with dist_kernel}
198 %files -n kernel%{_alt_kernel}-smp-usb-eagle
199 %defattr(644,root,root,755)
200 /lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/net/*.ko*