|
|
|
# Copyright 1999-2018 Gentoo Foundation
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=6
|
|
|
|
|
|
|
|
inherit autotools readme.gentoo-r1
|
|
|
|
|
|
|
|
DESCRIPTION="AIDE (Advanced Intrusion Detection Environment) is a file integrity checker"
|
|
|
|
HOMEPAGE="http://aide.sourceforge.net/"
|
|
|
|
SRC_URI="mirror://sourceforge/aide/${P}.tar.gz"
|
|
|
|
|
|
|
|
LICENSE="GPL-2"
|
|
|
|
SLOT="0"
|
|
|
|
KEYWORDS="amd64 ~x86"
|
|
|
|
IUSE="acl audit curl e2fs mhash postgres prelink selinux static xattr zlib"
|
|
|
|
|
|
|
|
COMMON_DEPEND="
|
|
|
|
!mhash? (
|
|
|
|
dev-libs/libgcrypt:0=
|
|
|
|
dev-libs/libgpg-error
|
|
|
|
)
|
|
|
|
mhash? ( app-crypt/mhash )
|
|
|
|
dev-libs/libpcre
|
|
|
|
acl? ( virtual/acl )
|
|
|
|
audit? ( sys-process/audit )
|
|
|
|
curl? ( net-misc/curl )
|
|
|
|
e2fs? ( sys-fs/e2fsprogs )
|
|
|
|
postgres? ( dev-db/postgresql:= )
|
|
|
|
prelink? ( dev-libs/elfutils )
|
|
|
|
selinux? ( sys-libs/libselinux )
|
|
|
|
xattr? ( sys-apps/attr )
|
|
|
|
zlib? ( sys-libs/zlib )
|
|
|
|
"
|
|
|
|
RDEPEND="
|
|
|
|
!static? ( ${COMMON_DEPEND} )
|
|
|
|
prelink? ( sys-devel/prelink )
|
|
|
|
selinux? ( sec-policy/selinux-aide )
|
|
|
|
"
|
|
|
|
DEPEND="${COMMON_DEPEND}
|
|
|
|
sys-devel/bison
|
|
|
|
sys-devel/flex
|
|
|
|
virtual/pkgconfig
|
|
|
|
static? (
|
|
|
|
!mhash? (
|
|
|
|
dev-libs/libgcrypt:0[static-libs]
|
|
|
|
dev-libs/libgpg-error[static-libs]
|
|
|
|
)
|
|
|
|
mhash? ( app-crypt/mhash[static-libs] )
|
|
|
|
dev-libs/libpcre[static-libs]
|
|
|
|
acl? ( virtual/acl[static-libs] )
|
|
|
|
e2fs? ( sys-fs/e2fsprogs[static-libs] )
|
|
|
|
prelink? ( dev-libs/elfutils[static-libs] )
|
|
|
|
selinux? ( sys-libs/libselinux[static-libs] )
|
|
|
|
xattr? ( sys-apps/attr[static-libs] )
|
|
|
|
zlib? ( sys-libs/zlib[static-libs] )
|
|
|
|
)
|
|
|
|
"
|
|
|
|
|
|
|
|
REQUIRED_USE="
|
|
|
|
postgres? ( !mhash )
|
|
|
|
static? ( !audit !curl !postgres )
|
|
|
|
"
|
|
|
|
|
|
|
|
HTML_DOCS=( doc/manual.html )
|
|
|
|
|
|
|
|
DISABLE_AUTOFORMATTING=1
|
|
|
|
DOC_CONTENTS="
|
|
|
|
Example configuration file was installed at '${EPREFIX}/etc/aide/aide.conf'.
|
|
|
|
Please edit it to meet your needs. Refer to aide.conf(5) manual page
|
|
|
|
for more information.
|
|
|
|
|
|
|
|
A helper script, aideinit, was installed and can be used to make AIDE
|
|
|
|
management easier. Please run 'aideinit --help' for more information.
|
|
|
|
"
|
|
|
|
|
|
|
|
PATCHES=(
|
|
|
|
"${FILESDIR}/${P}-add-missing-include.patch"
|
|
|
|
"${FILESDIR}/${P}-fix-LIBS-LDFLAGS-mixing.patch"
|
|
|
|
"${FILESDIR}/${P}-fix-acl-configure-option.patch"
|
|
|
|
"${FILESDIR}/${P}-support-attr-2.4.48.patch"
|
|
|
|
)
|
|
|
|
|
|
|
|
src_prepare() {
|
|
|
|
default_src_prepare
|
|
|
|
sed -i -e 's| -Werror||g' configure.ac || die
|
|
|
|
eautoreconf
|
|
|
|
}
|
|
|
|
|
|
|
|
src_configure() {
|
|
|
|
local myeconfargs=(
|
|
|
|
--sysconfdir="${EPREFIX}/etc/${PN}"
|
|
|
|
--with-confighmactype="sha512" # Override default weak MD5 hash.
|
|
|
|
--with-dbhmackey="sha512" # Override default weak MD5 hash.
|
|
|
|
# Disable broken l10n support: https://sourceforge.net/p/aide/bugs/98/
|
|
|
|
# This doesn't affect anything because there are no localizations yet.
|
|
|
|
--without-locale
|
|
|
|
$(use_enable static)
|
|
|
|
$(use_with zlib)
|
|
|
|
$(use_with curl)
|
|
|
|
$(use_with acl posix-acl)
|
|
|
|
$(use_with selinux)
|
|
|
|
$(use_with prelink prelink "${EPREFIX}/usr/sbin/prelink")
|
|
|
|
$(use_with xattr)
|
|
|
|
$(use_with e2fs e2fsattrs)
|
|
|
|
$(use_with mhash mhash)
|
|
|
|
$(use_with !mhash gcrypt)
|
|
|
|
$(use_with postgres psql)
|
|
|
|
$(use_with audit)
|
|
|
|
)
|
|
|
|
econf "${myeconfargs[@]}"
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install() {
|
|
|
|
default_src_install
|
|
|
|
readme.gentoo_create_doc
|
|
|
|
|
|
|
|
insinto /etc/${PN}
|
|
|
|
doins "${FILESDIR}"/aide.conf
|
|
|
|
|
|
|
|
dosbin "${FILESDIR}"/aideinit
|
|
|
|
dodoc "${FILESDIR}"/aide.cron
|
|
|
|
|
|
|
|
keepdir /var/{lib,log}/${PN}
|
|
|
|
}
|
|
|
|
|
|
|
|
pkg_postinst() {
|
|
|
|
readme.gentoo_print_elog
|
|
|
|
|
|
|
|
if use postgres; then
|
|
|
|
elog
|
|
|
|
elog "Due to a bad assumption by aide, you must issue the following"
|
|
|
|
elog "command after the database initialization (aide --init ...):"
|
|
|
|
elog
|
|
|
|
elog 'psql -c "update pg_index set indisunique=false from pg_class \\ '
|
|
|
|
elog " where pg_class.relname='TABLE_pkey' and \ "
|
|
|
|
elog ' pg_class.oid=pg_index.indexrelid" -h HOSTNAME -p PORT DBASE USER'
|
|
|
|
elog
|
|
|
|
elog "where TABLE, HOSTNAME, PORT, DBASE, and USER are the same as"
|
|
|
|
elog "in your aide.conf."
|
|
|
|
elog
|
|
|
|
fi
|
|
|
|
}
|