/[packages]/cauldron/ndiswrapper/current/SPECS/ndiswrapper.spec
ViewVC logotype

Contents of /cauldron/ndiswrapper/current/SPECS/ndiswrapper.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 63362 - (show annotations) (download)
Thu Mar 3 15:01:31 2011 UTC (14 years, 4 months ago) by ennael
File size: 4502 byte(s)
imported package ndiswrapper
1 %define build_dkms 1
2 %{?_with_dkms:%define build_dkms 1}
3 %{?_without_dkms:%define build_dkms 0}
4
5 %define name ndiswrapper
6 %define version 1.56
7 %define release %mkrel 3
8
9 Name: %{name}
10 Version: %{version}
11 Release: %{release}
12 Summary: NdisWrapper binary loader utility
13 License: GPL
14 Group: System/Configuration/Hardware
15 URL: http://ndiswrapper.sourceforge.net/
16 Source0: http://prdownloads.sourceforge.net/ndiswrapper/%{name}-%{version}.tar.gz
17 Source1: %{name}.bash-completion
18 Source2: %{name}.pm-utils
19 Patch0: ndiswrapper-1.44-cflags.patch
20 Patch1: ndiswrapper-2.6.35-buildfix.patch
21 Patch2: ndiswrapper-2.6.36-buildfix.patch
22 Requires: kernel
23 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
24
25 %description
26 Ndiswrapper implements the Windows kernel APIs within the Linux kernel. This
27 allows you to use a Windows driver for a wireless network card. The driver
28 runs natively, as though it is in Windows, without binary emulation. This is
29 not ideal, but is useful when a vendor does not provide Linux drivers and no
30 free and open driver exists.
31
32 With ndiswrapper, most miniPCI (builtin), PCI, PCMCIA (Cardbus only) or USB
33 wireless network adapteers work in Linux. Although ndiswrapper is intended for
34 wireless network cards, other devices are known to work, such as ethernet
35 cards, USB to serial port device, and home phone network devices.
36
37 Note that ndiswrapper is known to cause occational computer lockups.
38
39 %if %build_dkms
40 %package -n dkms-%{name}
41 Summary: DKMS ndiswrapper module: USUALLY NOT NEEDED
42 License: GPL
43 Group: System/Kernel and hardware
44 Requires(post,preun): dkms
45 Requires: %{name} = %{version}
46
47 %description -n dkms-%{name}
48 ** YOU ALMOST CERTAINLY SHOULD NOT INSTALL THIS PACKAGE **. It is only
49 useful if you are using a kernel with no ndiswrapper module of its own.
50 All official Mandriva kernel packages, and all kernel-tmb packages,
51 have their own ndiswrapper modules. If you are using one of these
52 kernels, DO NOT install this package.
53
54 DKMS package for %{name} kernel module.
55 %endif
56
57 %prep
58 %setup -q
59 %patch0 -p1 -b .cflags
60 %patch1 -p1 -b .buildfix-35
61 %patch2 -p1 -b .buildfix-36
62
63 %build
64 pushd utils
65 CFLAGS="$RPM_OPT_FLAGS" \
66 %make
67 popd
68
69 %install
70 rm -rf $RPM_BUILD_ROOT
71 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
72 install -m755 utils/loadndisdriver -D $RPM_BUILD_ROOT/sbin/loadndisdriver
73 install -m755 utils/ndiswrapper -D $RPM_BUILD_ROOT%{_sbindir}/ndiswrapper
74 install -m755 utils/ndiswrapper-buginfo -D $RPM_BUILD_ROOT%{_sbindir}/ndiswrapper-buginfo
75
76 install -d $RPM_BUILD_ROOT%{_mandir}/man8
77 install -m0644 ndiswrapper.8 $RPM_BUILD_ROOT%{_mandir}/man8/
78
79 %if %build_dkms
80 mkdir -p %{buildroot}/usr/src/%{name}-%{version}-%{release}
81 cp -a driver/* %{buildroot}/usr/src/%{name}-%{version}-%{release}
82 cat > %{buildroot}/usr/src/%{name}-%{version}-%{release}/dkms.conf <<EOF
83
84 PACKAGE_VERSION="%{version}-%{release}"
85
86 # Items below here should not have to change with each driver version
87 PACKAGE_NAME="%{name}"
88 MAKE[0]="make KVERS=\${kernelver} -C \${dkms_tree}/\${PACKAGE_NAME}/\${PACKAGE_VERSION}/build"
89 CLEAN="make -C \${kernel_source_dir} SUBDIRS=\${dkms_tree}/\${PACKAGE_NAME}/\${PACKAGE_VERSION}/build clean"
90
91 BUILT_MODULE_NAME[0]="\$PACKAGE_NAME"
92 DEST_MODULE_LOCATION[0]="/kernel/3rdparty/%{name}"
93 MODULES_CONF_ALIAS_TYPE[0]="eth"
94
95 REMAKE_INITRD="no"
96 AUTOINSTALL=yes
97 EOF
98 %endif
99
100 install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
101 install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ndiswrapper
102 install -D -m 755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/pm/config.d/%{name}
103
104 %clean
105 rm -rf $RPM_BUILD_ROOT
106
107 %post
108 echo -e "please download binary driver (look at http://ndiswrapper.sourceforge.net/)\nuse ndiswrapper -i <inffile.inf> as root to install driver"
109
110 %if %build_dkms
111 %post -n dkms-%{name}
112 dkms add -m %{name} -v %{version}-%{release} --rpm_safe_upgrade
113 dkms build -m %{name} -v %{version}-%{release} --rpm_safe_upgrade
114 dkms install -m %{name} -v %{version}-%{release} --rpm_safe_upgrade --force
115 exit 0
116
117 %preun -n dkms-%{name}
118 dkms remove -m %{name} -v %{version}-%{release} --rpm_safe_upgrade --all
119 exit 0
120 %endif
121
122 %files
123 %defattr(-,root,root)
124 %doc AUTHORS README ChangeLog INSTALL
125 /sbin/loadndisdriver
126 %{_sbindir}/ndiswrapper
127 %{_sbindir}/ndiswrapper-buginfo
128 %{_sysconfdir}/%{name}
129 %config(noreplace)%{_sysconfdir}/bash_completion.d/%{name}
130 %{_sysconfdir}/pm/config.d/%{name}
131 %{_mandir}/man8/*
132
133 %if %build_dkms
134 %files -n dkms-%{name}
135 %defattr(-,root,root)
136 /usr/src/%{name}-%{version}-%{release}
137 %endif
138
139

  ViewVC Help
Powered by ViewVC 1.1.30