1 # TODO: optflags for userspace
4 %bcond_without dist_kernel # without kernel from distribution
5 %bcond_without kernel # don't build kernel modules
6 %bcond_without smp # don't build SMP module
7 %bcond_without userspace # don't build userspace module
8 %bcond_with verbose # verbose build (V=1)
11 Summary(de): dLAN Treiber
12 Summary(pl): Sterowniki dLAN
16 License: Devolo AG License, non-distributable
18 Source0: http://download.devolo.net/webcms/0599755001130248395/%{name}-linux-package-%{version}.tar.gz
19 # NoSource0-md5: 419b5e551a7e8eb7e2f609b252287712
21 Patch0: %{name}-usbkill.patch
22 URL: http://www.devolo.de/de_DE/index.html
24 BuildRequires: %{kgcc_package}
25 %{?with_dist_kernel:BuildRequires: kernel-module-build}
28 BuildRequires: libpcap-devel
30 BuildRequires: rpmbuild(macros) >= 1.268
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34 MicroLink dLAN drivers for Linux 2.4/2.6.
37 MicroLink dLAN Treiber für Linux 2.4/2.6.
40 Sterowniki MicroLink dLAN dla Linuksa 2.4/2.6.
42 %package -n kernel-char-dLAN
43 Summary: Linux kernel driver for MicroLink dLAN
44 Summary(de): Linux Kernel Treiber für MicroLink dLAN
45 Summary(pl): Sterownik j±dra Linuksa dla dLAN MicroLinka
46 Release: %{release}@%{_kernel_ver_str}
48 %{?with_dist_kernel:%requires_releq_kernel_up}
49 Requires(post,postun): /sbin/depmod
51 %description -n kernel-char-dLAN
52 Linux kernel drivers for MicroLink dLAN.
54 %description -n kernel-char-dLAN -l de
55 Linux Kernel Treiber für MicroLink dLAN.
57 %description -n kernel-char-dLAN -l pl
58 Sterowniki j±dra Linuksa dla dLAN MicroLinka.
60 %package -n kernel-smp-char-dLAN
61 Summary: Linux SMP kernel driver for MicroLink dLAN
62 Summary(de): Linux SMP Kernel Treiber für MicroLink dLAN
63 Summary(pl): Sterownik j±dra SMP Linuksa dla dLAN MicroLinka
64 Release: %{release}@%{_kernel_ver_str}
66 %{?with_dist_kernel:%requires_releq_kernel_up}
67 Requires(post,postun): /sbin/depmod
69 %description -n kernel-smp-char-dLAN
70 Linux SMP kernel drivers for MicroLink dLAN.
72 %description -n kernel-smp-char-dLAN -l de
73 Linux SMP Kernel Treiber für MicroLink dLAN.
75 %description -n kernel-smp-char-dLAN -l pl
76 Sterowniki j±dra SMP Linuksa dla dLAN MicroLinka.
79 %setup -q -n %{name}-linux-package-%{version}
91 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
92 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
95 install -d o/include/linux
96 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
97 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
98 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
99 %{__make} -C %{_kernelsrcdir} O=$PWD/o prepare scripts
100 %{__make} -C %{_kernelsrcdir} clean \
101 RCS_FIND_IGNORE="-name '*.ko' -o" \
104 %{__make} -C %{_kernelsrcdir} modules \
105 %if "%{_target_base_arch}" != "%{_arch}"
106 ARCH=%{_target_base_arch} \
107 CROSS_COMPILE=%{_target_base_cpu}-pld-linux- \
113 mv devolo_usb{,-$cfg}.ko
118 rm -rf $RPM_BUILD_ROOT
119 install -d $RPM_BUILD_ROOT
121 %if %{with userspace}
122 %{__make} install-cfgtool \
123 DESTDIR=$RPM_BUILD_ROOT
127 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
128 install driver/devolo_usb-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
129 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/devolo_usb.ko
130 %if %{with smp} && %{with dist_kernel}
131 install driver/devolo_usb-smp.ko \
132 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/devolo_usb.ko
137 rm -rf $RPM_BUILD_ROOT
139 %post -n kernel-char-dLAN
140 %depmod %{_kernel_ver}
142 %postun -n kernel-char-dLAN
143 %depmod %{_kernel_ver}
145 %if %{with userspace}
147 %defattr(644,root,root,755)
148 %doc LEAME LEESMIJ LEGGIMI LIESMICH LISEZ-MOI README
149 %attr(755,root,root) %{_sbindir}/dlanconfig
150 %attr(755,root,root) %{_sbindir}/dlanconfig_son
151 %{_mandir}/man8/dlanconfig.8*
155 %files -n kernel-char-dLAN
156 %defattr(644,root,root,755)
157 /lib/modules/%{_kernel_ver}/misc/devolo_usb.*o*
160 %files -n kernel-smp-char-dLAN
161 %defattr(644,root,root,755)
162 /lib/modules/%{_kernel_ver}smp/misc/devolo_usb.*o*