Andrew Geissler | 615f2f1 | 2022-07-15 14:00:58 -0500 | [diff] [blame] | 1 | # |
| 2 | # Copyright 2022 Armin Kuster <akuster808@gmail.com> |
| 3 | # |
| 4 | # This class creates the initial aide database durning |
| 5 | # the build cycle allowing for that set being skipped during boot |
| 6 | # It has an additional benefit of having not being tamper with |
| 7 | # after build. |
| 8 | # |
| 9 | # To have the aide db created during build |
| 10 | # 1. Extend local.conf: |
| 11 | # INHERIT += "adie-init-db" |
| 12 | # |
| 13 | # These are the defaults as defined in aide-base.bbclass |
| 14 | # They can be overriden in your local.conf or other distro include |
| 15 | # |
| 16 | # To define where the share directory should be. |
| 17 | # STAGING_AIDE_DIR = "${TMPDIR}/work-shared/${MACHINE}/aida" |
| 18 | # |
| 19 | # To define which directories should be inclued in a scan |
| 20 | # AIDE_INCLUDE_DIRS ?= "/lib" |
| 21 | # |
| 22 | # To exclude directories and files from being scanned |
| 23 | # AIDE_SKIP_DIRS ?= "/lib/modules/.\*" |
| 24 | # |
| 25 | # To controll if a db init should happen at postint |
| 26 | # AIDE_SCAN_POSTINIT ?= "0" |
| 27 | # |
| 28 | # To cotroll if a db recan should be run at postinit |
| 29 | # AIDE_RESCAN_POSTINIT ?= "0" |
| 30 | |
| 31 | inherit aide-base |
| 32 | |
| 33 | aide_init_db() { |
| 34 | for dir in ${AIDE_INCLUDE_DIRS}; do |
| 35 | echo "${IMAGE_ROOTFS}${dir} NORMAL" >> ${STAGING_AIDE_DIR}/aide.conf |
| 36 | done |
| 37 | for dir in ${AIDE_SKIP_DIRS}; do |
| 38 | echo "!${IMAGE_ROOTFS}${dir}" >> ${STAGING_AIDE_DIR}/aide.conf |
| 39 | done |
| 40 | |
| 41 | |
| 42 | ${STAGING_AIDE_DIR}/bin/aide -c ${STAGING_AIDE_DIR}/aide.conf --init |
| 43 | gunzip ${STAGING_AIDE_DIR}/lib/aide.db.gz |
| 44 | # strip out native path |
| 45 | sed -i -e 's:${IMAGE_ROOTFS}::' ${STAGING_AIDE_DIR}/lib/aide.db |
| 46 | gzip -9 ${STAGING_AIDE_DIR}/lib/aide.db |
| 47 | cp -f ${STAGING_AIDE_DIR}/lib/aide.db.gz ${IMAGE_ROOTFS}${libdir}/aide |
| 48 | } |
| 49 | |
| 50 | EXTRA_IMAGEDEPENDS:append = " aide-native" |
| 51 | |
| 52 | ROOTFS_POSTPROCESS_COMMAND:append = " aide_init_db;" |