tnet-wireless/aircrack-ng: Update to 1.2 - parlay - yet another gentoo overlay HTML git clone https://git.parazyd.org/parlay DIR Log DIR Files DIR Refs DIR README --- DIR commit 9043d0d262d860fba77d0e9d372e23b90237ac0f DIR parent 917a7a0c246653d3011b2134e612ac86c8c0db60 HTML Author: parazyd <parazyd@dyne.org> Date: Tue, 22 May 2018 18:18:58 +0200 net-wireless/aircrack-ng: Update to 1.2 Diffstat: M net-wireless/aircrack-ng/aircrack-… | 135 +++++++++++++++++++++++++++---- A net-wireless/aircrack-ng/files/air… | 50 +++++++++++++++++++++++++++++++ 2 files changed, 169 insertions(+), 16 deletions(-) --- DIR diff --git a/net-wireless/aircrack-ng/aircrack-ng-1.2.ebuild b/net-wireless/aircrack-ng/aircrack-ng-1.2.ebuild t@@ -1,29 +1,132 @@ # Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -inherit autotools eutils +EAPI="6" + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 + +inherit toolchain-funcs distutils-r1 flag-o-matic autotools DESCRIPTION="WLAN tools for breaking 802.11 WEP/WPA keys" -HOMEPAGE="https://www.aircrack-ng.org/" -SRC_URI="https://download.aircrack-ng.org/${P}.tar.gz" +HOMEPAGE="http://www.aircrack-ng.org" + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/aircrack-ng/aircrack-ng.git" + KEYWORDS="" +else + MY_PV=${PV/_/-} + SRC_URI="http://download.${PN}.org/${PN}-${MY_PV}.tar.gz" + KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" + S="${WORKDIR}/${PN}-${MY_PV}" +fi LICENSE="GPL-2" SLOT="0" -KEYWORDS="x86 amd64" -IUSE="libressl" - -DEPEND=" - !libressl? ( dev-libs/openssl:0 ) - libressl? ( dev-libs/libressl:0 ) - dev-db/sqlite - net-libs/libpcap - dev-libs/libpcre - sys-libs/zlib -" + +IUSE="+airdrop-ng +airgraph-ng kernel_linux kernel_FreeBSD +netlink +pcre +sqlite +experimental libressl" + +DEPEND="net-libs/libpcap + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + netlink? ( dev-libs/libnl:3 ) + pcre? ( dev-libs/libpcre ) + airdrop-ng? ( ${PYTHON_DEPS} ) + airgraph-ng? ( ${PYTHON_DEPS} ) + experimental? ( sys-libs/zlib ) + sqlite? ( >=dev-db/sqlite-3.4 )" RDEPEND="${DEPEND}" +PDEPEND="kernel_linux? ( + net-wireless/iw + net-wireless/wireless-tools + sys-apps/ethtool + sys-apps/usbutils + sys-apps/pciutils ) + sys-apps/hwids + airdrop-ng? ( net-wireless/lorcon[python,${PYTHON_USEDEP}] )" + +REQUIRED_USE="airdrop-ng? ( ${PYTHON_REQUIRED_USE} ) + airgraph-ng? ( ${PYTHON_REQUIRED_USE} )" + +pkg_setup() { + MAKE_COMMON=( + CC="$(tc-getCC)" \ + CXX="$(tc-getCXX)" \ + AR="$(tc-getAR)" \ + LD="$(tc-getLD)" \ + RANLIB="$(tc-getRANLIB)" \ + DESTDIR="${ED}" + ) +} src_prepare() { - default + epatch "${FILESDIR}"/aircrack-ng-1.2-no-force-stack-protector.patch + eapply_user eautoreconf } + +src_configure() { + econf \ + --disable-asan \ + $(use_enable netlink libnl) \ + $(use_with experimental) \ + $(use_with sqlite sqlite3) \ + --enable-shared \ + --disable-static \ + --without-opt +} + +src_compile() { + if [[ $($(tc-getCC) --version) == clang* ]] ; then + #https://bugs.gentoo.org/show_bug.cgi?id=472890 + filter-flags -frecord-gcc-switches + fi + + emake "${MAKE_COMMON[@]}" + + if use airgraph-ng; then + cd "${S}/scripts/airgraph-ng" + distutils-r1_src_compile + fi + if use airdrop-ng; then + cd "${S}/scripts/airdrop-ng" + distutils-r1_src_compile + fi +} + +src_test() { + emake "${MAKE_COMMON[@]}" check +} + +src_install() { + einstalldocs + emake "${MAKE_COMMON[@]}" install + + if use airgraph-ng; then + cd "${S}/scripts/airgraph-ng" + distutils-r1_src_install + fi + if use airdrop-ng; then + cd "${S}/scripts/airdrop-ng" + distutils-r1_src_install + fi + + #we don't need aircrack-ng's oui updater, we have our own + rm "${ED}"/usr/sbin/airodump-ng-oui-update +} + +pkg_postinst() { + # Message is (c) FreeBSD + # http://www.freebsd.org/cgi/cvsweb.cgi/ports/net-mgmt/aircrack-ng/files/pkg-message.in?rev=1.5 + if use kernel_FreeBSD ; then + einfo "Contrary to Linux, it is not necessary to use airmon-ng to enable the monitor" + einfo "mode of your wireless card. So do not care about what the manpages say about" + einfo "airmon-ng, airodump-ng sets monitor mode automatically." + echo + einfo "To return from monitor mode, issue the following command:" + einfo " ifconfig \${INTERFACE} -mediaopt monitor" + einfo + einfo "For aireplay-ng you need FreeBSD >= 7.0." + fi +} DIR diff --git a/net-wireless/aircrack-ng/files/aircrack-ng-1.2-no-force-stack-protector.patch b/net-wireless/aircrack-ng/files/aircrack-ng-1.2-no-force-stack-protector.patch t@@ -0,0 +1,50 @@ +From 58fe40daf3e082d9e63d689d795a3bbecf72fedb Mon Sep 17 00:00:00 2001 +From: Joseph Benden <joe@benden.us> +Date: Mon, 16 Apr 2018 11:26:23 -0700 +Subject: [PATCH] autotools: The flag --without-opt should skip stack protector + flags. (#1864) + +--- + build/m4/aircrack_ng_compiler.m4 | 28 ++++++++++++++++------------ + 1 file changed, 16 insertions(+), 12 deletions(-) + +diff --git a/build/m4/aircrack_ng_compiler.m4 b/build/m4/aircrack_ng_compiler.m4 +index 0fb19726..8a973dbf 100644 +--- a/build/m4/aircrack_ng_compiler.m4 ++++ b/build/m4/aircrack_ng_compiler.m4 +@@ -108,19 +108,23 @@ case "$ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor" in + CYGWIN*|MSYS*|cygwin*|msys*) + ;; + *) +- AS_IF([test "x$gcc_over49" = "xno"], [ +- AS_IF([test "x$gcc_over41" = "xyes"], [ +- AX_CHECK_COMPILE_FLAG([-fstack-protector], [ +- AX_APPEND_FLAG(-fstack-protector, [opt_[]_AC_LANG_ABBREV[]flags]) +- ]) +- ], []) +- ], []) ++ case $with_opt in ++ yes | "") ++ AS_IF([test "x$gcc_over49" = "xno"], [ ++ AS_IF([test "x$gcc_over41" = "xyes"], [ ++ AX_CHECK_COMPILE_FLAG([-fstack-protector], [ ++ AX_APPEND_FLAG(-fstack-protector, [opt_[]_AC_LANG_ABBREV[]flags]) ++ ]) ++ ], []) ++ ], []) + +- AS_IF([test "x$gcc_over49" = "xyes"], [ +- AX_CHECK_COMPILE_FLAG([-fstack-protector-strong], [ +- AX_APPEND_FLAG(-fstack-protector-strong, [opt_[]_AC_LANG_ABBREV[]flags]) +- ]) +- ], []) ++ AS_IF([test "x$gcc_over49" = "xyes"], [ ++ AX_CHECK_COMPILE_FLAG([-fstack-protector-strong], [ ++ AX_APPEND_FLAG(-fstack-protector-strong, [opt_[]_AC_LANG_ABBREV[]flags]) ++ ]) ++ ], []) ++ ;; ++ esac + ;; + esac + ;;