Blob Blame History Raw
%define         crda_version    v0.9.5
%define         regdb_version   2009-01-15

Name:           crda
Version:        %{crda_version}_%(echo %{regdb_version} | sed -e 's/-/_/g')
Release:        2%{?dist}
Summary:        Regulatory compliance daemon for 802.11 wireless networking

Group:          System Environment/Base
License:        BSD
URL:            http://www.linuxwireless.org/en/developers/Regulatory/CRDA
BuildRoot:      %{_tmppath}/%{name}-%{crda_version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  kernel-devel >= 2.6.27
BuildRequires:  libnl-devel >= 1.1
BuildRequires:  libgcrypt-devel
BuildRequires:  pkgconfig python m2crypto

Requires:       udev

Source0:        http://wireless.kernel.org/download/crda/crda-%{crda_version}.tar.bz2
Source1:        http://wireless.kernel.org/download/wireless-regdb/wireless-regdb-%{regdb_version}.tar.bz2

%description
CRDA acts as the udev helper for communication between the kernel
and userspace for regulatory compliance. It relies on nl80211
for communication. CRDA is intended to be run only through udev
communication from the kernel.

%prep
%setup -q -c
%setup -q -T -D -a 1

rm crda-%{crda_version}/pubkeys/*


%build

# Use our own signing key to generate regulatory.bin
cd wireless-regdb-%{regdb_version}

make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" maintainer-clean
make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" key.priv.pem
make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS"

# Build CRDA using the new key and regulatory.bin from above
cd ../crda-%{crda_version}
cp ../wireless-regdb-%{regdb_version}/key.pub.pem pubkeys

make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" REG_BIN=../wireless-regdb-%{regdb_version}/regulatory.bin


%install
rm -rf $RPM_BUILD_ROOT

cd crda-%{crda_version}
cp README README.crda
make install DESTDIR=$RPM_BUILD_ROOT

# Fixup some directory and file naming
mkdir -p ${RPM_BUILD_ROOT}/lib/udev/
mv ${RPM_BUILD_ROOT}/etc/udev/rules.d ${RPM_BUILD_ROOT}/lib/udev/rules.d
mv ${RPM_BUILD_ROOT}/lib/udev/rules.d/regulatory.rules ${RPM_BUILD_ROOT}/lib/udev/rules.d/10-regulatory.rules

cd ../wireless-regdb-%{regdb_version}
cp README README.wireless-regdb
make install PREFIX=${RPM_BUILD_ROOT}/usr


%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
/sbin/%{name}
/sbin/regdbdump
/lib/udev/rules.d/10-regulatory.rules
/usr/lib/%{name}
%doc crda-%{crda_version}/LICENSE crda-%{crda_version}/README.crda
%doc wireless-regdb-%{regdb_version}/README.wireless-regdb

%changelog
* Thu Jan 22 2008 John W. Linville <linville@redhat.com> v0.9.5_2009_01_15-2
- Revamp based on package review comments

* Tue Jan 20 2008 John W. Linville <linville@redhat.com> v0.9.5_2009_01_15-1
- Initial build