# openmamba ndiswrapper specfile # Copyright (C) 2009 by Silvan Calarco # released under the GPL license # # To build a specific target: # # rpmbuild -ba --define="KERNEL_TARGET " ndisrapper.spec # or # autospec -u ndiswrapper --define KERNEL_TARGET= -a5 # # DISTCC disabled by default for this package %define USE_DISTCC 0 %define kernel_majversion %(echo %KERNEL_VER | cut -d. -f1-2) %define kernel_version %(echo %KERNEL_VER | cut -d. -f1-3) %define BUILD_CC %{_target_platform}-gcc %define BUILD_CXX %{_target_platform}-g++ %if %{USE_DISTCC} %define DISTCC_CC ccache distcc %{?BUILD_CC} %define DISTCC_CXX ccache distcc %{?BUILD_CXX} %define BUILD_OPTS CC="%{DISTCC_CC}" CXX="%{DISTCC_CXX}" -j12 %else %define BUILD_OPTS CC="%{BUILD_CC}" CXX="%{BUILD_CXX}" %{_smp_mflags} %endif %if "%{?KERNEL_TARGET}" == "" # build a mamba kernel by default %define KERNEL_TARGET mamba %else %define KERNEL_TARGET_APPEND -%{KERNEL_TARGET} %endif %if "%{?KERNEL_VER}" == "" %define KERNEL_VER %(uname -r | sed "s|\\([0-9.]*\\).*|\\1|" ) %endif Name: ndiswrapper Epoch: 4 Version: 1.58rc1 Release: 2mamba Summary: Ndis driver wrapper for the Linux kernel Group: System/Kernel and Hardware Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://ndiswrapper.sourceforge.net/ Source: http://downloads.sourceforge.net/ndiswrapper/ndiswrapper-%{version}.tar.gz Patch0: %{name}-1.55-kernel-2.6.31.patch Patch1: %{name}-1.56-kernel-2.6.35-1.patch Patch2: %{name}-1.56-ioctl.patch Patch3: %{name}-1.56-kernel-2.6.38.patch Patch4: %{name}-1.56-kernel-2.6.39-1.patch Patch5: %{name}-1.56-kernel-2.6.39-2.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: module-init-tools BuildRequires: perl-devel ## AUTOBUILDREQ-END BuildRequires: kernel-%{KERNEL_TARGET}-headers >= %{kernel_version} BuildRequires: kernel-%{KERNEL_TARGET}-headers <= %{kernel_version}.255 Requires: kernelndiswrapper = %{?epoch:%epoch:}%{version}-%{release} BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Some vendors do not release specifications of the hardware or provide a linux driver for their wireless network cards. This project implements Windows kernel API and NDIS (Network Driver Interface Specification) API within Linux kernel. A Windows driver for wireless network card is then linked to this implementation so that the driver runs natively, as though it is in Windows, without binary emulation. %package -n kernel-%{?KERNEL_TARGET}-ndiswrapper Group: System/Kernel and Hardware Summary: Backport of kernel sound drivers from the ALSA project for the Linux %{?KERNEL_TARGET} Kernel Requires(pre): kernel-%{KERNEL_TARGET} >= %{kernel_version} Requires(pre): kernel-%{KERNEL_TARGET} <= %{kernel_version}.255 Requires: module-init-tools Provides: kernelwireless Provides: kernelndiswrapper ## KERNELOBSOLETES-BEGIN 3.6 ## KERNELOBSOLETES-END %description -n kernel-%{?KERNEL_TARGET}-ndiswrapper Ndis driver wrapper for the Linux kernel. %prep %setup -q %if "%{?KERNEL_TARGET}" == "" echo "No target specified, aborting." 1>&2 exit 1 %else echo "Building %{name} for a %{KERNEL_TARGET} kernel..." %endif #%patch0 -p0 #%patch1 -p0 #%patch2 -p0 #%patch3 -p1 #%patch4 -p1 #%patch5 -p1 %build %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" # build/install ndiswrapper driver and tools # FIXME: # WARNING: This kernel seems to use 4K stack size option (CONFIG_4KSTACKS); # any Windows drivers will not work with this option enabled. # Disable CONFIG_4KSTACKS option, recompile and install kernel %makeinstall \ %{BUILD_OPTS} \ DIST_DESTDIR=%{buildroot} \ KVERS=%{kernel_version}%{?KERNEL_TARGET} \ KBUILD=%{_prefix}/src/linux-%{kernel_version}%{?KERNEL_TARGET} \ INST_DIR=/lib/modules/%{kernel_version}%{?KERNEL_TARGET}/kernel/drivers/net/wireless #install -m 0755 -d %{buildroot}%{_sysconfdir}/modules.d #echo "ndiswrapper" > %{buildroot}%{_sysconfdir}/modules.d/ndiswrapper.conf %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post -n kernel-%{?KERNEL_TARGET}-ndiswrapper # new install or upgrade if [ $1 -ge 1 ]; then /sbin/depmod -a -F /boot/System.map-%{kernel_version}%{KERNEL_TARGET} \ %{kernel_version}%{KERNEL_TARGET} &>/dev/null fi : %postun -n kernel-%{?KERNEL_TARGET}-ndiswrapper # erase this package if [ $1 -eq 1 ]; then /sbin/depmod -a -F /boot/System.map-%{kernel_version}%{KERNEL_TARGET} \ %{kernel_version}%{KERNEL_TARGET} &>/dev/null fi : %files %defattr(-,root,root) /sbin/loadndisdriver %{_sbindir}/ndiswrapper %{_sbindir}/ndiswrapper-buginfo %{_mandir}/man8/loadndisdriver.8* %{_mandir}/man8/ndiswrapper.8* %doc AUTHORS # ChangeLog README %files -n kernel-%{?KERNEL_TARGET}-ndiswrapper %defattr(-,root,root) /lib/modules/%{kernel_version}%{KERNEL_TARGET}/kernel/drivers/net/wireless/ndiswrapper.ko %changelog * Sat Oct 27 2012 Silvan Calarco 1.58rc1-2mamba - kernel 3.6 rebuild * Sat Sep 08 2012 Silvan Calarco 1.58rc1-1mamba - update to 1.58rc1 * Sun Feb 12 2012 Silvan Calarco 1.57-2mamba - automatic update by autodist * Wed Jan 25 2012 Silvan Calarco 1.57-1mamba - update to 1.57 * Sun Sep 04 2011 Silvan Calarco 1.56-8mamba - automatic update by autodist * Fri Aug 19 2011 Silvan Calarco 1.56-7mamba - automatic update by autodist * Wed Apr 20 2011 Silvan Calarco 1.56-6mamba - kernel 2.6.38 rebuild * Mon Feb 07 2011 Silvan Calarco 1.56-5mamba - automatic update by autodist * Thu Dec 16 2010 Silvan Calarco 1.56-4mamba - automatic rebuild by autodist * Wed Jun 30 2010 Silvan Calarco 1.56-3mamba - automatic rebuild by autodist * Sun Apr 18 2010 Automatic Build System 1.56-2mamba - automatic update to 1.56 by autodist * Fri Mar 12 2010 Automatic Build System 1.56-1mamba - automatic update to 1.56 by autodist * Sat Dec 26 2009 Silvan Calarco 1.55-5mamba - automatic rebuild by autodist * Sat Nov 14 2009 Automatic Build System 1.55-4mamba - automatic update to 1.55 by autodist * Wed Nov 04 2009 Silvan Calarco 1.55-3mamba - epoch incremented for update from old package version 2.6.30 * Tue Sep 01 2009 Automatic Build System 1.55-2mamba - automatic update to 1.55 by autodist * Sun Aug 02 2009 Silvan Calarco 1.55-1mamba - first build as standalone package