ChangeLog

# ChangeLog for app-forensics/samhain
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-forensics/samhain/ChangeLog,v 1.10 2008/05/21 15:50:55 dev-zero Exp $

21 May 2008; Tiziano Müller samhain-2.1.3.ebuild,
samhain-2.2.0.ebuild:
Changed dependency for postgresql from dev-db/postgresql to
virtual/postgresql-server

02 Jul 2007; Piotr Jaroszyński samhain-2.1.3.ebuild,
samhain-2.2.0.ebuild:
(QA) RESTRICT clean up.

13 May 2007; Thilo Bangert metadata.xml:
add no-herd

28 Apr 2007; Torsten Veller samhain-2.2.0.ebuild:
Use newinitd

24 Jan 2007; Marius Mauch samhain-2.1.3.ebuild,
samhain-2.2.0.ebuild:
Replacing einfo with elog

23 Nov 2006; Francesco Riosa samhain-2.1.3.ebuild,
samhain-2.2.0.ebuild:
dev-db/mysql => virtual/mysql

14 Jul 2006; Luca Longinotti samhain-2.1.3.ebuild,
samhain-2.2.0.ebuild:
Fix bug #140385.

*samhain-2.2.0 (24 May 2006)
*samhain-2.1.3 (24 May 2006)

24 May 2006; Luca Longinotti -samhain-2.1.1a.ebuild,
+samhain-2.1.3.ebuild, +samhain-2.2.0.ebuild:
Fix bug #125035 by adding both 2.1.3 and 2.2.0 to the tree, remove 2.1.1a.
Fix bug #130988, the libdir is now created if not emerged in stealth mode.

26 Dec 2005; Luca Longinotti samhain-2.1.1a.ebuild:
Fix bug #116739.

*samhain-2.1.1a (25 Dec 2005)

25 Dec 2005; Luca Longinotti +metadata.xml,
+samhain-2.1.1a.ebuild:
Samhain ebuild, fix bug #34243. Thanks to Andrea Barisani and Jared Breland
for the initial ebuild in Bugzilla.

Manifest

DIST samhain_signed-2.1.3.tar.gz 1326778 RMD160 26d3b2519d33a814d122e214a1b35a2f82534112 SHA1 73596c07764b7926e7e623b8d9922472daf19ec8 SHA256 351efd78f0f07a9d3eb128c7f1bb8959e32c0a783632890ab850365e9dfd1a5f
DIST samhain_signed-2.2.0.tar.gz 1520179 RMD160 c61e9b1bd71ff3e2a8592badef788a4aba26f22b SHA1 8c245dfa95eeeecbdf1b443265f77e19052b95bf SHA256 6b02ccae95a46c831569026d43da517440213f6d407cd1bd19a287114167554a
EBUILD samhain-2.1.3.ebuild 7192 RMD160 0e15ad0dad8cb966247f8d4d5d0dd1aab467be8c SHA1 fcfb09ddc84f4db41aaeb856da3539897cd92d6b SHA256 e3f2370634bd04a62023e1e0834776333b5e05be3057e4fe43d552b53b1fe9fd
EBUILD samhain-2.2.0.ebuild 7192 RMD160 02ac2ded13340a361db782135b79c3cbb4482ea1 SHA1 d639e46a9a91fb0a1101d4398045fe80e35a89f7 SHA256 bb42df44e87e146707f9e178eb0206bf916b4cd56a524a8fc5f8eed2873f6ecb
MISC ChangeLog 1751 RMD160 1a7be659da8970185be975acc1aa7198723bfa86 SHA1 bae705f6ee888e6115b27ec7da147fd7e8edfd83 SHA256 3f930344f7fcb8878b8cdd178e740738f523913407623868be5511b92bb8e84f
MISC metadata.xml 251 RMD160 b51dbdd722927410f6ddea140ac6eebb8980b94e SHA1 2294d43232148e83653e27ee326c4c84389e4123 SHA256 4ba83a5bcb7a3c1cb108e970efc076f21e52493f59d52d271867588fe330d16b

metadata.xml




no-herd

chtekk@gentoo.org
Luca Longinotti

samhain-2.1.3.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-forensics/samhain/samhain-2.1.3.ebuild,v 1.8 2008/05/21 15:50:55 dev-zero 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="strip"

DEPEND="crypt? ( >=app-crypt/gnupg-1.2 )
mysql? ( virtual/mysql )
postgres? ( >=virtual/postgresql-server-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
newinitd 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
elog
elog "Manual pages, documentation, and init script were NOT installed in order to"
elog "obscure Samhain's presence. You should also remove samhain's installation"
elog "traces from ${ROOT}/var/cache/edb/world and ${ROOT}/var/db/pkg."
fi

if [[ "${STEALTH}" == "full" ]] ; then
elog
elog "In stealth mode, the configuration file must be steganographically hidden"
elog "in a postscript image file. The sample config has been created this way by"
elog "the installation process. Use the samhain_stealth utility to modify or"
elog "create your own configuration file."
fi

if [[ -z "${KEY_FPR}" ]] ; then
elog
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."
elog
elog "Enabling GnuPG support in Samhain requires that you sign your configuration"
elog "and and database files. Please run the following commands as root:"
elog
elog " gpg -a --clearsign --not-dash-escaped ${ROOT}/etc/samhainrc"
elog " mv ${ROOT}/etc/samhainrc.asc ${ROOT}/etc/samhainrc"
elog " chmod 600 ${ROOT}/etc/samhainrc"
elog
elog "Run the same commands on ${ROOT}/var/lib/samhain/samhain_file after initialization."
fi

elog
elog "Be sure to check your settings in ${ROOT}/etc/samhainrc. When ready, run:"
elog " samhain -t init"
elog "to initialize Samhain."

elog
elog "Samhain stealth-mode options are also available. Please view the comments"
elog "in the Samhain ebuild for further configuration instructions."

elog
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/ ."
}

samhain-2.2.0.ebuild

# Copyright 1999-2008 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.8 2008/05/21 15:50:55 dev-zero 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="strip"

DEPEND="crypt? ( >=app-crypt/gnupg-1.2 )
mysql? ( virtual/mysql )
postgres? ( >=virtual/postgresql-server-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
newinitd 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
elog
elog "Manual pages, documentation, and init script were NOT installed in order to"
elog "obscure Samhain's presence. You should also remove samhain's installation"
elog "traces from ${ROOT}/var/cache/edb/world and ${ROOT}/var/db/pkg."
fi

if [[ "${STEALTH}" == "full" ]] ; then
elog
elog "In stealth mode, the configuration file must be steganographically hidden"
elog "in a postscript image file. The sample config has been created this way by"
elog "the installation process. Use the samhain_stealth utility to modify or"
elog "create your own configuration file."
fi

if [[ -z "${KEY_FPR}" ]] ; then
elog
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."
elog
elog "Enabling GnuPG support in Samhain requires that you sign your configuration"
elog "and and database files. Please run the following commands as root:"
elog
elog " gpg -a --clearsign --not-dash-escaped ${ROOT}/etc/samhainrc"
elog " mv ${ROOT}/etc/samhainrc.asc ${ROOT}/etc/samhainrc"
elog " chmod 600 ${ROOT}/etc/samhainrc"
elog
elog "Run the same commands on ${ROOT}/var/lib/samhain/samhain_file after initialization."
fi

elog
elog "Be sure to check your settings in ${ROOT}/etc/samhainrc. When ready, run:"
elog " samhain -t init"
elog "to initialize Samhain."

elog
elog "Samhain stealth-mode options are also available. Please view the comments"
elog "in the Samhain ebuild for further configuration instructions."

elog
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/ ."
}