kismet: cleanup for gentoo to steal

This commit is contained in:
Zero_Chaos 2012-02-14 18:59:05 +00:00
parent b59085a32a
commit 50fcfdf625
2 changed files with 164 additions and 0 deletions

View file

@ -8,5 +8,6 @@ AUX plugins-ldflags.patch 385 RMD160 c6b1ff5adff82b6b5c42703ff322c95ef3c24ff7 SH
DIST kismet-2011-03-R2.tar.gz 924988 RMD160 58fcc5e8e438fa9d94959ea0c5b2c914ebf44081 SHA1 c01706b0441a3ea412386930bcbaf56187c66d27 SHA256 71a099fb724951cdd55c28e492432ca21657534c91a536c206f3e0a8686d2a64
EBUILD kismet-2011.03.2-r3.ebuild 4527 RMD160 4c8d960c73a2f178c64dedc8b9953bfe0153b663 SHA1 e5a0d769224e1d57c2657a825ec74d01d8031117 SHA256 69436f8371b09f65f1693f1799adfba30ae6db4614ac63f9fd238fc7b76bd571
EBUILD kismet-2011.03.2-r4.ebuild 4589 RMD160 9298e8196a454f613d5b2cb6d21eb97f472af44b SHA1 512f6472cca86a277679fe68255b23c9800b4807 SHA256 4201ee0704ac964f64f26be889e2caba964eb0cd1e3395c2d1f682b54ec266e4
EBUILD kismet-2011.03.2-r5.ebuild 4307 RMD160 01d751694d6de7f4c8c3e5bc458a5172cb100ff5 SHA1 31d3d3a0ed6deb62aad51683c924336b3e273a84 SHA256 58b400bc688a80f591ab85ee3f8af5237485998e5ca53f47ecc5ae994c057d0c
EBUILD kismet-9999.ebuild 4279 RMD160 6677218c6c4fec27a765459ba7f45a1f3a97d8d0 SHA1 bdd9af48b7cae45f981bc85880a1a60865cc9e19 SHA256 5055857deae87871b818641dc4af83d124099a555451736a7b56f2f0181f534b
MISC metadata.xml 752 RMD160 fab1c88b553c13210494a57a04b2d62536a4f944 SHA1 11fb1ef46c28a2862a850b13e9af6fb405b8a008 SHA256 661ef87ec9fa7e443e0c3741199c1a9217a0932e1023288030a8cfbdbea0256a

View file

@ -0,0 +1,163 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
inherit toolchain-funcs linux-info eutils
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"
#Few dependencies are still not stable. Comment out keywords during repoman testing
KEYWORDS="amd64 arm ppc x86"
fi
DESCRIPTION="IEEE 802.11 wireless LAN sniffer"
HOMEPAGE="http://www.kismetwireless.net/"
LICENSE="GPL-2"
SLOT="0"
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
>=dev-libs/libnl-1.1 )
net-libs/libpcap
pcre? ( dev-libs/libpcre )
suid? ( sys-libs/libcap )
ncurses? ( sys-libs/ncurses )
speech? ( app-accessibility/flite )
ruby? ( dev-lang/ruby )
plugin-btscan? ( net-wireless/bluez \
!=net-wireless/bluez-4.98-r1 )
plugin-dot15d4? ( <dev-libs/libusb-1 )
plugin-spectools? ( net-wireless/spectools )"
DEPEND="${RDEPEND}
dev-util/pkgconfig"
src_prepare() {
epatch "${FILESDIR}"/kismet-pentoo.patch
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}"/makefile.patch
epatch "${FILESDIR}"/plugins-ldflags.patch
epatch "${FILESDIR}"/bluechanfix_r3184.patch
epatch "${FILESDIR}"/kismet-console-scrolling-backport.patch
}
src_configure() {
if ! use ncurses; then
myconf="${myconf} --disable-curses --disable-panel"
fi
if ! use pcre; then
myconf="${myconf} --disable-pcre"
fi
econf ${myconf} \
--with-linuxheaders="${KV_DIR}"
}
src_compile() {
emake dep
emake
if use plugin-autowep; then
cd "${S}"/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}"/plugin-ptw
KIS_SRC_DIR="${S}" emake
fi
if use plugin-spectools; then
cd "${S}"/plugin-spectools
KIS_SRC_DIR="${S}" emake
fi
}
src_install() {
if use plugin-autowep; then
cd "${S}"/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}"/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 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 || die "Header installation failed"
doins Makefile.inc
#t#odo 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 || 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
}