summaryrefslogtreecommitdiff
blob: 271939e5f5ab3e9b6201c788b244f1440730e89f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-analyzer/mwcollect/mwcollect-3.0.1.ebuild,v 1.2 2005/12/12 10:54:27 chriswhite Exp $

inherit eutils

DESCRIPTION="mwcollect collects worms and other autonomous spreading malware"
HOMEPAGE="http://www.mwcollect.org/"
SRC_URI="http://download.mwcollect.org/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~ppc ~x86"
IUSE="debug"
# has issues right now
#IUSE="debug prelude"

DEPEND="dev-libs/libpcre
	net-misc/curl
	>=sys-libs/libcap-1"
	#   has issues right now
	#	prelude?( >=dev-libs/libprelude-0.9  )"
RDEPEND=""

src_unpack() {
	unpack ${A}
	cd ${S}
	sed -i \
	-e "s:CXXFLAGS += -I./src/include:CXXFLAGS += ${CXXFLAGS} -fPIC -I./src/include:" \
	Makefile || die "custom CFLAGS patching failed"

	#sed -i \
	#-e "s:\$(MODULE_OBJ) \$(LDFLAGS):\$(MODULE_OBJ) \$(LDFLAGS) -fPIC:" \
	#Makefile.MODULE || die "pic patching failed"

	sed -i \
	-e "s:%loadModule(\":%loadModule(\"\/usr\/lib\/mwcollect\/:g" \
	conf/mwcollect.conf || die "module load directory failed"

	# sets CAP_SETUID for setresuid
	epatch "${FILESDIR}"/${P}-capacity.patch

	# fixes --user= and module loading
	epatch "${FILESDIR}"/${P}-modules.patch

	# fPIC patching
	epatch "${FILESDIR}"/${P}-pic.patch

	# pid file writing issues
	epatch "${FILESDIR}"/${P}-pid.patch
}

src_compile() {
	use debug && export DEBUG="y"
	# has issues right now
	#use prelude && export MODULES="log-prelude" 

	emake || die "Make failed"
}

src_install() {
	dosbin bin/mwcollectd
	insinto /usr/$(get_libdir)/mwcollect
	doins bin/modules/*

	insinto /etc/mwcollect
	doins conf/* \
		|| die "config file installation failed"

	dodoc README* doc/core-design.txt
	doman doc/mwcollectd.1

	newinitd ${FILESDIR}/initd mwcollectd
	insinto /etc/conf.d
	newins ${FILESDIR}/confd mwcollectd
}