kismet: extreme ebuild cleanup and version bump. likely missing a few USE=ruby deps but I'll figure it out

This commit is contained in:
Zero_Chaos 2011-02-24 04:29:47 +00:00
parent 62320eb7d3
commit 285aa398a0
4 changed files with 73 additions and 111 deletions

View file

@ -1,7 +1,6 @@
AUX fix-menu-crash-2010.01.1.patch 2420 RMD160 076a088463f6c5358198c5aa6b07b0ca279c8804 SHA1 1ee3418bbee6133b5148331f5e00d1606253840f SHA256 9cd7633aec703f641db845a07405b756b731a4a16e1bf99bd23c84b9da219767
AUX kismet-pentoo.patch 490 RMD160 374c3be715e6b5741f3232d50ed1194783f9ca11 SHA1 3ae5ae1c6e392a710ee85dfec801c098c4a4129d SHA256 a38b0124e6d07bac442cf7fc62feba2fbd540f2d0cb93daba82238bf124bf63c
AUX kismet.confd 403 RMD160 cf6cad4dc844ccf9c807edfb5adec2351c0cd249 SHA1 50ce39c8989ddf214f72b3ac14f2a989d6121d15 SHA256 d2f5bb606e4dac45c8de27843ab460b9dac02e83979e52e1b8b3ca3af841adeb
AUX kismet.initd 742 RMD160 f91c46a9a3d1cac2610659e65a1a3538af4f2772 SHA1 54aa3d489e2fade47cca11a036cb1237dab7786a SHA256 b4420c22264ff3604bf956b65bca5b564cbb70676c3f48d5e444f3aa6687a624
DIST kismet-2010-07-R1.tar.gz 896466 RMD160 d913b6dec4fd86f48afe08c98915af987b7a510b SHA1 8cd224a805905f330ef51d4dfdb2507e27b462ef SHA256 b1bae7a97e7a904bf620f285aa0d62ebc1fd3b54b671fbca125405036f949e80
EBUILD kismet-2010.07.1.ebuild 3566 RMD160 d4afc5a39f2448a127acb00df1ab5cf23646b7a1 SHA1 375a71928372979d566c9b8d97eea621efe44804 SHA256 da9447912b0356167d07ccf38cd4cdb0ce3e909eb86a5beb64fe6414f59adc37
EBUILD kismet-9999.ebuild 3203 RMD160 6eff494244ca2ce2bfe0e8c2f37ebec478bc9ea0 SHA1 edd635d3d2c3d72d31b96cb342323151ee176c18 SHA256 27f7f4b6c48d8e6ecf0a4a7346f2a5b1115df87d5a3cc79e547fa8e3c49828db
DIST kismet-2011-01-R1.tar.gz 916637 RMD160 5c4ab94b58c3ded97f4751fd0436c019073910d4 SHA1 412f9ef7028d4fe89a4f81e9758f74631128185f SHA256 99e76f8f7684199b9176a7a2f6b1bb5c637d89f6906d6de279794fb1fb22cde1
EBUILD kismet-2011.01.1.ebuild 4109 RMD160 c1e67eb3dbcab8be1759ed0516969836579eaae2 SHA1 bf94b3464b45b0a87435ff0356157761bc2c20db SHA256 67cab3a18a85f01168fa77c2db148f7fbd4acc94a81f152d8625434a3c500b28
EBUILD kismet-9999.ebuild 4109 RMD160 c1e67eb3dbcab8be1759ed0516969836579eaae2 SHA1 bf94b3464b45b0a87435ff0356157761bc2c20db SHA256 67cab3a18a85f01168fa77c2db148f7fbd4acc94a81f152d8625434a3c500b28

View file

@ -1,93 +0,0 @@
Index: kis_panel_widgets.cc
===================================================================
--- kis_panel_widgets.cc (revision 3042)
+++ kis_panel_widgets.cc (working copy)
@@ -1334,14 +1334,23 @@
}
void Kis_Menu::FindNextEnabledItem() {
+ int looped = 0;
+
// Handle disabled and spacer items
if (menubar[cur_menu]->items[cur_item]->enabled == 0) {
// find the next enabled item
for (int i = cur_item; i <= (int) menubar[cur_menu]->items.size(); i++) {
// Loop
- if (i >= (int) menubar[cur_menu]->items.size())
+ if (i >= (int) menubar[cur_menu]->items.size()) {
+ looped = 1;
i = 0;
+ }
+ if (looped && i == cur_item) {
+ cur_item = 0;
+ break;
+ }
+
if (menubar[cur_menu]->items[i]->visible == 0)
continue;
@@ -1354,14 +1363,23 @@
}
void Kis_Menu::FindPrevEnabledItem() {
+ int looped = 0;
+
// Handle disabled and spacer items
if (menubar[cur_menu]->items[cur_item]->enabled == 0) {
// find the next enabled item
for (int i = cur_item; i >= -1; i--) {
// Loop
- if (i < 0)
+ if (i < 0) {
i = menubar[cur_menu]->items.size() - 1;
+ looped = 1;
+ }
+ if (looped && i == cur_item) {
+ cur_item = 0;
+ break;
+ }
+
if (menubar[cur_menu]->items[i]->visible == 0)
continue;
@@ -1495,6 +1513,11 @@
return -1;
}
+ if (menubar[cur_menu]->items[cur_item]->enabled == 0) {
+ FindNextEnabledItem();
+ return -1;
+ }
+
int ret = (cur_menu * 100) + cur_item + 1;
// Per-menu callbacks
Index: packetsource_drone.cc
===================================================================
--- packetsource_drone.cc (revision 3042)
+++ packetsource_drone.cc (working copy)
@@ -332,6 +332,13 @@
drone_packet *dpkt = (drone_packet *) &(buf[pos]);
if (kis_ntoh32(dpkt->sentinel) != DroneSentinel) {
+ /*
+ fprintf(stderr, "debug - pkt sentinel mismatch pos %u rlen %u\n", pos, rlen);
+ for (unsigned int z = pos; z < rlen; z++)
+ fprintf(stderr, "%02x ", buf[z]);
+ fprintf(stderr, "\n");
+ */
+
if (reconnect) {
_MSG("Kismet drone client failed to find the sentinel "
"value in a packet header, dropping connection. Will "
@@ -351,6 +358,8 @@
unsigned int dplen = kis_ntoh32(dpkt->data_len);
+ // fprintf(stderr, "debug - dplen %u\n", dplen);
+
// Check for incomplete packets
if (rlen - (int) pos < (int) (dplen + sizeof(drone_packet))) {
break;

View file

@ -8,14 +8,21 @@ MY_P=${P/\./-}
MY_P=${MY_P/./-R}
S=${WORKDIR}/${MY_P}
if [[ ${PV} == "9999" ]] ; then
ESVN_REPO_URI="https://www.kismetwireless.net/code/svn/trunk"
inherit subversion
KEYWORDS="~amd64 ~arm ~ppc ~x86"
else
SRC_URI="http://www.kismetwireless.net/code/${MY_P}.tar.gz"
KEYWORDS="amd64 arm ppc x86"
fi
DESCRIPTION="IEEE 802.11 wireless LAN sniffer"
HOMEPAGE="http://www.kismetwireless.net/"
SRC_URI="http://www.kismetwireless.net/code/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm ppc x86"
IUSE="+ncurses +pcre speech +plugin-autowep +plugin-btscan +plugin-ptw +plugin-spectools +suid"
IUSE="+ncurses +pcre speech +plugin-autowep +plugin-btscan +plugin-dot15d4 +plugin-ptw +plugin-spectools +ruby +suid"
RDEPEND="net-wireless/wireless-tools
kernel_linux? ( sys-libs/libcap
@ -25,7 +32,9 @@ RDEPEND="net-wireless/wireless-tools
suid? ( sys-libs/libcap )
ncurses? ( sys-libs/ncurses )
speech? ( app-accessibility/flite )
ruby? ( virtual/ruby )
plugin-btscan? ( net-wireless/bluez )
plugin-dot15d4? ( <dev-libs/libusb-1 )
plugin-spectools? ( net-wireless/spectools )"
DEPEND="${RDEPEND}
@ -54,7 +63,7 @@ src_compile() {
fi
econf ${myconf} \
--with-linuxheaders="/usr/include/" || die "econf failed"
--with-linuxheaders="${KV_DIR}" || die "econf failed"
emake dep || die "emake dep failed"
emake || die "emake failed"
@ -67,6 +76,10 @@ src_compile() {
cd "${S}"/plugin-btscan
KIS_SRC_DIR="${S}" emake || die "emake failed"
fi
if use plugin-dot15d4; then
cd "${S}"/plugin-dot15d4
KIS_SRC_DIR="${S}" emake || die "emake failed"
fi
if use plugin-ptw; then
cd "${S}"/plugin-ptw
KIS_SRC_DIR="${S}" emake || die "emake failed"
@ -86,6 +99,10 @@ src_install () {
cd "${S}"/plugin-btscan
KIS_SRC_DIR="${S}" emake DESTDIR="${D}" install || die "emake install failed"
fi
if use plugin-dot15d4; then
cd "${S}"/plugin-dot15d4
KIS_SRC_DIR="${S}" emake DESTDIR="${D}" install || die "emake install failed"
fi
if use plugin-ptw; then
cd "${S}"/plugin-ptw
KIS_SRC_DIR="${S}" emake DESTDIR="${D}" install || die "emake install failed"
@ -94,6 +111,10 @@ src_install () {
cd "${S}"/plugin-spectools
KIS_SRC_DIR="${S}" emake DESTDIR="${D}" install || die "emake install failed"
fi
if use ruby; then
cd "${S}"/ruby
dobin *.rb
fi
cd "${S}"
emake DESTDIR="${D}" commoninstall || die "emake install failed"
@ -128,4 +149,3 @@ pkg_preinst() {
elog "the 'kismet' group to perform captures from physical devices."
fi
}

View file

@ -2,32 +2,44 @@
# Distributed under the terms of the GNU General Public License v2
# $Header: $
inherit toolchain-funcs linux-info eutils subversion
inherit toolchain-funcs linux-info eutils
EAPI=2
MY_P=${P/\./-}
MY_P=${MY_P/./-R}
S=${WORKDIR}/${MY_P}
if [[ ${PV} == "9999" ]] ; then
ESVN_REPO_URI="https://www.kismetwireless.net/code/svn/trunk"
inherit subversion
KEYWORDS="~amd64 ~arm ~ppc ~x86"
else
SRC_URI="http://www.kismetwireless.net/code/${MY_P}.tar.gz"
KEYWORDS="amd64 arm ppc x86"
fi
DESCRIPTION="IEEE 802.11 wireless LAN sniffer"
HOMEPAGE="http://www.kismetwireless.net/"
SRC_URI=""
ESVN_REPO_URI="https://www.kismetwireless.net/code/svn/trunk"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="-* ~amd64 ~ppc ~x86"
IUSE="+ncurses +pcre speech +plugin-autowep +plugin-btscan +plugin-dot15d4 +plugin-ptw +plugin-spectools"
IUSE="+ncurses +pcre speech +plugin-autowep +plugin-btscan +plugin-dot15d4 +plugin-ptw +plugin-spectools +ruby +suid"
DEPEND="${RDEPEND}"
RDEPEND="net-wireless/wireless-tools
kernel_linux? ( sys-libs/libcap
>=dev-libs/libnl-1.1 )
net-libs/libpcap
>=dev-libs/libnl-1.1
pcre? ( dev-libs/libpcre )
suid? ( sys-libs/libcap )
ncurses? ( sys-libs/ncurses )
speech? ( app-accessibility/flite )
ruby? ( virtual/ruby )
plugin-btscan? ( net-wireless/bluez )
plugin-dot15d4? ( <dev-libs/libusb-1 )
plugin-spectools? ( net-wireless/spectools )"
DEPEND="${RDEPEND}
dev-util/pkgconfig"
src_compile() {
cd "${S}"
epatch "${FILESDIR}"/kismet-pentoo.patch
@ -99,9 +111,13 @@ src_install () {
cd "${S}"/plugin-spectools
KIS_SRC_DIR="${S}" emake DESTDIR="${D}" install || die "emake install failed"
fi
if use ruby; then
cd "${S}"/ruby
dobin *.rb
fi
cd "${S}"
emake DESTDIR="${D}" install || die "emake install failed"
emake DESTDIR="${D}" commoninstall || die "emake install failed"
##dragorn would prefer I set fire to my head than do this, but it works
# install headers for external plugins
@ -109,7 +125,27 @@ src_install () {
doins *.h || die "Header installation failed"
#write a plugin finder that tells you what needs to be rebuilt when kismet is updated, etc
dodoc CHANGELOG README* docs/*
dodoc CHANGELOG RELEASENOTES.txt README* docs/* || die
newinitd "${FILESDIR}"/${PN}.initd kismet
newconfd "${FILESDIR}"/${PN}.confd kismet
insinto /etc
doins conf/kismet{,_drone}.conf || die
if use suid; then
dobin kismet_capture || die
fi
}
pkg_preinst() {
if use suid; then
enewgroup kismet
fowners root:kismet /usr/bin/kismet_capture || die
# Need to set the permissions after chowning.
# See chown(2)
fperms 4550 /usr/bin/kismet_capture || die
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
}