+%define tarver %(echo %{version} | tr _ -)
Summary: Wireless network sniffer
-Summary(pl): Sniffer sieci bezprzewodowych
+Summary(pl.UTF-8): Sniffer sieci bezprzewodowych
Name: kismet
-Version: 3.0.1
-Release: 2
+Version: 2021_05_R1
+Release: 3
License: GPL
Group: Networking/Utilities
-Source0: http://www.kismetwireless.net/code/%{name}-%{version}.tar.gz
-# Source0-md5: 7ba34081eb93d7ca27377593ba40524b
-Patch0: %{name}-acfix.patch
-Patch1: %{name}-pcap.patch
+Source0: http://www.kismetwireless.net/code/%{name}-%{tarver}.tar.xz
+# Source0-md5: df4cc90d5183b7fd45846a33bf598339
+Patch0: opt.patch
URL: http://www.kismetwireless.net/
-BuildRequires: ImageMagick-devel
-BuildRequires: XFree86-devel
BuildRequires: autoconf
BuildRequires: automake
-BuildRequires: expat-devel
-BuildRequires: libpcap-devel >= 0.8.1-2
-BuildRequires: libwiretap-devel
-BuildRequires: ncurses-devel
-BuildRequires: zlib-devel
+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: libwebsockets-devel >= 3.1.0
+BuildRequires: ncurses-ext-devel
+BuildRequires: openssl-devel
+BuildRequires: pcre-devel
+BuildRequires: pkgconfig
+BuildRequires: sed >= 4.0
+Requires(postun): /usr/sbin/groupdel
+Requires(pre): /usr/sbin/groupadd
+Provides: group(kismet)
+Obsoletes: kismet-server < 2021_05_R1
# it uses internal structures - so strict deps
%requires_eq libpcap
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define plugins plugin-alertsyslog plugin-dashboard
+
%description
Kismet is a 802.11b wireless network sniffer. It is capable of
sniffing using almost any wireless card supported in Linux, including
libpcap (Cisco), and limited support for cards without RF Monitor
support.
-%description -l pl
+%description -l pl.UTF-8
Kismet to sniffer bezprzewodowych sieci 802.11b. Jest zdolny do
-sniffowania u¿ywaj±c prawie dowolnych bezprzewodowych kart sieciowych
-w Linuxie w³±czaj±c w to karty Prism2 wspierane przez projekt Wlan-NG
-(Linksys, Dlink, Rangelan, etc), kart które umo¿liwiaj±
-przechwytywanie pakietów poprzez libpcap (Cisco), oraz ograniczone
-wsparcie dla kart bez obs³ugi Monitora RF.
+sniffowania używając prawie dowolnych bezprzewodowych kart sieciowych
+w Linuksie włączając w to karty Prism2 wspierane przez projekt Wlan-NG
+(Linksys, Dlink, Rangelan, etc), kart które umożliwiają
+przechwytywanie pakietów poprzez libpcap (Cisco), oraz ograniczone
+wsparcie dla kart bez obsługi Monitora RF.
%prep
-%setup -q
+%setup -q -n %{name}-%{tarver}
%patch0 -p1
-%patch1 -p1
-%build
-cp Makefile.in Makefile.new
-sed -e 's#-o $(INSTUSR)##g' -e 's#-o $(INSTGRP)##g' \
- Makefile.new > 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-ethereal=%{_includedir} \
-%ifarch arm
- --enable-zaurus
-%endif
+%configure
+
+# -j1 due to OOM
+%{__make} -j1
-%{__make} dep all
+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) \
+ SUIDGROUP=%(id -gn) \
+ MANGRP=%(id -gn)
+done
%clean
rm -rf $RPM_BUILD_ROOT
+%pre
+%groupadd -P %{name} -g 180 kismet
+
+%preun
+if [ "$1" = "0" ]; then
+ %groupremove kismet
+fi
+
+%triggerpostun -- kismet-server < 2021_05_R1
+%groupadd -P %{name} -g 180 kismet
+
%files
%defattr(644,root,root,755)
-%doc docs/* CHANGELOG FAQ README
-%attr(755,root,root) %{_bindir}/*
-%{_sysconfdir}/*_manuf
+%doc README.md README.plugin-alertsyslog README.plugin-dashboard
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_80211.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_alerts.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_filter.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_httpd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_logging.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_memory.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_uav.conf
+%attr(755,root,root) %{_bindir}/kismet
+%attr(755,root,root) %{_bindir}/kismet_cap_freaklabs_zigbee
+%attr(755,root,root) %{_bindir}/kismet_cap_kismetdb
+%attr(755,root,root) %{_bindir}/kismet_cap_linux_bluetooth
+%attr(755,root,root) %{_bindir}/kismet_cap_linux_wifi
+%attr(755,root,root) %{_bindir}/kismet_cap_nrf_51822
+%attr(755,root,root) %{_bindir}/kismet_cap_nrf_52840
+%attr(755,root,root) %{_bindir}/kismet_cap_nrf_mousejack
+%attr(755,root,root) %{_bindir}/kismet_cap_nxp_kw41z
+%attr(755,root,root) %{_bindir}/kismet_cap_pcapfile
+%attr(755,root,root) %{_bindir}/kismet_cap_rz_killerbee
+%attr(755,root,root) %{_bindir}/kismet_cap_sdr_rtl433
+%attr(755,root,root) %{_bindir}/kismet_cap_sdr_rtladsb
+%attr(755,root,root) %{_bindir}/kismet_cap_sdr_rtlamr
+%attr(755,root,root) %{_bindir}/kismet_cap_ti_cc_2531
+%attr(755,root,root) %{_bindir}/kismet_cap_ti_cc_2540
+%attr(755,root,root) %{_bindir}/kismet_discovery
+%attr(755,root,root) %{_bindir}/kismet_server
+%attr(755,root,root) %{_bindir}/kismetdb_clean
+%attr(755,root,root) %{_bindir}/kismetdb_dump_devices
+%attr(755,root,root) %{_bindir}/kismetdb_statistics
+%attr(755,root,root) %{_bindir}/kismetdb_strip_packets
+%attr(755,root,root) %{_bindir}/kismetdb_to_gpx
+%attr(755,root,root) %{_bindir}/kismetdb_to_kml
+%attr(755,root,root) %{_bindir}/kismetdb_to_pcap
+%attr(755,root,root) %{_bindir}/kismetdb_to_wiglecsv
%{_datadir}/%{name}
-%{_mandir}/man?/*
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}*
+%dir %{_libdir}/kismet
+%dir %{_libdir}/kismet/alertsyslog
+%attr(755,root,root) %{_libdir}/kismet/alertsyslog/alertsyslog.so
+%{_libdir}/kismet/alertsyslog/manifest.conf
+%{_libdir}/kismet/dashboard
+%{py3_sitescriptdir}/KismetCapture*