123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- # Copyright 1999-2017 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- EAPI=5
- PYTHON_COMPAT=( python2_7 )
- inherit bash-completion-r1 eutils multilib python-single-r1
- DESCRIPTION="Framework which enables integration with Security Content Automation Protocol"
- HOMEPAGE="http://www.open-scap.org/"
- SRC_URI="https://fedorahosted.org/releases/o/p/${PN}/${P}.tar.gz"
- LICENSE="LGPL-2.1+"
- SLOT="0"
- KEYWORDS="~amd64 ~x86"
- IUSE="acl caps debug doc gconf ldap nss pcre perl python rpm selinux sce sql test xattr"
- RESTRICT="test"
- RDEPEND="!nss? ( dev-libs/libgcrypt:0 )
- nss? ( dev-libs/nss )
- acl? ( virtual/acl )
- caps? ( sys-libs/libcap )
- gconf? ( gnome-base/gconf )
- ldap? ( net-nds/openldap )
- pcre? ( dev-libs/libpcre )
- rpm? ( >=app-arch/rpm-4.9 )
- sql? ( dev-db/opendbx )
- xattr? ( sys-apps/attr )
- dev-libs/libpcre
- dev-libs/libxml2
- dev-libs/libxslt
- net-misc/curl
- ${PYTHON_DEPS}"
- DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- perl? ( dev-lang/swig )
- python? ( dev-lang/swig )
- test? (
- app-arch/unzip
- dev-perl/XML-XPath
- net-misc/ipcalc
- sys-apps/grep )"
- REQUIRED_USE="${PYTHON_REQUIRED_USE}"
- src_prepare() {
- # uncoment for debugging test
- # sed -i 's,set -e,&;set -x,' tests/API/XCCDF/unittests/test_remediate_simple.sh || die
- # sed -i 's,^ bash, LC_ALL=C bash,' tests/probes/process/test_probes_process.sh || die
- sed -i 's/uname -p/uname -m/' tests/probes/uname/test_probes_uname.xml.sh || die
- #probe runlevel for non-centos/redhat/fedora is not implemented
- sed -i 's,.*runlevel_test.*,echo "runlevel test bypassed",' tests/mitre/test_mitre.sh || die
- sed -i 's,probecheck "runlevel,probecheck "runlevellllll,' tests/probes/runlevel/test_probes_runlevel.sh || die
- #According to comment of theses tests, we must modify it. For the moment disable it
- sed -i 's,.*linux-def_inetlisteningservers_test,#&,' tests/mitre/test_mitre.sh || die
- sed -i 's,.*ind-def_environmentvariable_test,#&,' tests/mitre/test_mitre.sh || die
- # theses tests are hardcoded for checking hald process...,
- # but no good solution for the moment, disabling them with a fake echo
- # because encased in a if then
- # sed -i 's,ha.d,/sbin/udevd --daemon,g' tests/mitre/unix-def_process_test.xml || die
- # sed -i 's,ha.d,/sbin/udevd --daemon,g' tests/mitre/unix-def_process58_test.xml || die
- sed -i 's,.*process_test.*,echo "process test bypassed",' tests/mitre/test_mitre.sh || die
- sed -i 's,.*process58_test.*,echo "process58 test bypassed",' tests/mitre/test_mitre.sh || die
- #This test fail
- sed -i 's,.*generate report: xccdf,#&,' tests/API/XCCDF/unittests/all.sh || die
- if ! use rpm ; then
- sed -i 's,probe_rpminfo_req_deps_ok=yes,probe_rpminfo_req_deps_ok=no,' configure || die
- sed -i 's,probe_rpminfo_opt_deps_ok=yes,probe_rpminfo_opt_deps_ok=no,' configure || die
- sed -i 's,probe_rpmverify_req_deps_ok=yes,probe_rpmverify_req_deps_ok=no,' configure || die
- sed -i 's,probe_rpmverify_opt_deps_ok=yes,probe_rpmverify_opt_deps_ok=no,' configure || die
- sed -i 's,^probe_rpm.*_deps_missing=,&disabled_by_USE_flag,' configure || die
- sed -i 's,.*rpm.*,#&,' tests/mitre/test_mitre.sh || die
- fi
- if ! use selinux ; then
- einfo "Disabling SELinux probes"
- sed -i 's,.*selinux.*, echo "SELinux test bypassed",' tests/mitre/test_mitre.sh || die
- #process58 need selinux
- sed -i 's,.*process58,#&,' tests/mitre/test_mitre.sh || die
- fi
- if ! use ldap; then
- einfo "Disabling LDAP probes"
- sed -i 's,ldap.h,ldapp.h,g' configure || die
- fi
- epatch_user
- }
- src_configure() {
- python_setup
- local myconf
- if use debug ; then
- myconf+=" --enable-debug"
- fi
- if use python ; then
- myconf+=" --enable-python"
- else
- myconf+=" --enable-python=no"
- fi
- if use perl ; then
- myconf+=" --enable-perl"
- fi
- if use nss ; then
- myconf+=" --with-crypto=nss3"
- else
- myconf+=" --with-crypto=gcrypt"
- fi
- if use sce ; then
- myconf+=" --enable-sce"
- else
- myconf+=" --enable-sce=no"
- fi
- econf ${myconf}
- }
- src_compile() {
- emake
- if use doc ; then
- cd docs && doxygen Doxyfile || die
- fi
- }
- src_install() {
- emake install DESTDIR="${D}"
- prune_libtool_files --all
- if use doc ; then
- dohtml -r docs/html/.
- dodoc docs/examples/.
- fi
- dobashcomp "${D}"/etc/bash_completion.d/oscap
- rm -rf "${D}"/etc/bash_completion.d || die
- }
|