# TODO:
# - PLD it more
# - sbin/bin - change to bin?
-# - package airdrop-ng and airgraph-ng
+# - finish ext_scripts bcond:
+# -- check python related BR and R
+# -- fix packaging python releated stuff
+# -- create subpackage for airoscript
+# -- fix directory for airoscript*.conf files
+# -- fix installation of airoscript desktop files
#
# Conditional build:
%bcond_without sqlite # build without sqlite support
-%bcond_without pcre # build without pcre support
%bcond_without experimental
%bcond_with ext_scripts # build with extra scripts (NFY)
-#
+%define lib_ver 1.7.0
+
Summary: Reliable 802.11 (wireless) sniffer and WEP/WPA-PSK key cracker
Summary(pl.UTF-8): Pewny sniffer 802.11 (sieci bezprzewodowe) i łamacz kluczy WEP/WPA-PSK
Name: aircrack-ng
-Version: 1.2
-%define subver rc2
-%define rel 0.1
-Release: %{subver}.%{rel}
+Version: 1.7
+Release: 2
License: GPL
Group: Applications/Networking
-Source0: http://download.aircrack-ng.org/%{name}-%{version}-%{subver}.tar.gz
-# Source0-md5: ebe9d537f06f4d6956213af09c4476da
+Source0: https://download.aircrack-ng.org/%{name}-%{version}.tar.gz
+# Source0-md5: a918ea7146f91d8c799fb770c38f4bec
URL: http://www.aircrack-ng.org/
-Patch0: install.patch
-Patch1: pldflags.patch
-BuildRequires: libnl-devel
-BuildRequires: openssl-devel
+BuildRequires: autoconf >= 2.52
+BuildRequires: automake >= 1:1.14
+BuildRequires: hwloc-devel
+BuildRequires: libgcrypt-devel >= 1.2.0
+BuildRequires: libnl-devel >= 1:3.2
+BuildRequires: libpcap-devel
+BuildRequires: libstdc++-devel >= 6:4.8.1
+BuildRequires: libtool
+BuildRequires: pcre-devel
BuildRequires: pkgconfig
-%{?with_pcre:BuildRequires: pcre-devel}
+BuildRequires: python3
+BuildRequires: rpmbuild(macros) >= 2.007
%{?with_sqlite:BuildRequires: sqlite3-devel}
+BuildRequires: zlib-devel
+Requires: awk
+Requires: coreutils
+Requires: ethtool
+Requires: grep
+Requires: iproute2
+Requires: iw
+Requires: libnl >= 1:3.2
+Requires: pciutils
+Requires: usbutils
+Requires: util-linux
+Requires: virtual(module-tools)
+Suggests: wireless-tools
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
WEP/WPA) i paru narzędzi do obsługi plików przechwytów (merge,
convert, etc.).
+%package devel
+Summary: Development files for %{name}
+Summary(pl.UTF-8): Pliki deweloperskie dla %{name}
+Group: Development/Libraries
+Requires: %{name} = %{version}
+
+%description devel
+Development files for %{name}.
+
+%description devel -l pl.UTF-8
+Pliki deweloperskie dla %{name}
+
%prep
-%setup -q -n %{name}-%{version}-%{subver}
-%patch0 -p1
-%patch1 -p1
+%setup -q
+# Force python3 interpreter
+grep -r -l '#!/usr/bin/env python' scripts | xargs sed -i -e 's|#!/usr/bin/env python|#!%{__python3}|g'
%build
-%{__make} -j1 \
- %{?with_experimental: experimental=true} \
- %{?with_ext_scripts: ext_scripts=true} \
- %{?with_pcre: pcre=true} \
- %{?with_sqlite: sqlite=true} \
- CC="%{__cc}" \
- PLDFLAGS="%{rpmcppflags} %{rpmcflags}"
+%{__libtoolize}
+%{__aclocal} -I build/m4/stubs -I build/m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+ PYTHON=%{__python3} \
+ ETHTOOL=/sbin/ethtool \
+ --disable-silent-rules \
+ --with-gcrypt \
+ --enable-libnl \
+ --with%{!?with_experimental:out}-experimental \
+ --with%{!?with_ext_scripts:out}-ext-scripts \
+ --without-opt \
+ --with%{!?with_sqlite:out}-sqlite3
+
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}
%{__make} install \
- %{?with_experimental: experimental=true} \
- %{?with_ext_scripts: ext_scripts=true} \
- %{?with_pcre: pcre=true} \
- %{?with_sqlite: sqlite=true} \
- prefix=%{_prefix} \
- DESTDIR=$RPM_BUILD_ROOT
+ DESTDIR=$RPM_BUILD_ROOT
+
+find $RPM_BUILD_ROOT -type f \( -name "*.la" -o -name "*.a" \) -delete -print
%clean
rm -rf $RPM_BUILD_ROOT
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog README test patches
%attr(755,root,root) %{_sbindir}/airmon-ng
%attr(755,root,root) %{_sbindir}/airodump-ng
%attr(755,root,root) %{_sbindir}/airodump-ng-oui-update
+%attr(755,root,root) %{_sbindir}/airventriloquist-ng
%attr(755,root,root) %{_sbindir}/airserv-ng
%attr(755,root,root) %{_sbindir}/airtun-ng
+%attr(755,root,root) %{_libdir}/libaircrack-ce-wpa-%{lib_ver}.so
+%attr(755,root,root) %{_libdir}/libaircrack-ce-wpa.so
+%ifarch %{ix86} %{x8664} x32
+%attr(755,root,root) %{_libdir}/libaircrack-ce-wpa-x86-avx-%{lib_ver}.so
+%attr(755,root,root) %{_libdir}/libaircrack-ce-wpa-x86-avx2-%{lib_ver}.so
+%attr(755,root,root) %{_libdir}/libaircrack-ce-wpa-x86-avx2.so
+%attr(755,root,root) %{_libdir}/libaircrack-ce-wpa-x86-avx.so
+%attr(755,root,root) %{_libdir}/libaircrack-ce-wpa-x86-sse2-%{lib_ver}.so
+%attr(755,root,root) %{_libdir}/libaircrack-ce-wpa-x86-sse2.so
+%endif
+%ifarch %{arm_with_neon}
+%attr(755,root,root) %{_libdir}/libaircrack-ce-wpa-arm-neon-%{lib_ver}.so
+%attr(755,root,root) %{_libdir}/libaircrack-ce-wpa-arm-neon.so
+%endif
+%attr(755,root,root) %{_libdir}/libaircrack-osdep-%{lib_ver}.so
+%attr(755,root,root) %{_libdir}/libaircrack-osdep.so
+
%{_mandir}/man1/aircrack-ng.1*
%{_mandir}/man1/airdecap-ng.1*
%{_mandir}/man1/airdecloak-ng.1*
%{_mandir}/man1/wpaclean.1*
%{_mandir}/man8/airbase-ng.8*
%{_mandir}/man8/aireplay-ng.8*
+%{_mandir}/man8/airventriloquist-ng.8*
%{_mandir}/man8/airmon-ng.8*
%{_mandir}/man8/airodump-ng-oui-update.8*
%{_mandir}/man8/airodump-ng.8*
%{_mandir}/man8/airserv-ng.8*
%{_mandir}/man8/airtun-ng.8*
-%{_mandir}/man8/besside-ng.8*
%if %{with experimental}
+%attr(755,root,root) %{_bindir}/besside-ng-crawler
%attr(755,root,root) %{_bindir}/buddy-ng
%attr(755,root,root) %{_sbindir}/besside-ng
%attr(755,root,root) %{_sbindir}/easside-ng
%attr(755,root,root) %{_sbindir}/tkiptun-ng
%attr(755,root,root) %{_sbindir}/wesside-ng
%{_mandir}/man1/buddy-ng.1*
+%{_mandir}/man8/besside-ng.8*
%{_mandir}/man8/easside-ng.8*
%{_mandir}/man8/tkiptun-ng.8*
%{_mandir}/man8/wesside-ng.8*
%endif
+
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/%{name}