aboutsummaryrefslogtreecommitdiffstats
path: root/meta-security/recipes-core
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2019-08-13 14:39:15 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2019-08-16 09:47:57 +0200
commitf896bb055edb01931e4e3b79360aae86d7abb6b0 (patch)
tree0356b211f338d460517f06c45fe54966683154a1 /meta-security/recipes-core
parentf5a64290ac4ee630234c2137256ed4fb848a35f1 (diff)
dbus-cynara: Simplifies build recipe
Simplifies the way of building dbus-cynara by removing the specific recipes in favour of a recipe for dbus that handles the class-target build feature. It requires to remove fake dependencies of cynara. This is a suggestion of Tom Rini. Bug-AGL: SPEC-1839 Change-Id: Id7a736eb4b73cdb679fa9dde30e9ad8e56c2894e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'meta-security/recipes-core')
-rw-r--r--meta-security/recipes-core/dbus-cynara/dbus-cynara_1.12.10.bb42
-rw-r--r--meta-security/recipes-core/dbus-cynara/dbus_%.bbappend37
-rw-r--r--meta-security/recipes-core/dbus-cynara/dbus_1.12.10.bbappend13
3 files changed, 13 insertions, 79 deletions
diff --git a/meta-security/recipes-core/dbus-cynara/dbus-cynara_1.12.10.bb b/meta-security/recipes-core/dbus-cynara/dbus-cynara_1.12.10.bb
deleted file mode 100644
index c54c594be..000000000
--- a/meta-security/recipes-core/dbus-cynara/dbus-cynara_1.12.10.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-require ${COREBASE}/meta/recipes-core/dbus/dbus_1.12.10.bb
-
-FILESEXTRAPATHS_prepend := "${COREBASE}/meta/recipes-core/dbus/dbus:${THISDIR}/dbus-cynara:"
-S = "${WORKDIR}/dbus-${PV}"
-
-SRC_URI_append = "\
- file://0001-Integration-of-Cynara-asynchronous-security-checks.patch \
- file://0002-Disable-message-dispatching-when-send-rule-result-is.patch \
- file://0003-Handle-unavailability-of-policy-results-for-broadcas.patch \
- file://0004-Add-own-rule-result-unavailability-handling.patch \
- file://0005-Perform-Cynara-runtime-policy-checks-by-default.patch \
- file://0006-Fix-gcc-8-warnings.patch \
-"
-
-DEPENDS += "cynara smack"
-RDEPENDS_${PN} += "dbus"
-
-EXTRA_OECONF += "--enable-cynara --disable-selinux"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES += "smack"
-
-# Only the main package gets created here, everything else remains in the
-# normal dbus recipe.
-do_install_append () {
- for i in ${@' '.join([d.getVar('D', True) + x for x in (' '.join([d.getVar('FILES_${PN}-' + p, True) or '' for p in ['lib', 'dev', 'staticdev', 'doc', 'locale', 'ptest']])).split()])}; do
- rm -rf $i
- done
-
- # Try to remove empty directories, starting with the
- # longest path (= deepest directory) first.
- # Find needs a valid current directory. Somehow the directory
- # we get called in is gone by the time that we get invoked.
- ( cd ${D}
- for i in `find . -type d | sort -r`; do
- rmdir $i || true
- done
- )
-}
-
-# Avoid warning about dbus and dbus-cynara providing dbus-x11.
-RPROVIDES_${PN}_remove = "${OLDPKGNAME}"
diff --git a/meta-security/recipes-core/dbus-cynara/dbus_%.bbappend b/meta-security/recipes-core/dbus-cynara/dbus_%.bbappend
deleted file mode 100644
index 2923c5c18..000000000
--- a/meta-security/recipes-core/dbus-cynara/dbus_%.bbappend
+++ /dev/null
@@ -1,37 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/dbus-cynara:"
-
-SRC_URI_append = "\
- file://0001-Integration-of-Cynara-asynchronous-security-checks.patch \
- file://0002-Disable-message-dispatching-when-send-rule-result-is.patch \
- file://0003-Handle-unavailability-of-policy-results-for-broadcas.patch \
- file://0004-Add-own-rule-result-unavailability-handling.patch \
- file://0005-Perform-Cynara-runtime-policy-checks-by-default.patch \
-"
-
-# Optionally, compilation of the main package with the daemon gets moved into
-# dbus-cynara. That is necessary to break a dependency cycle once the
-# daemon gets compiled with Cynara support (dbus -> cynara -> systemd
-# -> dbus).
-do_install_append_class-target () {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'dbus-cynara', 'true', 'false', d)}; then
- for i in ${@' '.join([d.getVar('D', True) + x for x in (d.getVar('FILES_${PN}', True) or '').split()])}; do
- rm -rf $i
- done
-
- # Try to remove empty directories, starting with the
- # longest path (= deepest directory) first.
- # Find needs a valid current directory. Somehow the directory
- # we get called in is gone by the time that we get invoked.
- ( cd ${D}
- for i in `find . -type d | sort -r`; do
- rmdir $i || true
- done
- )
- fi
-}
-
-# The main package will be empty, but we want to have it created
-# anyway because of the dependencies on it. Installing it will pull in
-# the replacement dbus-cynara package.
-ALLOW_EMPTY_${PN}_class-target = "1"
-RDEPENDS_${PN}_append_class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'dbus-cynara', ' dbus-cynara', '', d)}"
diff --git a/meta-security/recipes-core/dbus-cynara/dbus_1.12.10.bbappend b/meta-security/recipes-core/dbus-cynara/dbus_1.12.10.bbappend
new file mode 100644
index 000000000..c8f7b5d53
--- /dev/null
+++ b/meta-security/recipes-core/dbus-cynara/dbus_1.12.10.bbappend
@@ -0,0 +1,13 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/dbus-cynara:"
+
+SRC_URI_append_class-target = "\
+ file://0001-Integration-of-Cynara-asynchronous-security-checks.patch \
+ file://0002-Disable-message-dispatching-when-send-rule-result-is.patch \
+ file://0003-Handle-unavailability-of-policy-results-for-broadcas.patch \
+ file://0004-Add-own-rule-result-unavailability-handling.patch \
+ file://0005-Perform-Cynara-runtime-policy-checks-by-default.patch \
+"
+
+DEPENDS_append_class-target = " cynara smack"
+EXTRA_OECONF_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES','smack','--enable-cynara --disable-selinux','',d)}"
+