summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Longinotti <chtekk@gentoo.org>2006-05-24 13:10:34 +0000
committerLuca Longinotti <chtekk@gentoo.org>2006-05-24 13:10:34 +0000
commit0c612af67ad931f37412936d90da9265f8c9fb1b (patch)
tree6054159309184c9409f0c5b0e05143aca4636e00 /app-forensics/samhain/samhain-2.2.0.ebuild
parentStable on sparc (diff)
downloadgentoo-2-0c612af67ad931f37412936d90da9265f8c9fb1b.tar.gz
gentoo-2-0c612af67ad931f37412936d90da9265f8c9fb1b.tar.bz2
gentoo-2-0c612af67ad931f37412936d90da9265f8c9fb1b.zip
Update samhain.
(Portage version: 2.1_rc1-r3)
Diffstat (limited to 'app-forensics/samhain/samhain-2.2.0.ebuild')
-rw-r--r--app-forensics/samhain/samhain-2.2.0.ebuild209
1 files changed, 209 insertions, 0 deletions
diff --git a/app-forensics/samhain/samhain-2.2.0.ebuild b/app-forensics/samhain/samhain-2.2.0.ebuild
new file mode 100644
index 000000000000..a0911a6cccd6
--- /dev/null
+++ b/app-forensics/samhain/samhain-2.2.0.ebuild
@@ -0,0 +1,209 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-forensics/samhain/samhain-2.2.0.ebuild,v 1.1 2006/05/24 13:10:34 chtekk Exp $
+
+KEYWORDS="~x86"
+DESCRIPTION="Advanced file integrity and intrusion detection tool."
+HOMEPAGE="http://la-samhna.de/samhain/"
+SRC_URI="http://la-samhna.de/archive/samhain_signed-${PV}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="crypt debug login-watch mounts-check mysql netclient netserver postgres prelude static suidcheck userfiles xml"
+
+RESTRICT="nostrip"
+
+DEPEND="crypt? ( >=app-crypt/gnupg-1.2 )
+ mysql? ( >=dev-db/mysql-3.23.26 )
+ postgres? ( >=dev-db/postgresql-7.2 )
+ prelude? ( >=dev-libs/libprelude-0.8.10 )
+ >=sys-apps/sed-4
+ app-arch/tar
+ app-arch/gzip"
+
+# Samhain stealth mode options
+#
+# If you would like to enable stealth mode, please set and uncomment the
+# following options or pass them as enviroment variables when emerging
+# the package (like INSTALL_NAME="asd" emerge samhain).
+# If you set the variables here, don't forget to redigest the ebuild by
+# issuing 'ebuild samhain-2.1.1a.ebuild digest', also remember that with
+# your next emerge sync, the changes to the ebuild will be lost!
+#
+# Read the Samhain manual for additional information.
+#
+# STEALTH should be set to either 'full' or 'micro' (mandatory)
+#STEALTH=""
+#
+# XOR_VALUE should be a whole number from 128 to 255 (mandatory)
+#XOR_VALUE=""
+#
+# INSTALL_NAME can be set to change the name of the Samhain binaries
+# to the name you specify (optional)
+#INSTALL_NAME=""
+
+if [[ "${STEALTH}" == "full" ]] ; then
+ RDEPEND="media-gfx/imagemagick"
+fi
+
+pkg_setup() {
+ if use static ; then
+ if use postgres || use prelude ; then
+ ewarn "At the moment it isn't possible to build a static Samhain with"
+ ewarn "Prelude and/or PostgreSQL support on Gentoo, the compilation"
+ ewarn "fails during the linking process."
+ echo
+ ewarn "This will be looked at and fixed in the future, in the meantime,"
+ ewarn "patches to fix this are always welcome and appreciated! ;)"
+ ewarn "(Open a bug on bugs.gentoo.org for them or send them to"
+ ewarn "the maintainer directly, thanks!)"
+ die "Please turn the 'postgres' and/or 'prelude' USE flags off when building with 'static'"
+ fi
+ fi
+
+ if use mysql && use postgres ; then
+ ewarn "You cannot compile both database backends into Samhain at once,"
+ ewarn "you need to choose between MySQL or PostgreSQL and disable the"
+ ewarn "one you don't want to use."
+ die "Please choose between 'mysql' or 'postgres' USE flags"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ tar -xzf "samhain-${PV}.tar.gz"
+}
+
+src_compile() {
+ local myconf
+
+ if use crypt ; then
+ myconf="${myconf} --with-gpg=/usr/bin/gpg --with-checksum=no"
+
+ if [[ -n "${KEY_FPR}" ]] ; then
+ einfo "Setting built-in key fingerprint to ${KEY_FPR}"
+ FPR=`echo ${KEY_FPR} | sed "s/ //g"`
+ myconf="${myconf} --with-fp=${FPR}"
+ fi
+ fi
+
+ if [[ -n "${STEALTH}" ]] ; then
+ [[ -z "${XOR_VALUE}" ]] && die "Variable XOR_VALUE must be set for stealth mode"
+ echo
+ einfo "Enabling stealth mode '${STEALTH}', setting XOR_VALUE to ${XOR_VALUE}"
+
+ if [[ "${STEALTH}" == "full" ]] ; then
+ myconf="${myconf} --enable-stealth=${XOR_VALUE}"
+ sed -e "s:STEGIN=@stegin_prg@:STEGIN=:g" -i samhain-install.sh.in
+ elif [[ "${STEALTH}" == "micro" ]] ; then
+ myconf="${myconf} --enable-micro-stealth=${XOR_VALUE}"
+ else
+ die "STEALTH must be set to either 'full' or 'micro'"
+ fi
+
+ if [[ -n "${INSTALL_NAME}" ]] ; then
+ echo
+ einfo "Setting alternative samhain name to ${INSTALL_NAME}"
+ echo
+ myconf="${myconf} --enable-install-name=${INSTALL_NAME}"
+ fi
+ fi
+
+ use mysql && myconf="${myconf} --with-database=mysql --enable-xml-log"
+ use postgres && myconf="${myconf} --with-database=postgresql --enable-xml-log"
+ use prelude && myconf="${myconf} --with-prelude --with-libprelude-prefix=/usr"
+ use xml && myconf="${myconf} --enable-xml-log"
+ use static && myconf="${myconf} --enable-static"
+ use debug && myconf="${myconf} --enable-debug"
+
+ use netclient && myconf="${myconf} --enable-network=client"
+ use netserver && myconf="${myconf} --enable-network=server"
+
+ use login-watch && myconf="${myconf} --enable-login-watch"
+ use mounts-check && myconf="${myconf} --enable-mounts-check"
+ use suidcheck && myconf="${myconf} --enable-suidcheck"
+ use userfiles && myconf="${myconf} --enable-userfiles"
+
+ myconf="${myconf} --localstatedir=/var"
+
+ econf ${myconf} || die "configure failed"
+ make || die "compile failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+
+ rm -Rf "${D}/var/log"
+ rm -Rf "${D}/var/run"
+ rm -Rf "${D}/var/state"
+
+ if [[ -n "${STEALTH}" ]] ; then
+ rm -Rf "${D}/usr/share"
+ else
+ dodoc COPYING LICENSE docs/BUGS docs/MANUAL* docs/README* docs/TODO docs/*.txt
+ dohtml docs/*.html
+ docinto scripts
+ dodoc scripts/*
+ insinto /etc
+ insopts -m0600
+ newins samhainrc.linux samhainrc
+ exeinto /etc/init.d
+ newexe init/samhain.startGentoo samhain
+ keepdir "/var/lib/samhain"
+ fi
+
+ if use netserver ; then
+ keepdir "/var/lib/yule"
+ chown daemon:daemon "${D}/var/lib/yule"
+ keepdir "/var/log/yule"
+ chown daemon:daemon "${D}/var/log/yule"
+ fi
+}
+
+pkg_postinst() {
+ if [[ -n "${STEALTH}" ]] ; then
+ echo
+ einfo "Manual pages, documentation, and init script were NOT installed in order to"
+ einfo "obscure Samhain's presence. You should also remove samhain's installation"
+ einfo "traces from /var/cache/edb/world and /var/db/pkg."
+ fi
+
+ if [[ "${STEALTH}" == "full" ]] ; then
+ echo
+ einfo "In stealth mode, the configuration file must be steganographically hidden"
+ einfo "in a postscript image file. The sample config has been created this way by"
+ einfo "the installation process. Use the samhain_stealth utility to modify or"
+ einfo "create your own configuration file."
+ fi
+
+ if [[ -z "${KEY_FPR}" ]] ; then
+ echo
+ ewarn "GnuPG support has been enabled, but fingerprint verification will be"
+ ewarn "ignored. To enable fingerprint verification (strongly recommended),"
+ ewarn "you must re-emerge this package with the KEY_FPR variable set to"
+ ewarn "your default signing key fingerprint."
+ ewarn "Please read the Samhain manual for more details."
+ echo
+ einfo "Enabling GnuPG support in Samhain requires that you sign your configuration"
+ einfo "and and database files. Please run the following commands as root:"
+ einfo
+ einfo " gpg -a --clearsign --not-dash-escaped /etc/samhainrc"
+ einfo " mv /etc/samhainrc.asc /etc/samhainrc"
+ einfo " chmod 600 /etc/samhainrc"
+ einfo
+ einfo "Run the same commands on /var/lib/samhain/samhain_file after initialization."
+ fi
+
+ echo
+ einfo "Be sure to check your settings in /etc/samhainrc. When ready, run:"
+ einfo " samhain -t init"
+ einfo "to initialize Samhain."
+
+ echo
+ einfo "Samhain stealth-mode options are also available. Please view the comments"
+ einfo "in the Samhain ebuild for further configuration instructions."
+
+ echo
+ ewarn "Please be sure to read the Samhain manual to understand and correctly"
+ ewarn "configure the Samhain utility."
+ ewarn "HTML version available for viewing at http://la-samhna.de/samhain/manual/ ."
+}