summaryrefslogtreecommitdiffstats
path: root/recipes-security/samhain/samhain.inc
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-security/samhain/samhain.inc')
-rw-r--r--recipes-security/samhain/samhain.inc98
1 files changed, 74 insertions, 24 deletions
diff --git a/recipes-security/samhain/samhain.inc b/recipes-security/samhain/samhain.inc
index 007264d..83b2db2 100644
--- a/recipes-security/samhain/samhain.inc
+++ b/recipes-security/samhain/samhain.inc
@@ -5,25 +5,60 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b"
5 5
6 6
7SRC_URI = "http://la-samhna.de/archive/samhain_signed-${PV}.tar.gz \ 7SRC_URI = "http://la-samhna.de/archive/samhain_signed-${PV}.tar.gz \
8 file://${INITSCRIPT_NAME}.init \ 8 file://samhain-cross-compile.patch \
9 file://${INITSCRIPT_NAME}.default \ 9 file://samhain-mips64-aarch64-dnmalloc-hash-fix.patch \
10 " 10 file://samhain-samhainrc.patch \
11 11 file://samhain-samhainrc-fix-files-dirs-path.patch \
12SRC_URI[md5sum] = "6de1060d6e79c4893d8d89d5cbd3c1b0" 12 file://samhain-pid-path.patch \
13SRC_URI[sha256sum] = "93beabb19ac68fb5336a3d8f6b5414de05a460ff6982c41a4e3fb2082e769791" 13 file://samhain-sha256-big-endian.patch \
14 file://samhain-configure-add-option-for-ps.patch \
15 file://${INITSCRIPT_NAME}.init \
16 file://${INITSCRIPT_NAME}.default \
17 file://samhain.service \
18 "
19
20SRC_URI[md5sum] = "f499d5d06bfd1d787073a45bf28dd60f"
21SRC_URI[sha256sum] = "0f3e64afb3f00064c9b136d34a72d580cd41248c5941eba0452f364a109003c7"
14 22
15S = "${WORKDIR}/samhain-${PV}" 23S = "${WORKDIR}/samhain-${PV}"
16 24
17inherit autotools-brokensep update-rc.d pkgconfig 25inherit autotools-brokensep update-rc.d pkgconfig systemd
18 26
19SAMHAIN_PORT ??= "49777" 27SAMHAIN_PORT ??= "49777"
20SAMHAIN_SERVER ??= "NULL" 28SAMHAIN_SERVER ??= "NULL"
21 29
22INITSCRIPT_NAME = "samhain-${SAMHAIN_MODE}" 30INITSCRIPT_NAME = "${BPN}"
23INITSCRIPT_PARAMS ?= "defaults" 31INITSCRIPT_PARAMS ?= "defaults"
24 32
25 33SYSTEMD_PACKAGES = "${PN}"
26PACKAGECONFIG ??= "" 34SYSTEMD_SERVICE_${PN} = "${INITSCRIPT_NAME}.service"
35SYSTEMD_AUTO_ENABLE = "disable"
36
37# mode mapping:
38# BPN MODE_NAME SAMHAIN_MODE
39# samhain-standalone standalone no
40# samhain-client client client
41# samhain-server server server
42MODE_NAME = "${@d.getVar('BPN').split('-')[1]}"
43SAMHAIN_MODE = "${@oe.utils.ifelse(d.getVar('MODE_NAME') == 'standalone', 'no', '${MODE_NAME}')}"
44
45# supports mysql|postgresql|oracle|odbc but postgresql is the only one available
46
47PACKAGECONFIG ??= "postgresql ps"
48PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
49PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)}"
50PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}"
51
52PACKAGECONFIG[postgres] = "--with-database=postgresql --enable-xml-log, "", postgresql"
53PACKAGECONFIG[suidcheck] = "--enable-suidcheck","" , "
54PACKAGECONFIG[logwatch] = "--enable-login-watch,"" , "
55PACKAGECONFIG[mounts] = "--enable-mounts-check","" , "
56PACKAGECONFIG[userfiles] = "--enable-userfiles","" , "
57PACKAGECONFIG[ipv6] = "--enable-ipv6,"--disable-ipv6","
58PACKAGECONFIG[selinux] = "--enable-selinux, --disable-selinux, libselinux"
59PACKAGECONFIG[acl] = " --enable-posix-acl , --disable-posix-acl, acl"
60PACKAGECONFIG[audit] = "ac_cv_header_auparse_h=yes,ac_cv_header_auparse_h=no,audit"
61PACKAGECONFIG[ps] = "--with-ps-path=${base_bindir}/ps,,,procps"
27 62
28do_unpack_samhain() { 63do_unpack_samhain() {
29 cd ${WORKDIR} 64 cd ${WORKDIR}
@@ -72,6 +107,9 @@ do_configure () {
72 --includedir=${includedir} \ 107 --includedir=${includedir} \
73 --infodir=${infodir} \ 108 --infodir=${infodir} \
74 --mandir=${mandir} \ 109 --mandir=${mandir} \
110 --enable-network=${SAMHAIN_MODE} \
111 --with-pid-file=${localstatedir}/run/samhain.pid \
112 --with-data-file=${localstatedir}/lib/samhain/samhain_file \
75 ${EXTRA_OECONF} 113 ${EXTRA_OECONF}
76} 114}
77 115
@@ -82,24 +120,36 @@ do_compile_prepend_libc-musl () {
82# Install the init script, it's default file, and the extraneous 120# Install the init script, it's default file, and the extraneous
83# documentation. 121# documentation.
84do_install_append () { 122do_install_append () {
85 cd ${S}
86 oe_runmake install DESTDIR='${D}' INSTALL=install-boot 123 oe_runmake install DESTDIR='${D}' INSTALL=install-boot
87 install -d ${D}${sysconfdir}/init.d 124
88 install -m 755 ${WORKDIR}/${INITSCRIPT_NAME}.init \ 125 install -D -m 755 ${WORKDIR}/${INITSCRIPT_NAME}.init \
89 ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} 126 ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
90 127
91 install -d ${D}${sysconfdir}/default 128 install -D -m 755 ${WORKDIR}/${INITSCRIPT_NAME}.default \
92 install -m 755 ${WORKDIR}/${INITSCRIPT_NAME}.default \
93 ${D}${sysconfdir}/default/${INITSCRIPT_NAME} 129 ${D}${sysconfdir}/default/${INITSCRIPT_NAME}
94 130
95 install -d ${D}${docdir}/${PN} 131 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
96 cp -r docs/* ${D}${docdir}/${PN} 132 if [ "${SAMHAIN_MODE}" = "no" ]; then
97 cp -r scripts ${D}${docdir}/${PN} 133 install -D -m 0644 ${WORKDIR}/samhain.service ${D}/${systemd_system_unitdir}/samhain.service
98 install -d -m 755 ${D}/var/samhain 134 else
135 install -D -m 0644 ${WORKDIR}/samhain.service ${D}/${systemd_system_unitdir}/${BPN}.service
136 fi
137 install -D -m 0755 ${WORKDIR}/${BPN}.init ${D}/${libexecdir}/${BPN}
138 sed -i -e 's,@LIBDIR@,${libexecdir},' \
139 -e 's,@SAMHAIN_HELPER@,${BPN},' \
140 -e 's,@MODE_NAME@,${MODE_NAME},' \
141 ${D}${systemd_system_unitdir}/samhain*.service
142 fi
143
144 install -d ${D}${docdir}/${BPN}
145 cp -r docs/* ${D}${docdir}/${BPN}
146 cp -r scripts ${D}${docdir}/${BPN}
147 install -d -m 755 ${D}${localstatedir}/samhain
148
149 # Prevent QA warnings about installed ${localstatedir}/run
150 if [ -d ${D}${localstatedir}/run ]; then
151 rmdir ${D}${localstatedir}/run
152 fi
99} 153}
100 154
101FILES_${PN} += "\ 155FILES_${PN} += "${systemd_system_unitdir}"
102 /run \
103 "
104
105INSANE_SKIP_${PN} = "already-stripped"