diff options
Diffstat (limited to 'recipes-security/samhain/samhain.inc')
-rw-r--r-- | recipes-security/samhain/samhain.inc | 98 |
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 | ||
7 | SRC_URI = "http://la-samhna.de/archive/samhain_signed-${PV}.tar.gz \ | 7 | SRC_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 \ | |
12 | SRC_URI[md5sum] = "6de1060d6e79c4893d8d89d5cbd3c1b0" | 12 | file://samhain-pid-path.patch \ |
13 | SRC_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 | |||
20 | SRC_URI[md5sum] = "f499d5d06bfd1d787073a45bf28dd60f" | ||
21 | SRC_URI[sha256sum] = "0f3e64afb3f00064c9b136d34a72d580cd41248c5941eba0452f364a109003c7" | ||
14 | 22 | ||
15 | S = "${WORKDIR}/samhain-${PV}" | 23 | S = "${WORKDIR}/samhain-${PV}" |
16 | 24 | ||
17 | inherit autotools-brokensep update-rc.d pkgconfig | 25 | inherit autotools-brokensep update-rc.d pkgconfig systemd |
18 | 26 | ||
19 | SAMHAIN_PORT ??= "49777" | 27 | SAMHAIN_PORT ??= "49777" |
20 | SAMHAIN_SERVER ??= "NULL" | 28 | SAMHAIN_SERVER ??= "NULL" |
21 | 29 | ||
22 | INITSCRIPT_NAME = "samhain-${SAMHAIN_MODE}" | 30 | INITSCRIPT_NAME = "${BPN}" |
23 | INITSCRIPT_PARAMS ?= "defaults" | 31 | INITSCRIPT_PARAMS ?= "defaults" |
24 | 32 | ||
25 | 33 | SYSTEMD_PACKAGES = "${PN}" | |
26 | PACKAGECONFIG ??= "" | 34 | SYSTEMD_SERVICE_${PN} = "${INITSCRIPT_NAME}.service" |
35 | SYSTEMD_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 | ||
42 | MODE_NAME = "${@d.getVar('BPN').split('-')[1]}" | ||
43 | SAMHAIN_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 | |||
47 | PACKAGECONFIG ??= "postgresql ps" | ||
48 | PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}" | ||
49 | PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)}" | ||
50 | PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}" | ||
51 | |||
52 | PACKAGECONFIG[postgres] = "--with-database=postgresql --enable-xml-log, "", postgresql" | ||
53 | PACKAGECONFIG[suidcheck] = "--enable-suidcheck","" , " | ||
54 | PACKAGECONFIG[logwatch] = "--enable-login-watch,"" , " | ||
55 | PACKAGECONFIG[mounts] = "--enable-mounts-check","" , " | ||
56 | PACKAGECONFIG[userfiles] = "--enable-userfiles","" , " | ||
57 | PACKAGECONFIG[ipv6] = "--enable-ipv6,"--disable-ipv6"," | ||
58 | PACKAGECONFIG[selinux] = "--enable-selinux, --disable-selinux, libselinux" | ||
59 | PACKAGECONFIG[acl] = " --enable-posix-acl , --disable-posix-acl, acl" | ||
60 | PACKAGECONFIG[audit] = "ac_cv_header_auparse_h=yes,ac_cv_header_auparse_h=no,audit" | ||
61 | PACKAGECONFIG[ps] = "--with-ps-path=${base_bindir}/ps,,,procps" | ||
27 | 62 | ||
28 | do_unpack_samhain() { | 63 | do_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. |
84 | do_install_append () { | 122 | do_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 | ||
101 | FILES_${PN} += "\ | 155 | FILES_${PN} += "${systemd_system_unitdir}" |
102 | /run \ | ||
103 | " | ||
104 | |||
105 | INSANE_SKIP_${PN} = "already-stripped" | ||