+# TODO
+# - Anybody knows, why it will not build, when kernel-headers are installed?
#
-# TODO: Anybody knows, why it will not build,
-# when kernel-headers are installed?
-#
+%define tarver %(echo %{version} | tr _ -)
Summary: Wireless network sniffer
Summary(pl.UTF-8): Sniffer sieci bezprzewodowych
Name: kismet
-Version: 2007_10_R1
-%define _ver 2007-10-R1
-Release: 3
+Version: 2011_03_R2
+Release: 5
License: GPL
Group: Networking/Utilities
-Source0: http://www.kismetwireless.net/code/%{name}-%{_ver}.tar.gz
-# Source0-md5: 2100c667e69db0cde35fa2d06c8516e2
-Patch0: %{name}-c++.patch
+Source0: http://www.kismetwireless.net/code/%{name}-%{tarver}.tar.gz
+# Source0-md5: 8bf077e8111e6dc8c12cadefdf40aadd
+Patch0: config.patch
URL: http://www.kismetwireless.net/
-BuildRequires: ImageMagick-devel
BuildRequires: autoconf
BuildRequires: automake
+BuildRequires: bluez-libs-devel
BuildRequires: gmp-devel
+BuildRequires: libcap-devel
+BuildRequires: libnl-devel
BuildRequires: libpcap-devel >= 2:0.9.4-1
BuildRequires: libstdc++-devel
-BuildRequires: libwiretap-devel
BuildRequires: ncurses-ext-devel
+BuildRequires: openssl-devel
+BuildRequires: pcre-devel
+BuildRequires: pkgconfig
+BuildRequires: sed >= 4.0
+Suggests: %{name}-server
# it uses internal structures - so strict deps
%requires_eq libpcap
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define plugins plugin-autowep plugin-btscan plugin-ptw plugin-spectools
+
%description
Kismet is a 802.11b wireless network sniffer. It is capable of
sniffing using almost any wireless card supported in Linux, including
przechwytywanie pakietów poprzez libpcap (Cisco), oraz ograniczone
wsparcie dla kart bez obsługi Monitora RF.
+%package server
+Summary: Server for Kismet
+Group: Networking/Daemons
+Requires(postun): /usr/sbin/groupdel
+Requires(pre): /usr/sbin/groupadd
+Provides: group(kismet)
+
+%description server
+This package contains kismet_server which you can access with kismet
+protocol compatible clients.
+
%prep
-%setup -q -n %{name}-%{_ver}
+%setup -q -n %{name}-%{tarver}
%patch0 -p1
-sed -i -e 's#-o $(INSTUSR)##g' -e 's#-o $(INSTGRP)##g' Makefile.in
+# make lib64 aware, include exec bits on install
+%{__sed} -i -e 's!\$(prefix)/lib/!%_libdir/!g' plugin-*/Makefile
+%{__sed} -i -e '/install/ s!-m644!-m755!' plugin-*/Makefile
+
+# make %doc friendly
+for a in plugin-*/README; do
+ mv $a README.${a%/README}
+done
%build
cp -f /usr/share/automake/config.* .
%{__aclocal}
%{__autoconf}
-CPPFLAGS="-I/usr/include/ncurses"
-%configure \
- --enable-syspcap \
- --with-linuxheaders=no \
- --with-ethereal=%{_includedir} \
-%ifarch arm
- --enable-zaurus
-%endif
+%configure
%{__make}
+for plugin in %plugins; do
+ %{__make} -C $plugin \
+ KIS_SRC_DIR=$PWD
+done
+
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_datadir}}
-
-%{__make} install \
- INSTGRP=$(id -g) \
- MANGRP=$(id -g) \
- prefix=$RPM_BUILD_ROOT%{_prefix} \
- exec_prefix=$RPM_BUILD_ROOT%{_prefix} \
- ETC=$RPM_BUILD_ROOT%{_sysconfdir} \
- BIN=$RPM_BUILD_ROOT%{_bindir} \
- SHARE=$RPM_BUILD_ROOT%{_datadir}/%{name} \
- MAN=$RPM_BUILD_ROOT%{_mandir}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_datadir},/var/log/%{name}}
+for dir in . %plugins; do
+ %{__make} -C $dir install \
+ DESTDIR="$RPM_BUILD_ROOT" \
+ KIS_SRC_DIR=$PWD \
+ INSTUSR=%(id -un) \
+ INSTGRP=%(id -gn) \
+ MANGRP=%(id -gn)
+done
+
+# do what binsuidinstall would do
+install -p kismet_capture $RPM_BUILD_ROOT%{_bindir}
%clean
rm -rf $RPM_BUILD_ROOT
+%pre server
+%groupadd -P %{name}-server -g 180 kismet
+
+%preun server
+if [ "$1" = "0" ]; then
+ %groupremove kismet
+fi
+
%files
%defattr(644,root,root,755)
-%doc docs/* CHANGELOG CHANGELOG-OLD README TODO
-%attr(755,root,root) %{_bindir}/*
-%{_sysconfdir}/*_manuf
+%doc docs/* CHANGELOG README README.plugin-*
+%attr(755,root,root) %{_bindir}/kismet
+%attr(755,root,root) %{_bindir}/kismet_client
%{_datadir}/%{name}
-%{_mandir}/man?/*
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}*
+%{_mandir}/man1/kismet.1*
+%{_mandir}/man1/kismet_drone.1*
+%dir %{_libdir}/kismet_client
+%attr(755,root,root) %{_libdir}/kismet_client/btscan_ui.so
+%attr(755,root,root) %{_libdir}/kismet_client/spectools_ui.so
+
+%files server
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_drone.conf
+%attr(4750,root,kismet) %{_bindir}/kismet_capture
+%attr(755,root,root) %{_bindir}/kismet_drone
+%attr(755,root,root) %{_bindir}/kismet_server
+%{_mandir}/man5/kismet.conf.5*
+%{_mandir}/man5/kismet_drone.conf.5*
+%dir %{_libdir}/kismet
+%attr(755,root,root) %{_libdir}/kismet/aircrack-kismet.so
+%attr(755,root,root) %{_libdir}/kismet/autowep-kismet.so
+%attr(755,root,root) %{_libdir}/kismet/btscan.so
+%attr(755,root,root) %{_libdir}/kismet/spectool_net.so
+%dir %attr(770,root,kismet) /var/log/%{name}