From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- net-wireless/kismet/Manifest | 9 ++ .../kismet/files/kismet-2016.07.1-ruby-fixes.patch | 78 +++++++++ net-wireless/kismet/files/kismet.confd | 12 ++ net-wireless/kismet/files/kismet.initd | 26 +++ net-wireless/kismet/kismet-2016.07.1-r1.ebuild | 163 +++++++++++++++++++ net-wireless/kismet/kismet-9999.ebuild | 178 +++++++++++++++++++++ net-wireless/kismet/metadata.xml | 31 ++++ 7 files changed, 497 insertions(+) create mode 100644 net-wireless/kismet/Manifest create mode 100644 net-wireless/kismet/files/kismet-2016.07.1-ruby-fixes.patch create mode 100644 net-wireless/kismet/files/kismet.confd create mode 100644 net-wireless/kismet/files/kismet.initd create mode 100644 net-wireless/kismet/kismet-2016.07.1-r1.ebuild create mode 100644 net-wireless/kismet/kismet-9999.ebuild create mode 100644 net-wireless/kismet/metadata.xml (limited to 'net-wireless/kismet') diff --git a/net-wireless/kismet/Manifest b/net-wireless/kismet/Manifest new file mode 100644 index 000000000000..9c7bf7c2800d --- /dev/null +++ b/net-wireless/kismet/Manifest @@ -0,0 +1,9 @@ +AUX kismet-2016.07.1-ruby-fixes.patch 1808 SHA256 632db5fa2a79a5fa330867a67da32e84137a950b33e8528098b69444303cb076 SHA512 4bc4832e1f15c3917b67ff80d8b054b6a8aca9a8b03cf3f78cfb2a9b45fdb1f2f2785c2864cfb31bb05cf4da9adca3f96b6df47667107430a7020814ed07549b WHIRLPOOL 5524b5b1af865026916f4411c0988cccb4bcc88e280c5208ca11d955dea81dba480ad7fb974a04614d5ae6b67c32341a475bc5bcfa21d94cb061da295ef41570 +AUX kismet.confd 403 SHA256 d2f5bb606e4dac45c8de27843ab460b9dac02e83979e52e1b8b3ca3af841adeb SHA512 232801f085980d464df831af8c73fa9c4274b44dd45118938cdf9048e0d54cdcc386aec6749e7a1b2c00b73739ab8bb51ff5dadf8cc1866ce2207e28c4e25b71 WHIRLPOOL 51e1ccf14cca8533525f038a6b6755233e3f4e65486952b09f80372756ac128d4359f3061fb97348673a5a7dfc595e3b63bfef2db5be4814f2b2cf76b2ee1de9 +AUX kismet.initd 629 SHA256 7b0fb19c30b4629fc7998d0bc0abd238dec39534505abe92e703d94786c702bf SHA512 864f79715b35595a19f370c2382c3a3383d06245cca7a65b88a35b9ceafb2f4953044e6b3c5c71748ed68d890043ab69a2c47d630c14c51542ba3f86699a11db WHIRLPOOL 23e3409d46da3ec71c27b69186867762e1da17805c8020e6daa68ea68750835548a0c64d958822750e4f2170c6b0235c3b49e52ec9abef59d1531091964bfe12 +DIST kismet-2016-07-R1.tar.xz 709364 SHA256 bdb21f153311f1ff3b16621bf0d6740f66369bf0982b0a289c9a12af8847e237 SHA512 88891a0cd5ef94a4815d259e433f946f52552c125e05a5d8ac447d04e6090f2bd92f8bd8573440f0dfe446b29233bef81d9889e53170757ad0116ddfc2cb8416 WHIRLPOOL 33bbe6e3353c87907e2a58326ccd84ff973e474a884c29f01c29439de673d2050c50348bf001799da25f0b156c3527d3c5f93cdcdccfd830c9e2eb40cce9aa8b +EBUILD kismet-2016.07.1-r1.ebuild 4189 SHA256 02d84c76ea39a758eb9d5a6be2f01566f47ade5455ba17f325233dc78df974fe SHA512 b391f26359d799adf64ce9e79a66d8676840897d749775df33291ce728772e86adaed3e673bd44d18dccc2537a6e720afd41f5fd8512a1f1e3bdbe138fe0e706 WHIRLPOOL 243836956e0c6bf9de395f7672d92d044fff67ef4924faa4443e778a26eacf06874fa56fc60588a75eed2a9090e558ba4cf804135e9741a5318c0a331a1f6d10 +EBUILD kismet-9999.ebuild 4811 SHA256 953901a36af5bd4b8f824b2c435ed9392e60c9a8e89f1bf40ab8e51dc4723f15 SHA512 02c964308d79019eface7eccf4aadf2913bf6fb0de2cba19a360ff016603442d7215345ea5f439c470888d14761759c54c0fa56f63c9a663bd6165f4daa56608 WHIRLPOOL 99a85fcc419867b6eceaa13943b84aeeb8f44c85b0f5eed36604f51d25f3ecd2b90244d7e793c3221039552c70c093dfd5cfc513b4d9e4892e653d092c41fcdf +MISC ChangeLog 4556 SHA256 2300753595bd081ac616b1e9e21f859a121db8848be3e6af1cda7f48e746aa97 SHA512 2468fbf2c8d75b2239a0236c29092a3b8b9f3065405741c3a984aad8ef32d4db3f0990c978d245be453cf89eb75a791ec66daed6af82aa6b0eacd0877c5ea99e WHIRLPOOL 6c14986f2af59b1ed931d2cf8e247a0750bac797c9e37a15588bc91347491fb86d337e684b234b99a6afce4a8bf7e52ba5f70d3b1cbf2f53e77dd1d9f2da4607 +MISC ChangeLog-2015 23583 SHA256 2b46762a5efd81dc6053807342022f0d367fb2916e2e78e104dcdc6efadaa77d SHA512 86d3cde33eb8cd448ca1ab4c08c2f8a4b595b2cb9bf5fdf5cbc9a7be8f391e0cf1a4c410e5f05117feb8cba76b4dbb057f7f9ae2e05337a04eb82482bb97f8fb WHIRLPOOL f9403562c55e0f59c85aec83d550d63eefc406f2f85b7f5b742c39da64fae0058e8e540f6cc6b4e7ac13cb2d92c1b40d1ff7fda79ce9dcc17e39490b86f73f20 +MISC metadata.xml 1369 SHA256 12d86ac3e0574bd31e2e10bb6015e067fae11d12e4dae6e58451554dc48d7e50 SHA512 cb813f8a944ad151ae0cd63b12c2b537f25640e7f74623ed9894c6bfbf47930584fe8f73261ef2288586256f780dfc5030baf0a2f86b079d29dcbf4c5562d567 WHIRLPOOL d8072bcea87702ced8b0bb01ceccd0d6ad304f28e661811a5ea9525f08895468b1baed0bfc532ffc80e64480520f522e6aaeb2cef1c289ff369b1db627249f89 diff --git a/net-wireless/kismet/files/kismet-2016.07.1-ruby-fixes.patch b/net-wireless/kismet/files/kismet-2016.07.1-ruby-fixes.patch new file mode 100644 index 000000000000..bdfde9fbc7c2 --- /dev/null +++ b/net-wireless/kismet/files/kismet-2016.07.1-ruby-fixes.patch @@ -0,0 +1,78 @@ +diff --git a/ruby/kismet.rb b/ruby/kismet.rb +index 5b18b23..7eab708 100755 +--- a/ruby/kismet.rb ++++ b/ruby/kismet.rb +@@ -61,8 +61,6 @@ class Kismet + rescue Exception => e + pp e + +- break if @die +- + puts "write error: #{$!}" + end + end +diff --git a/ruby/kismet_addsource.rb b/ruby/kismet_addsource.rb +index 057a514..d3ae968 100755 +--- a/ruby/kismet_addsource.rb ++++ b/ruby/kismet_addsource.rb +@@ -20,7 +20,7 @@ + + require 'socket' + require 'time' +-require 'kismet' ++require_relative 'kismet' + require 'pp' + require 'optparse' + +diff --git a/ruby/kismet_alert_syslog.rb b/ruby/kismet_alert_syslog.rb +index 6969247..27373a9 100755 +--- a/ruby/kismet_alert_syslog.rb ++++ b/ruby/kismet_alert_syslog.rb +@@ -20,7 +20,7 @@ + + require 'socket' + require 'time' +-require 'kismet' ++require_relative 'kismet' + require 'pp' + require "getopt/long" + require 'syslog' +diff --git a/ruby/kismet_list.rb b/ruby/kismet_list.rb +index ec8f0f9..7adffe6 100755 +--- a/ruby/kismet_list.rb ++++ b/ruby/kismet_list.rb +@@ -20,7 +20,7 @@ + + require 'socket' + require 'time' +-require 'kismet' ++require_relative 'kismet' + + def bssidcb(proto, fields) + puts "Kismet saw network #{fields['bssid']} manuf #{fields['manuf']} on channel #{fields['channel']}" +diff --git a/ruby/kismet_shootout.rb b/ruby/kismet_shootout.rb +index 25021b9..61f70b0 100755 +--- a/ruby/kismet_shootout.rb ++++ b/ruby/kismet_shootout.rb +@@ -21,7 +21,7 @@ + + require 'socket' + require 'time' +-require 'kismet' ++require_relative 'kismet' + require 'pp' + require 'optparse' + +diff --git a/ruby/kismet_sql.rb b/ruby/kismet_sql.rb +index 9fe581d..b878979 100755 +--- a/ruby/kismet_sql.rb ++++ b/ruby/kismet_sql.rb +@@ -22,7 +22,7 @@ + + require 'socket' + require 'time' +-require 'kismet' ++require_relative 'kismet' + require 'pp' + require "getopt/long" + require "sqlite3" diff --git a/net-wireless/kismet/files/kismet.confd b/net-wireless/kismet/files/kismet.confd new file mode 100644 index 000000000000..d203513c7143 --- /dev/null +++ b/net-wireless/kismet/files/kismet.confd @@ -0,0 +1,12 @@ +# /etc/conf.d/kismet - configuration file for /etc/init.d/kismet + +# Kismet configuration is done in /etc/kismet.conf + +# To use the kismet init script, you must have "logtemplate" set to a location +# that is writable by the user assigned by "suiduser". +# e.g. +# suiduser=foo +# logtemplate=%h/kismet_log/%n-%d-%i.%l + +# Options to pass to kismet_server, see `kismet_server --help` +KISMET_SERVER_OPTIONS="" diff --git a/net-wireless/kismet/files/kismet.initd b/net-wireless/kismet/files/kismet.initd new file mode 100644 index 000000000000..000e6ea03cdf --- /dev/null +++ b/net-wireless/kismet/files/kismet.initd @@ -0,0 +1,26 @@ +#!/sbin/openrc-run +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +checkconfig() { + if [ ! -e /etc/kismet.conf ]; then + eerror "Configuration file /etc/kismet.conf not found" + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting kismet server" + start-stop-daemon --start --quiet --pidfile /var/run/kismet_server.pid \ + --background --make-pidfile --exec /usr/bin/kismet_server \ + -- ${KISMET_SERVER_OPTIONS} + eend ${?} +} + +stop() { + ebegin "Stopping kismet server" + start-stop-daemon --stop --quiet --pidfile /var/run/kismet_server.pid + eend ${?} +} diff --git a/net-wireless/kismet/kismet-2016.07.1-r1.ebuild b/net-wireless/kismet/kismet-2016.07.1-r1.ebuild new file mode 100644 index 000000000000..791333603768 --- /dev/null +++ b/net-wireless/kismet/kismet-2016.07.1-r1.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools eutils multilib user + +MY_P=${P/\./-} +MY_P=${MY_P/./-R} +S=${WORKDIR}/${MY_P} + +SRC_URI="http://www.kismetwireless.net/code/${MY_P}.tar.xz" +KEYWORDS="amd64 arm arm64 ~ppc x86" + +DESCRIPTION="IEEE 802.11 wireless LAN sniffer" +HOMEPAGE="http://www.kismetwireless.net/" + +LICENSE="GPL-2" +SLOT="0/${PV}" +IUSE="+client +pcre speech +plugin-autowep +plugin-btscan plugin-dot15d4 +plugin-ptw +plugin-spectools +plugin-syslog +ruby selinux +suid" + +CDEPEND="net-wireless/wireless-tools + kernel_linux? ( sys-libs/libcap + dev-libs/libnl:3 + net-libs/libpcap + ) + pcre? ( dev-libs/libpcre ) + suid? ( sys-libs/libcap ) + client? ( sys-libs/ncurses:0= ) + !arm? ( speech? ( app-accessibility/flite ) ) + plugin-btscan? ( net-wireless/bluez ) + plugin-dot15d4? ( virtual/libusb:0 ) + plugin-spectools? ( net-wireless/spectools ) +" + +DEPEND="${CDEPEND} + virtual/pkgconfig +" + +RDEPEND="${CDEPEND} + ruby? ( dev-lang/ruby:* ) + selinux? ( sec-policy/selinux-kismet ) +" + +src_prepare() { + sed -i -e "s:^\(logtemplate\)=\(.*\):\1=/tmp/\2:" \ + conf/kismet.conf.in + + # Don't strip and set correct mangrp + sed -i -e 's| -s||g' \ + -e 's|@mangrp@|root|g' Makefile.in + + epatch "${FILESDIR}/${P}-ruby-fixes.patch" + epatch_user + eautoreconf +} + +src_configure() { + econf \ + $(use_enable client) \ + $(use_enable pcre) +} + +src_compile() { + emake + + if use plugin-autowep; then + cd "${S}"/restricted-plugin-autowep + KIS_SRC_DIR="${S}" emake + fi + if use plugin-btscan; then + cd "${S}"/plugin-btscan + KIS_SRC_DIR="${S}" emake + fi + if use plugin-dot15d4; then + cd "${S}"/plugin-dot15d4 + KIS_SRC_DIR="${S}" emake + fi + if use plugin-ptw; then + cd "${S}"/restricted-plugin-ptw + KIS_SRC_DIR="${S}" emake + fi + if use plugin-spectools; then + cd "${S}"/plugin-spectools + KIS_SRC_DIR="${S}" emake + fi + if use plugin-syslog; then + cd "${S}"/plugin-syslog + KIS_SRC_DIR="${S}" emake + fi +} + +src_install() { + if use plugin-autowep; then + cd "${S}"/restricted-plugin-autowep + KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + fi + if use plugin-btscan; then + cd "${S}"/plugin-btscan + KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + fi + if use plugin-dot15d4; then + cd "${S}"/plugin-dot15d4 + KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + fi + if use plugin-ptw; then + cd "${S}"/restricted-plugin-ptw + KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + fi + if use plugin-spectools; then + cd "${S}"/plugin-spectools + KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + fi + if use plugin-syslog; then + cd "${S}"/plugin-syslog + KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + fi + if use ruby; then + cd "${S}"/ruby + dobin *.rb + fi + + cd "${S}" + emake DESTDIR="${D}" commoninstall + + ##dragorn would prefer I set fire to my head than do this, but it works + ##all external kismet plugins (read: kismet-ubertooth) must be rebuilt when kismet is + ##is there an automatic way to force this? + # install headers for external plugins + insinto /usr/include/kismet + doins *.h + doins Makefile.inc + #todo write a plugin finder that tells you what needs to be rebuilt when kismet is updated, etc + + dodoc CHANGELOG RELEASENOTES.txt README* docs/DEVEL.client docs/README.newcore + newinitd "${FILESDIR}"/${PN}.initd kismet + newconfd "${FILESDIR}"/${PN}.confd kismet + + insinto /etc + doins conf/kismet{,_drone}.conf + + if use suid; then + dobin kismet_capture + fi +} + +pkg_preinst() { + if use suid; then + enewgroup kismet + fowners root:kismet /usr/bin/kismet_capture + # Need to set the permissions after chowning. + # See chown(2) + fperms 4550 /usr/bin/kismet_capture + elog "Kismet has been installed with a setuid-root helper binary" + elog "to enable minimal-root operation. Users need to be part of" + elog "the 'kismet' group to perform captures from physical devices." + fi + if ! use suid; then + ewarn "It is highly discouraged to run a sniffer as root," + ewarn "Please consider enabling the suid use flag and adding" + ewarn "your user to the kismet group." + fi +} diff --git a/net-wireless/kismet/kismet-9999.ebuild b/net-wireless/kismet/kismet-9999.ebuild new file mode 100644 index 000000000000..aaa08799fb95 --- /dev/null +++ b/net-wireless/kismet/kismet-9999.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools eutils multilib user + +MY_P=${P/\./-} +MY_P=${MY_P/./-R} +S=${WORKDIR}/${MY_P} + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://www.kismetwireless.net/${PN}.git" + SRC_URI="" + inherit git-r3 + KEYWORDS="" +else + SRC_URI="http://www.kismetwireless.net/code/${MY_P}.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86" +fi + +DESCRIPTION="IEEE 802.11 wireless LAN sniffer" +HOMEPAGE="http://www.kismetwireless.net/" + +LICENSE="GPL-2" +SLOT="0/${PV}" +#IUSE="+client +pcre speech +plugin-autowep +plugin-btscan plugin-dot15d4 +plugin-ptw +plugin-spectools +plugin-syslog selinux +suid" +IUSE="+client +pcre speech selinux +suid" + +CDEPEND=" + net-misc/networkmanager:= + dev-libs/glib:= + dev-libs/elfutils:= + sys-libs/zlib:= + dev-db/sqlite:= + net-libs/libmicrohttpd + kernel_linux? ( sys-libs/libcap + dev-libs/libnl:3 + net-libs/libpcap + ) + pcre? ( dev-libs/libpcre ) + suid? ( sys-libs/libcap ) + client? ( sys-libs/ncurses:0= ) + !arm? ( speech? ( app-accessibility/flite ) ) + " + #plugin-btscan? ( net-wireless/bluez ) + #plugin-dot15d4? ( virtual/libusb:0 ) + #plugin-spectools? ( net-wireless/spectools ) + +DEPEND="${CDEPEND} + virtual/pkgconfig +" + +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-kismet ) +" + +src_prepare() { + sed -i -e "s:^\(logtemplate\)=\(.*\):\1=/tmp/\2:" \ + conf/kismet.conf.in + + # Don't strip and set correct mangrp + sed -i -e 's| -s||g' \ + -e 's|@mangrp@|root|g' Makefile.in + + eapply_user + eautoreconf +} + +src_configure() { + econf \ + $(use_enable client) \ + $(use_enable pcre) +} + +src_compile() { + emake + + #if use plugin-autowep; then + # cd "${S}"/restricted-plugin-autowep + # KIS_SRC_DIR="${S}" emake + #fi + #if use plugin-btscan; then + # cd "${S}"/plugin-btscan + # KIS_SRC_DIR="${S}" emake + #fi + #if use plugin-dot15d4; then + # cd "${S}"/plugin-dot15d4 + # KIS_SRC_DIR="${S}" emake + #fi + #if use plugin-ptw; then + # cd "${S}"/restricted-plugin-ptw + # KIS_SRC_DIR="${S}" emake + #fi + #if use plugin-spectools; then + # cd "${S}"/plugin-spectools + # KIS_SRC_DIR="${S}" emake + #fi + #if use plugin-syslog; then + # cd "${S}"/plugin-syslog + # KIS_SRC_DIR="${S}" emake + #fi +} + +src_install() { + #if use plugin-autowep; then + # cd "${S}"/restricted-plugin-autowep + # KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + #fi + #if use plugin-btscan; then + # cd "${S}"/plugin-btscan + # KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + #fi + #if use plugin-dot15d4; then + # cd "${S}"/plugin-dot15d4 + # KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + #fi + #if use plugin-ptw; then + # cd "${S}"/restricted-plugin-ptw + # KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + #fi + #if use plugin-spectools; then + # cd "${S}"/plugin-spectools + # KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + #fi + #if use plugin-syslog; then + # cd "${S}"/plugin-syslog + # KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install + #fi + #if use ruby; then + # cd "${S}"/ruby + # dobin *.rb + #fi + + cd "${S}" + emake DESTDIR="${D}" commoninstall + emake DESTDIR="${D}" forceconfigs + + ##dragorn would prefer I set fire to my head than do this, but it works + ##all external kismet plugins (read: kismet-ubertooth) must be rebuilt when kismet is + ##is there an automatic way to force this? + # install headers for external plugins + insinto /usr/include/kismet + doins *.h + doins Makefile.inc + #todo write a plugin finder that tells you what needs to be rebuilt when kismet is updated, etc + + #dodoc CHANGELOG RELEASENOTES.txt README* docs/DEVEL.client docs/README.newcore + dodoc CHANGELOG README* + newinitd "${FILESDIR}"/${PN}.initd kismet + newconfd "${FILESDIR}"/${PN}.confd kismet + + #if use suid; then + # dobin kismet_capture + #fi +} + +pkg_preinst() { + if use suid; then + enewgroup kismet + fowners root:kismet /usr/bin/kismet_capture_tools/kismet_cap_linux_bluetooth + fowners root:kismet /usr/bin/kismet_capture_tools/kismet_cap_linux_wifi + fowners root:kismet /usr/bin/kismet_capture_tools/kismet_cap_pcapfile + # Need to set the permissions after chowning. + # See chown(2) + fperms 4550 /usr/bin/kismet_capture_tools/kismet_cap_linux_bluetooth + fperms 4550 /usr/bin/kismet_capture_tools/kismet_cap_linux_wifi + fperms 4550 /usr/bin/kismet_capture_tools/kismet_cap_pcapfile + elog "Kismet has been installed with a setuid-root helper binary" + elog "to enable minimal-root operation. Users need to be part of" + elog "the 'kismet' group to perform captures from physical devices." + fi + if ! use suid; then + ewarn "It is highly discouraged to run a sniffer as root," + ewarn "Please consider enabling the suid use flag and adding" + ewarn "your user to the kismet group." + fi +} diff --git a/net-wireless/kismet/metadata.xml b/net-wireless/kismet/metadata.xml new file mode 100644 index 000000000000..272b818abd9d --- /dev/null +++ b/net-wireless/kismet/metadata.xml @@ -0,0 +1,31 @@ + + + + + zerochaos@gentoo.org + Rick Farina + maintainer + + + steev@gentoo.org + Steev Klimaszewski + co-maintainer, CC him on bugs + + + Build the ncurses-based user interface + + Install a setuid root helper binary with limited functionality; + this allows running kismet as a normal user, significantly + reducing security risks + + Build with pcre support + Audio support using app-accessibility/flite + Build the autowep plugin + Build the btscan plugin + Build the dot15d4 plugin + Build the ptw plugin + Build the spectools plugin. This uses net-wireless/spectools + Build the syslog plugin. + Build extras which are written in ruby, example plugins and the like. + + -- cgit v1.2.3