kismet: a few build fixes

This commit is contained in:
Zero_Chaos 2012-03-13 18:13:11 +00:00
parent bc20c0bac3
commit c6c2bebccf
3 changed files with 185 additions and 26 deletions

View file

@ -11,5 +11,6 @@ EBUILD kismet-2011.03.2-r3.ebuild 4527 RMD160 4c8d960c73a2f178c64dedc8b9953bfe01
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-2011.03.2-r6.ebuild 4347 RMD160 2730e6c6a2f550f57fadda0d674b78ffd61bbfe7 SHA1 ecb3bed178a17e0f020fb6641f0a3928544ee41d SHA256 82b7eef46b874a24a120ed82b37e29fc9974dfa5ee44e8b900840fcee1cc5e40
EBUILD kismet-9999.ebuild 4279 RMD160 6677218c6c4fec27a765459ba7f45a1f3a97d8d0 SHA1 bdd9af48b7cae45f981bc85880a1a60865cc9e19 SHA256 5055857deae87871b818641dc4af83d124099a555451736a7b56f2f0181f534b
EBUILD kismet-2011.03.2-r7.ebuild 4140 RMD160 37dc0200d792fdd5870e1b2e914a6592321e3028 SHA1 77e626ec57ddb15ba1af41237eb706e00ffde705 SHA256 9eec7cc2ee22e693536b1af49cac0c83597c4a42df8a778b1c94fb83532522cb
EBUILD kismet-9999.ebuild 3899 RMD160 e067669d36169565e19818bcbfc79399cb22ae76 SHA1 b43812c440d8b575f440f8dda92506e6f546e11b SHA256 ed9ae11b5088f649b113bf397e260dc0e36e13d6bb23f5c5b9a2f0de2b02ee11
MISC metadata.xml 752 RMD160 fab1c88b553c13210494a57a04b2d62536a4f944 SHA1 11fb1ef46c28a2862a850b13e9af6fb405b8a008 SHA256 661ef87ec9fa7e443e0c3741199c1a9217a0932e1023288030a8cfbdbea0256a

View file

@ -0,0 +1,161 @@
# 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
epatch "${FILESDIR}"/header_alignment_r3326.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
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="${ED}" commoninstall
##dragorn would prefer I set fire to my head than do this, but it works
# install headers for external plugins
insinto /usr/include/kismet
doins *.h
doins Makefile.inc
#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
}

View file

@ -25,7 +25,7 @@ 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"
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
@ -36,7 +36,8 @@ RDEPEND="net-wireless/wireless-tools
ncurses? ( sys-libs/ncurses )
speech? ( app-accessibility/flite )
ruby? ( dev-lang/ruby )
plugin-btscan? ( <=net-wireless/bluez-4.96 )
plugin-btscan? ( net-wireless/bluez \
!=net-wireless/bluez-4.98-r1 )
plugin-dot15d4? ( <dev-libs/libusb-1 )
plugin-spectools? ( net-wireless/spectools )"
@ -55,9 +56,6 @@ src_prepare() {
}
src_configure() {
# the configure script only honors '--disable-foo'
# local myconf="--disable-gpsmap"
if ! use ncurses; then
myconf="${myconf} --disable-curses --disable-panel"
fi
@ -67,55 +65,54 @@ src_configure() {
fi
econf ${myconf} \
--with-linuxheaders="${KV_DIR}" || die "econf failed"
--with-linuxheaders="${KV_DIR}"
}
src_compile() {
emake dep || die "emake dep failed"
emake || die "emake failed"
emake
if use plugin-autowep; then
cd "${S}"/plugin-autowep
KIS_SRC_DIR="${S}" emake || die "emake failed"
KIS_SRC_DIR="${S}" emake
fi
if use plugin-btscan; then
cd "${S}"/plugin-btscan
KIS_SRC_DIR="${S}" emake || die "emake failed"
KIS_SRC_DIR="${S}" emake
fi
if use plugin-dot15d4; then
cd "${S}"/plugin-dot15d4
KIS_SRC_DIR="${S}" emake || die "emake failed"
KIS_SRC_DIR="${S}" emake
fi
if use plugin-ptw; then
cd "${S}"/plugin-ptw
KIS_SRC_DIR="${S}" emake || die "emake failed"
KIS_SRC_DIR="${S}" emake
fi
if use plugin-spectools; then
cd "${S}"/plugin-spectools
KIS_SRC_DIR="${S}" emake || die "emake failed"
KIS_SRC_DIR="${S}" emake
fi
}
src_install() {
if use plugin-autowep; then
cd "${S}"/plugin-autowep
KIS_SRC_DIR="${S}" emake DESTDIR="${D}" install || die "emake install failed"
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="${D}" install || die "emake install failed"
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="${D}" install || die "emake install failed"
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="${D}" install || die "emake install failed"
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="${D}" install || die "emake install failed"
KIS_SRC_DIR="${S}" emake DESTDIR="${ED}" LIBDIR="$(get_libdir)" install
fi
if use ruby; then
cd "${S}"/ruby
@ -123,34 +120,34 @@ src_install() {
fi
cd "${S}"
emake DESTDIR="${D}" commoninstall || die "emake install failed"
emake DESTDIR="${ED}" commoninstall
##dragorn would prefer I set fire to my head than do this, but it works
# install headers for external plugins
insinto /usr/include/kismet
doins *.h || die "Header installation failed"
doins *.h
doins Makefile.inc
#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
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 || die
doins conf/kismet{,_drone}.conf
if use suid; then
dobin kismet_capture || die
dobin kismet_capture
fi
}
pkg_preinst() {
if use suid; then
enewgroup kismet
fowners root:kismet /usr/bin/kismet_capture || die
fowners root:kismet /usr/bin/kismet_capture
# Need to set the permissions after chowning.
# See chown(2)
fperms 4550 /usr/bin/kismet_capture || die
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."