From f896bb055edb01931e4e3b79360aae86d7abb6b0 Mon Sep 17 00:00:00 2001 From: José Bollo Date: Tue, 13 Aug 2019 14:39:15 +0200 Subject: dbus-cynara: Simplifies build recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .../recipes-core/dbus/dbus-cynara_%.bbappend | 1 - .../recipes-core/dbus/dbus_%.bbappend | 8 ++--- .../conf/include/agl-appfw-smack.inc | 2 +- .../dbus-cynara/dbus-cynara_1.12.10.bb | 42 ---------------------- .../recipes-core/dbus-cynara/dbus_%.bbappend | 37 ------------------- .../recipes-core/dbus-cynara/dbus_1.12.10.bbappend | 13 +++++++ .../recipes-security/cynara/cynara_0.14.10.bb | 2 -- 7 files changed, 18 insertions(+), 87 deletions(-) delete mode 120000 meta-agl-profile-core/recipes-core/dbus/dbus-cynara_%.bbappend delete mode 100644 meta-security/recipes-core/dbus-cynara/dbus-cynara_1.12.10.bb delete mode 100644 meta-security/recipes-core/dbus-cynara/dbus_%.bbappend create mode 100644 meta-security/recipes-core/dbus-cynara/dbus_1.12.10.bbappend 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 ??= "" -- cgit 1.2.3-korg