summaryrefslogtreecommitdiffstats
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
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>
l---------meta-agl-profile-core/recipes-core/dbus/dbus-cynara_%.bbappend1
-rw-r--r--meta-agl-profile-core/recipes-core/dbus/dbus_%.bbappend8
-rw-r--r--meta-app-framework/conf/include/agl-appfw-smack.inc2
-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
-rw-r--r--meta-security/recipes-security/cynara/cynara_0.14.10.bb2
7 files changed, 18 insertions, 87 deletions
diff --git a/meta-agl-profile-core/recipes-core/dbus/dbus-cynara_%.bbappend b/meta-agl-profile-core/recipes-core/dbus/dbus-cynara_%.bbappend
deleted file mode 120000
index fcdfb1783..000000000
--- a/meta-agl-profile-core/recipes-core/dbus/dbus-cynara_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-dbus_%.bbappend \ No newline at end of file
diff --git a/meta-agl-profile-core/recipes-core/dbus/dbus_%.bbappend b/meta-agl-profile-core/recipes-core/dbus/dbus_%.bbappend
index e63ea0f28..379c5435e 100644
--- a/meta-agl-profile-core/recipes-core/dbus/dbus_%.bbappend
+++ b/meta-agl-profile-core/recipes-core/dbus/dbus_%.bbappend
@@ -1,9 +1,9 @@
FILESEXTRAPATHS_append := ":${THISDIR}/dbus"
-SRC_URI_append = "file://dbus.service \
- file://dbus.socket \
- file://dbus_env.conf \
- "
+SRC_URI += "file://dbus.service \
+ file://dbus.socket \
+ file://dbus_env.conf \
+ "
inherit systemd
diff --git a/meta-app-framework/conf/include/agl-appfw-smack.inc b/meta-app-framework/conf/include/agl-appfw-smack.inc
index 95092a9ce..b6b998a9b 100644
--- a/meta-app-framework/conf/include/agl-appfw-smack.inc
+++ b/meta-app-framework/conf/include/agl-appfw-smack.inc
@@ -1,6 +1,6 @@
# enable security features (smack, cynara) - required by Application Framework
OVERRIDES .= ":with-lsm-smack"
-DISTRO_FEATURES_append = " smack dbus-cynara xattr"
+DISTRO_FEATURES_append = " smack xattr"
# use tar-native to support SMACK extended attributes independently of host config
IMAGE_CMD_TAR = "tar --xattrs --xattrs-include='*'"
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)}"
+
diff --git a/meta-security/recipes-security/cynara/cynara_0.14.10.bb b/meta-security/recipes-security/cynara/cynara_0.14.10.bb
index d2a09c693..765c17bca 100644
--- a/meta-security/recipes-security/cynara/cynara_0.14.10.bb
+++ b/meta-security/recipes-security/cynara/cynara_0.14.10.bb
@@ -19,9 +19,7 @@ SRC_URI += " \
"
DEPENDS = " \
-glib-2.0 \
systemd \
-zip \
"
PACKAGECONFIG ??= ""