You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.7 KiB
100 lines
2.7 KiB
# Copyright 1999-2015 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=5
|
|
|
|
inherit multilib ssl-cert user
|
|
|
|
MY_PV="${PV/_p/p}"
|
|
DESCRIPTION="Daemon for Sguil Network Security Monitoring"
|
|
HOMEPAGE="http://sguil.sourceforge.net"
|
|
SRC_URI="https://github.com/bammv/${PN/-server}/archive/v${PV}.tar.gz -> ${P/-server}.tar.gz"
|
|
|
|
LICENSE="GPL-2 QPL"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64 ~x86"
|
|
IUSE="ssl"
|
|
|
|
DEPEND="
|
|
>=dev-lang/tcl-8.3:0=[-threads]
|
|
>=dev-tcltk/tclx-8.3
|
|
dev-tcltk/tcllib
|
|
dev-tcltk/mysqltcl
|
|
ssl? ( >=dev-tcltk/tls-1.4.1 )"
|
|
RDEPEND="${DEPEND}
|
|
net-analyzer/p0f
|
|
net-analyzer/tcpflow
|
|
net-misc/openssh"
|
|
|
|
S="${WORKDIR}/sguil-${MY_PV}"
|
|
|
|
pkg_setup() {
|
|
enewgroup sguil
|
|
enewuser sguil -1 -1 /var/lib/sguil sguil
|
|
}
|
|
|
|
src_prepare(){
|
|
sed -i \
|
|
-e 's:DEBUG 2:DEBUG 1:' -e 's:DAEMON 0:DAEMON 1:' \
|
|
-e 's:SGUILD_LIB_PATH ./lib:SGUILD_LIB_PATH /usr/lib/sguild:g' \
|
|
-e 's:/sguild_data/rules:/var/lib/sguil/rules:g' \
|
|
-e 's:/sguild_data/archive:/var/lib/sguil/archive:g' \
|
|
-e 's:/usr/lib/sguild:/usr/'$(get_libdir)'/sguild:g' \
|
|
server/sguild.conf || die
|
|
}
|
|
|
|
src_install(){
|
|
dodoc server/sql_scripts/*
|
|
dodoc doc/CHANGES doc/OPENSSL.README doc/USAGE doc/INSTALL \
|
|
doc/TODO doc/sguildb.dia
|
|
|
|
insopts -m640
|
|
insinto /etc/sguil
|
|
doins server/{sguild.email,sguild.users,sguild.conf,sguild.queries,sguild.access,autocat.conf}
|
|
|
|
insinto /usr/$(get_libdir)/sguild
|
|
doins server/lib/*
|
|
dobin server/sguild
|
|
newinitd "${FILESDIR}/sguild.initd" sguild
|
|
newconfd "${FILESDIR}/sguild.confd" sguild
|
|
|
|
if use ssl; then
|
|
sed -i -e "s/#OPENSSL/OPENSSL/" "${D}/etc/conf.d/sguild"
|
|
fi
|
|
|
|
diropts -g sguil -o sguil
|
|
keepdir \
|
|
/var/lib/sguil \
|
|
/var/lib/sguil/archive \
|
|
/var/lib/sguil/rules
|
|
|
|
}
|
|
|
|
pkg_postinst(){
|
|
if use ssl && ! [ -f "${ROOT}"/etc/sguil/sguild.key ]; then
|
|
install_cert /etc/sguil/sguild
|
|
fi
|
|
|
|
chown -R sguil:sguil "${ROOT}"/etc/sguil/sguild.*
|
|
chown -R sguil:sguil "${ROOT}"/usr/lib/sguild
|
|
|
|
if [ -d "${ROOT}"/etc/snort/rules ] ; then
|
|
ln -s /etc/snort/rules "${ROOT}"/var/lib/sguil/rules/${HOSTNAME}
|
|
fi
|
|
|
|
elog
|
|
elog "Please customize the sguild configuration files in /etc/sguild before"
|
|
elog "trying to run the daemon. Additionally you will need to setup the"
|
|
elog "mysql database. See /usr/share/doc/${PF}/INSTALL.gz for information."
|
|
elog "Please note that it is STRONGLY recommended to mount a separate"
|
|
elog "filesystem at /var/lib/sguil for both space and performance reasons"
|
|
elog "as a large amount of data will be kept in the directory structure"
|
|
elog "underneath that top directory."
|
|
elog
|
|
elog "You should create the sguild db as per the install instructions in"
|
|
elog "/usr/share/doc/${PF}/ and use the appropriate"
|
|
elog "database setup script located in the same directory."
|
|
|
|
elog
|
|
}
|