blob: e2a4fa2e69c2d011c6698ddd04a90edb5c1cff8f [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001# Copyright (C) 2017 Armin Kuster <akuster808@gmail.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMARRY = "NIST Certified SCAP 1.2 toolkit"
5HOME_URL = "https://www.open-scap.org/tools/openscap-base/"
6LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
7LICENSE = "LGPL-2.1"
8
9DEPENDS = "autoconf-archive pkgconfig gconf procps curl libxml2 rpm \
10 libxslt libcap swig swig-native"
11
12DEPENDS_class-native = "autoconf-archive-native pkgconfig-native swig-native curl-native libxml2-native libxslt-native dpkg-native libgcrypt-native nss-native"
13
14SRCREV = "59c234b3e9907480c89dfbd1b466a6bf72a2d2ed"
15SRC_URI = "git://github.com/akuster/openscap.git;branch=oe \
16 file://crypto_pkgconfig.patch \
17 file://run-ptest \
18"
19
20inherit autotools-brokensep pkgconfig python3native perlnative ptest
21
22S = "${WORKDIR}/git"
23
24PACKAGECONFIG ?= "nss3 pcre rpm"
25PACKAGECONFIG[pcre] = ",--enable-regex-posix, libpcre"
26PACKAGECONFIG[gcrypt] = "--with-crypto=gcrypt,, libgcrypt "
27PACKAGECONFIG[nss3] = "--with-crypto=nss3,, nss"
28PACKAGECONFIG[python] = "--enable-python, --disable-python, python, python"
29PACKAGECONFIG[python3] = "--enable-python3, --disable-python3, python3, python3"
30PACKAGECONFIG[perl] = "--enable-perl, --disable-perl, perl, perl"
31PACKAGECONFIG[rpm] = " --enable-util-scap-as-rpm, --disable-util-scap-as-rpm, rpm, rpm"
32
33export LDFLAGS += " -ldl"
34
35EXTRA_OECONF += "--enable-probes-independent --enable-probes-linux \
36 --enable-probes-solaris --enable-probes-unix --disable-util-oscap-docker\
37 --enable-util-oscap-ssh --enable-util-oscap --enable-ssp --enable-sce \
38"
39
40EXTRA_OECONF_class-native += "--disable-probes-independent --enable-probes-linux \
41 --disable-probes-solaris --disable-probes-unix \
42 --enable-util-oscap \
43"
44
45do_configure_prepend () {
46 sed -i 's:-I/usr/include:-I${STAGING_INCDIR}:' ${S}/swig/perl/Makefile.am
47 sed -i 's:-I/usr/include:-I${STAGING_INCDIR}:' ${S}/swig/python3/Makefile.am
48 sed -i 's:-I/usr/include:-I${STAGING_INCDIR}:' ${S}/swig/python2/Makefile.am
49 sed -i 's:python2:python:' ${S}/utils/scap-as-rpm
50}
51
52
53include openscap.inc
54
55do_configure_append_class-native () {
56 sed -i 's:OSCAP_DEFAULT_CPE_PATH.*$:OSCAP_DEFAULT_CPE_PATH "${STAGING_OSCAP_BUILDDIR}${datadir_native}/openscap/cpe":' ${S}/config.h
57 sed -i 's:OSCAP_DEFAULT_SCHEMA_PATH.*$:OSCAP_DEFAULT_SCHEMA_PATH "${STAGING_OSCAP_BUILDDIR}${datadir_native}/openscap/schemas":' ${S}/config.h
58 sed -i 's:OSCAP_DEFAULT_XSLT_PATH.*$:OSCAP_DEFAULT_XSLT_PATH "${STAGING_OSCAP_BUILDDIR}${datadir_native}/openscap/xsl":' ${S}/config.h
59}
60
61do_clean[cleandirs] += " ${STAGING_OSCAP_BUILDDIR}"
62
63do_install_append_class-native () {
64 oscapdir=${STAGING_OSCAP_BUILDDIR}/${datadir_native}
65 install -d $oscapdir
66 cp -a ${D}/${STAGING_DATADIR_NATIVE}/openscap $oscapdir
67}
68
69TESTDIR = "tests"
70
71do_compile_ptest() {
72 sed -i 's:python2:python:' ${S}/${TESTDIR}/nist/test_worker.py
73 echo 'buildtest-TESTS: $(check)' >> ${TESTDIR}/Makefile
74 oe_runmake -C ${TESTDIR} buildtest-TESTS
75}
76
77do_install_ptest() {
78 # install the tests
79 cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
80}
81
82FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
83
84RDEPENDS_${PN} += "libxml2 python libgcc"
85RDEPENDS_${PN}-ptest = "bash perl python"
86
87BBCLASSEXTEND = "native"