summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-forensics/aide/aide-0.16.2_p20200614.ebuild')
-rw-r--r--app-forensics/aide/aide-0.16.2_p20200614.ebuild156
1 files changed, 156 insertions, 0 deletions
diff --git a/app-forensics/aide/aide-0.16.2_p20200614.ebuild b/app-forensics/aide/aide-0.16.2_p20200614.ebuild
new file mode 100644
index 00000000000..794fd0db7d7
--- /dev/null
+++ b/app-forensics/aide/aide-0.16.2_p20200614.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools readme.gentoo-r1
+
+DESCRIPTION="AIDE (Advanced Intrusion Detection Environment) is a file integrity checker"
+HOMEPAGE="https://aide.github.io/ https://github.com/aide/aide"
+
+COMMIT="7949feff20501724a43929ee7894b005812ffb4f" # 20200614
+SRC_URI="https://github.com/aide/aide/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="acl audit curl e2fs mhash postgres prelink selinux static xattr zlib"
+
+REQUIRED_USE="
+ postgres? ( !mhash )
+ static? ( !audit !curl !postgres )"
+
+COMMON_DEPEND="
+ dev-libs/libpcre
+ acl? ( virtual/acl )
+ audit? ( sys-process/audit )
+ curl? ( net-misc/curl )
+ e2fs? ( sys-fs/e2fsprogs )
+ !mhash? (
+ dev-libs/libgcrypt:0=
+ dev-libs/libgpg-error
+ )
+ mhash? ( app-crypt/mhash )
+ postgres? ( dev-db/postgresql:= )
+ prelink? ( dev-libs/elfutils )
+ selinux? ( sys-libs/libselinux )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )"
+
+RDEPEND="
+ !static? ( ${COMMON_DEPEND} )
+ selinux? ( sec-policy/selinux-aide )"
+
+DEPEND="${COMMON_DEPEND}
+ static? (
+ dev-libs/libpcre[static-libs]
+ acl? ( >=virtual/acl-0-r1[static-libs] )
+ e2fs? ( sys-fs/e2fsprogs[static-libs] )
+ !mhash? (
+ dev-libs/libgcrypt:0[static-libs]
+ dev-libs/libgpg-error[static-libs]
+ )
+ mhash? ( app-crypt/mhash[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] )
+ )"
+
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ prelink? ( sys-devel/prelink )"
+
+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}/aide-0.16-fix-LIBS-LDFLAGS-mixing.patch"
+ "${FILESDIR}/aide-0.16-fix-acl-configure-option.patch"
+
+ # Remove not available gcrypt algorithm 7 DB_HAVAL
+ # See: https://sourceforge.net/p/aide/bugs/105/
+ "${FILESDIR}/${P}_define_hash_use_gcrypt.patch"
+)
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+pkg_setup() {
+ if use postgres; then
+ ewarn "\nWARNING!"
+ ewarn "You need to choose one of the postgres versions before building"
+ ewarn "\nPlease select a target postgres version/slot using:\n"
+ ewarn " ~# eselect postgresql list"
+ ewarn " ~# eselect postgresql set <version>\n"
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i -e 's| -Werror||g' configure.ac || die
+ echo "m4_define([AIDE_VERSION], [${PV}])" > version.m4 || 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
+ readme.gentoo_create_doc
+
+ insinto /etc/${PN}
+ insopts -m0600
+ newins "${FILESDIR}"/aide.conf-r1 aide.conf
+
+ dosbin "${FILESDIR}"/aideinit
+ dodoc -r contrib/ "${FILESDIR}"/aide.cron
+
+ keepdir /var/{lib,log}/${PN}
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ if use postgres; then
+ elog "\nDue to a bad assumption by aide, you must issue the following"
+ elog "command after the database initialization (aide --init ...):"
+ elog '\n ~# 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 "\nwhere TABLE, HOSTNAME, PORT, DBASE, and USER are the same as"
+ elog "in your aide.conf.\n"
+ fi
+}