]> git.pld-linux.org Git - packages/atmelwlandriver.git/blobdiff - atmelwlandriver.spec
- winter makefile patch, tool for atmelwlandriver
[packages/atmelwlandriver.git] / atmelwlandriver.spec
index de4bb6dd9b197deab6621c0d2103b94f2dfbfea4..82d2b27ded4e82133141b9a6a7c83074bd55bf33 100644 (file)
@@ -1,42 +1,49 @@
-%define rel    0.1
-%define         _kernel26       %(echo %{_kernel_ver} | grep -qv '2\.6\.' ; echo $?)
 #
 # Conditional build:
-%bcond_without dist_kernel     # Don't use a packaged kernel
-%bcond_without smp             # Don't build the SMP module
+%bcond_without dist_kernel     # allow non-distribution kernel
+%bcond_without kernel          # don't build kernel modules
+%bcond_without smp             # don't build SMP modules
+%bcond_without userspace       # don't build userspace applications
+%bcond_with    verbose         # verbose build (V=1)
 #
-%bcond_without         pci             # Don't build pci drivers
-%bcond_without         pcmcia          # Don't build pcmcia drivers
-%bcond_without         usb             # Don't build usb drivers
-%bcond_without apps            # Don't build applications
+# TODO:
+#              - src/apps/fw-upgrade/fucd
 #
 Summary:       Linux driver for WLAN card based on AT76C5XXx
 Summary(pl):   Sterownik dla Linuxa do kart WLAN opartych na uk³adzie AT76C5XXx
 Name:          kernel-net-atmelwlandriver
-Version:       3.3.5.5
-Release:       %{rel}@%{_kernel_ver_str}
+Version:       3.3.5.6
+%define                _rel    0.5
+Release:       %{_rel}@%{_kernel_ver_str}
 License:       GPL v2
 Group:         Base/Kernel
 Source0:       http://dl.sourceforge.net/sourceforge/atmelwlandriver/atmelwlandriver-%{version}.tar.bz2
-# Source0-md5: 4248ff3f0a0d7d3f83d02cb540bff6f9
-Source1:       atmelwlandriver.config
-# Patch0:              atmelwlandriver-makefile.patch
+# Source0-md5: dd9a11d175ba0fbb62cf7fec5426f5de
+Source1:       atmelwlandriver-vnetrc
+Patch0:                atmelwlandriver-makefile.patch
 Patch1:                atmelwlandriver-etc.patch
+Patch2:                atmelwlandriver-fpmath.patch
+Patch3:                atmelwlandriver-delay.patch
+Patch4:                atmelwlandriver-usb_defctrl.patch
+Patch5:                atmelwlandriver-winter-makefile.patch
 URL:           http://atmelwlandriver.sourceforge.net
-BuildRequires: rpmbuild(macros) >= 1.118
+BuildRequires: rpmbuild(macros) >= 1.153
 BuildRequires: %{kgcc_package}
-%if %{with dist_kernel}
-BuildRequires: kernel-headers
-%requires_releq_kernel_up
+%if %{with kernel} && %{with dist_kernel}
+BuildRequires: kernel-module-build >= 2.6.7
+BuildRequires: kernel-source
 %endif
-%if %{with apps}
+%if %{with userspace}
+BuildRequires: libusb-devel
 BuildRequires: ncurses-devel
 BuildRequires: wxWindows-devel >= 2.4.0
 BuildRequires: wxGTK-devel >= 2.4.0
-BuildRequires: xforms-devel
+#BuildRequires:        xforms-devel
 %endif
+%{?with_dist_kernel:%requires_releq_kernel_up}
 Requires:      wireless-tools
 Requires(post,postun): /sbin/depmod
+Provides:      kernel-net(atmelwlandriver) = %{version}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -50,11 +57,12 @@ ATMELA AT76C5XXx.
 %package -n kernel-smp-net-atmelwlandriver
 Summary:       Linux driver for WLAN card based on AT76C5XXx
 Summary(pl):   Sterownik dla Linuxa do kart WLAN na uk³adzie AT76C5XXx
-Release:       %{rel}@%{_kernel_ver_str}
+Release:       %{_rel}@%{_kernel_ver_str}
 Group:         Base/Kernel
 %{?with_dist_kernel:%requires_releq_kernel_smp}
 Requires:      wireless-tools
 Requires(post,postun): /sbin/depmod
+Provides:      kernel-net(atmelwlandriver) = %{version}
 
 %description -n kernel-smp-net-atmelwlandriver
 This is driver for WLAN card based on ATMEL AT76C5XXx devices for
@@ -64,13 +72,12 @@ Linux.
 Sterownik dla Linuksa do kart sieci bezprzewodowych opartych o uk³ady
 ATMELA AT76C5XXx.
 
-
 %package -n atmelwlandriver-tools
 Summary:       Tools for monitoring ATMEL Wireless Card
 Summary(pl):   Narzêdzia do monitorowania bezprzewodowych kart ATMEL
-Release:       %{rel}
+Release:       %{_rel}
 Group:         Networking/Utilities
-Requires:      %{name} = %{version}
+Requires:      kernel-net(atmelwlandriver) = %{version}
 
 %description -n atmelwlandriver-tools
 Monitoring tools for the ATMEL Wireless Card adapters. When the pcmcia
@@ -87,64 +94,102 @@ pracy.
 
 %prep
 %setup -q -n atmelwlandriver
-#%%patch0 -p1
+%patch0 -p1
 %patch1 -p1
-
-cp %{SOURCE1} .config
-%{?with_pci:echo "CONFIG_PCI=y" >> .config}
-%{?with_pcmcia:echo "CONFIG_PCMCIA=y" >> .config}
-%{?with_usb:echo "CONFIG_USB=y" >> .config}
-echo "KERNEL_SRC=/lib/modules/%{_kernel_ver}/build" >> .config
-echo "PCMCIA_SRC=/lib/modules/%{_kernel_ver}/build" >> .config
-
-%if %{_kernel26}
-echo "NEW_KERNEL=y" >> .config
-%endif
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 %build
-KCFLAGS="-D__KERNEL__ -DMODULE %{rpmcflags} -fomit-frame-pointer -pipe"
-KCFLAGS="$KCFLAGS -Wall -I%{_kernelsrcdir}/include"
-
-# SMP build
-%if %{with smp}
-%{__make} all \
-       KCFLAGS="$KCFLAGS -D__SMP__ -D__KERNEL_SMP=1"
-mkdir objs-smp
-mv -f objs/*.o objs-smp/
+ln -sf Makefile.kernelv2.6 Makefile
+
+%if %{with kernel}
+# kernel module(s)
+rm -rf built
+mkdir -p built/{nondist,smp,up}
+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 \
+       RCS_FIND_IGNORE="-name '*.ko' -o" \
+       M=$PWD O=$PWD \
+       %{?with_verbose:V=1}
+    %{__make} pcmcia buildonly=release \
+       KERNEL_VERSION=%{__kernel_ver} \
+       M=$PWD O=$PWD \
+       %{?with_verbose:V=1}
+    %{__make} usb buildonly=release \
+       KERNEL_VERSION=%{__kernel_ver} \
+       M=$PWD O=$PWD \
+       %{?with_verbose:V=1}
+    mv -f objs/*/release/*.ko built/$cfg
+done
 %endif
 
-%{?with_apps:echo "CONFIG_APPS=y" >> .config}
-%{__make} all \
-       KCFLAGS="$KCFLAGS" \
-       OPT="%{rpmcflags}" \
+%if %{with userspace}
+%{__make} winter \
+       OPT="%{rpmcflags}"
 
-%install
-rm -rf $RPM_BUILD_ROOT
+%{__make} lvnet \
+       OPT="%{rpmcflags} %{rpmldflags}"
 
-install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/{net,usb,pcmcia}
-install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/{net,usb,pcmcia}
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}/pcmcia,%{_mandir}/man1}
+%{__make} -C src/apps/fw-upgrade atmelup \
+       CCC=%{__cc} \
+       CCFLAGS="%{rpmcflags}"
+%endif
 
-mv -f scripts/.vnetrc $RPM_BUILD_ROOT%{_sysconfdir}/vnetrc
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_sbindir}
+
+%if %{with kernel}
+cd built
+install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/kernel/drivers/{net/pcmcia,usb/net}
+install %{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}/pcm* \
+       $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/net/pcmcia
+install %{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}/usb* \
+       $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/usb/net
+%if %{with smp} && %{with dist_kernel}
+install smp/pcm* \
+       $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/net/pcmcia
+install smp/usb* \
+       $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/net
+%endif
+cd -
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/pcmcia
 cp scripts/atmel.conf $RPM_BUILD_ROOT%{_sysconfdir}/pcmcia
+cp scripts/fastvnet.sh $RPM_BUILD_ROOT%{_sbindir}
+%endif
 
-%{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT%{_prefix} \
-        MODDIR=$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver} \
-       MAN_PATH=$RPM_BUILD_ROOT%{_mandir}/man1
+%if %{with userspace}
+install -d $RPM_BUILD_ROOT%{_mandir}/man1
+install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/vnetrc
+install man/lvnet.1 $RPM_BUILD_ROOT%{_mandir}/man1
+install src/apps/fw-upgrade/atmelup $RPM_BUILD_ROOT%{_sbindir}
+install src/apps/cmd_line/lvnet $RPM_BUILD_ROOT%{_sbindir}
+install objs/winter $RPM_BUILD_ROOT%{_sbindir}
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
-for i in /lib/modules/%{_kernel_ver}/kernel/drivers/usb/usbvnet* ; do
-       cuted_i=$(basename $i|cut -d. -f1)
-       if  [ -f $i ]; then
-               if ( grep $cuted_i /etc/modules.conf >/dev/null ); then
-                       echo "NOP" >/dev/null; else
-                       echo "#post-install $cuted_i /bin/fastvnet.sh">> /etc/modules.conf;
-               fi
+for i in /lib/modules/%{_kernel_ver}/kernel/drivers/usb/net/usbvnet* ; do
+    cuted_i=$(basename $i|cut -d. -f1)
+    if  [ -f $i ]; then
+       if ( grep $cuted_i /etc/modprobe.conf >/dev/null ); then
+           echo "NOP" >/dev/null; else
+               echo "#post-install $cuted_i /usr/sbin/fastvnet.sh">> /etc/modprobe.conf;
        fi
+    fi
 done
 %depmod %{_kernel_ver}
 
@@ -152,41 +197,47 @@ done
 %depmod %{_kernel_ver}
 
 %post -n kernel-smp-net-atmelwlandriver
-for i in /lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/usbvnet* ; do
-       cuted_i=$(basename $i|cut -d. -f1)
-       if  [ -f $i ]; then
-               if ( grep $cuted_i /etc/modules.conf >/dev/null ); then
-                       echo "NOP" >/dev/null; else
-                       echo "#post-install $cuted_i /bin/fastvnet.sh">> /etc/modules.conf;
-               fi
+for i in /lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/net/usbvnet* ; do
+    cuted_i=$(basename $i|cut -d. -f1)
+    if  [ -f $i ]; then
+       if ( grep $cuted_i /etc/modprobe.conf >/dev/null ); then
+           echo "NOP" >/dev/null; else
+           echo "#post-install $cuted_i /usr/sbin/fastvnet.sh">> /etc/modprobe.conf;
        fi
+    fi
 done
 %depmod %{_kernel_ver}smp
 
 %postun -n kernel-smp-net-atmelwlandriver
 %depmod %{_kernel_ver}smp
 
+%if %{with kernel}
 %files
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/fastvnet.sh
 %doc CHANGES README
-/lib/modules/%{_kernel_ver}/*
-%{_sysconfdir}/pcmcia/atmel.conf
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/pcmcia/atmel.conf
 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/vnetrc
+%attr(755,root,root) %{_sbindir}/fastvnet.sh
+/lib/modules/%{_kernel_ver}/kernel/drivers/net/pcmcia/*.ko*
+/lib/modules/%{_kernel_ver}/kernel/drivers/usb/net/*.ko*
 
-%if %{with smp}
+%if %{with smp} && %{with dist_kernel}
 %files -n kernel-smp-net-atmelwlandriver
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/fastvnet.sh
 %doc CHANGES README
-/lib/modules/%{_kernel_ver}smp/*
-%{_sysconfdir}/pcmcia/atmel.conf
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/pcmcia/atmel.conf
 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/vnetrc
+%attr(755,root,root) %{_sbindir}/fastvnet.sh
+/lib/modules/%{_kernel_ver}smp/kernel/drivers/net/pcmcia/*.ko*
+/lib/modules/%{_kernel_ver}smp/kernel/drivers/usb/net/*.ko*
+%endif
 %endif
 
-%if %{with apps}
+%if %{with userspace}
 %files -n atmelwlandriver-tools
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_sbindir}/atmelup
+%attr(755,root,root) %{_sbindir}/lvnet
+%attr(755,root,root) %{_sbindir}/winter
 %{_mandir}/man1/*
 %endif
This page took 0.108523 seconds and 4 git commands to generate.