hostapd/hostapd.spec
2009-12-21 20:06:43 +00:00

166 lines
4.9 KiB
RPMSpec

Name: hostapd
Version: 0.6.9
Release: 6%{?dist}
Summary: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Group: System Environment/Daemons
License: BSD
URL: http://w1.fi/hostapd
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: %{URL}/%{name}-%{version}.tar.gz
Source1: %{name}.init
Source2: %{name}.conf
Source3: %{name}.sysconfig
Patch0: hostapd-RPM_OPT_FLAGS.patch
Patch1: hostapd-MSG_DEBUG.patch
BuildRequires: libnl-devel >= 1.1
BuildRequires: openssl-devel
BuildRequires: gzip
Requires(post): chkconfig
Requires(preun): chkconfig
# This is for /sbin/service
Requires(preun): initscripts
%description
hostapd is a user space daemon for access point and authentication
servers. It implements IEEE 802.11 access point management, IEEE
802.1X/WPA/WPA2/EAP Authenticators and RADIUS authentication server.
hostapd is designed to be a "daemon" program that runs in the back-
ground and acts as the backend component controlling authentication.
hostapd supports separate frontend programs and an example text-based
frontend, hostapd_cli, is included with hostapd.
%package logwatch
Summary: Logwatch scripts for hostapd
Requires: %{name} = %{version}-%{release} logwatch perl
%description logwatch
Logwatch scripts for hostapd
%prep
%setup -q
# Hack Makefile to allow use of RPM_OPT_FLAGS
%patch0 -p1
# Quiet some unnecessary console spam at startup
%patch1 -p1
%build
cd hostapd
cat defconfig | sed -e '/^#CONFIG_DRIVER_NL80211=y/s/^#//' \
-e '/^#CONFIG_RADIUS_SERVER=y/s/^#//' \
-e '/^#CONFIG_DRIVER_WIRED=y/s/^#//' \
-e '/^#CONFIG_DRIVER_NONE=y/s/^#//' > .config
make %{?_smp_mflags} EXTRA_CFLAGS="$RPM_OPT_FLAGS"
%install
rm -rf %{buildroot}
# init scripts
install -d %{buildroot}/%{_initddir}
install -pm 0755 %{SOURCE1} %{buildroot}/%{_initddir}/hostapd
# logwatch files
install -d %{buildroot}/%{_sysconfdir}/logwatch/conf/services
install -pm 0644 hostapd/logwatch/hostapd.conf \
%{buildroot}/%{_sysconfdir}/logwatch/conf/services/hostapd.conf
install -d %{buildroot}/%{_sysconfdir}/logwatch/scripts/services
install -pm 0755 hostapd/logwatch/hostapd \
%{buildroot}/%{_sysconfdir}/logwatch/scripts/services/hostapd
# config files
install -d %{buildroot}/%{_sysconfdir}/%{name}
install -pm 0644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/%{name}/hostapd.conf
install -d %{buildroot}/%{_sysconfdir}/sysconfig
install -pm 0644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/sysconfig/hostapd
# binaries
install -d %{buildroot}/%{_sbindir}
install -pm 0755 hostapd/hostapd %{buildroot}%{_sbindir}/hostapd
install -pm 0755 hostapd/hostapd_cli %{buildroot}%{_sbindir}/hostapd_cli
# runtime state directory
install -d %{buildroot}/%{_localstatedir}/run/%{name}
# man pages
/usr/bin/gzip -c hostapd/hostapd_cli.1 > hostapd/hostapd_cli.1.gz
/usr/bin/gzip -c hostapd/hostapd.8 > hostapd/hostapd.8.gz
install -d %{buildroot}%{_mandir}/man{1,8}
install -pm 0644 hostapd/hostapd_cli.1.gz %{buildroot}%{_mandir}/man1
install -pm 0644 hostapd/hostapd.8.gz %{buildroot}%{_mandir}/man8
# prepare docs
cp hostapd/README ./README.hostapd
cp hostapd/logwatch/README ./README.logwatch
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc COPYING README README.hostapd
%doc hostapd/hostapd.conf hostapd/wired.conf
%doc hostapd/hostapd.accept hostapd/hostapd.deny
%doc hostapd/hostapd.eap_user hostapd/hostapd.radius_clients
%doc hostapd/hostapd.vlan hostapd/hostapd.wpa_psk
%config(noreplace) %{_sysconfdir}/%{name}/hostapd.conf
%config(noreplace) %{_sysconfdir}/sysconfig/hostapd
%{_initddir}/hostapd
%{_sbindir}/hostapd
%{_sbindir}/hostapd_cli
%dir %{_sysconfdir}/%{name}
%dir %{_localstatedir}/run/%{name}
%{_mandir}/man1/*
%{_mandir}/man8/*
%files logwatch
%defattr(-,root,root,-)
%doc hostapd/logwatch/README
%config(noreplace) %{_sysconfdir}/logwatch/conf/services/hostapd.conf
%{_sysconfdir}/logwatch/scripts/services/hostapd
%post
/sbin/chkconfig --add %{name}
%preun
if [ $1 = 0 ]; then
/sbin/service %{name} stop >/dev/null 2>&1
/sbin/chkconfig --del %{name}
fi
%changelog
* Thu Dec 17 2009 John W. Linville <linville@redhat.com> - 0.6.9-6
- Enable RADIUS server
- Enable "wired" and "none" drivers
- Use BSD license option
* Wed Dec 16 2009 John W. Linville <linville@redhat.com> - 0.6.9-5
- Use openssl instead of gnutls (broken)
* Wed Dec 16 2009 John W. Linville <linville@redhat.com> - 0.6.9-4
- Remove wired.conf from %doc (not in chosen configuration)
- Use $RPM_OPT_FLAGS
- Add %{?dist} tag
* Wed Dec 16 2009 John W. Linville <linville@redhat.com> - 0.6.9-3
- Use gnutls instead of openssl
- Turn-off internal EAP server (broken w/ gnutls)
- Remove %doc files not applicable to chosen configuration
- Un-mangle README filename for logwatch sub-package
* Wed Dec 16 2009 John W. Linville <linville@redhat.com> - 0.6.9-2
- Initial build
- Start release at 2 to avoid conflicts w/ previous attempts by others