From d468ce3b3d602f7c8a88d67126a32900b76fd433 Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Mon, 18 Oct 2021 14:07:53 +0200 Subject: Prepare master for new framework integration During the last workshop the transition to the new framework was presented. This change essentially deprecates the SMACK-based application framework. To prepare the integration of it, we remove the deprecated components: - meta-agl-core: remove Smack kernel patches - meta-app-framework - meta-pipewire/dynamic-layers/meta-app-framework/ v2: rebased Bug-AGL: SPEC-4121 Signed-off-by: Jan-Simon Moeller Change-Id: Icdaeadfb5d2193f3a4c535168c88da6073423e67 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26752 --- .../recipes-core/af-main/af-main_git.bb | 122 --------------------- .../recipes-core/af-main/af-main_git.inc | 30 ----- .../recipes-core/af-main/nativesdk-af-main_git.bb | 27 ----- 3 files changed, 179 deletions(-) delete mode 100644 meta-app-framework/recipes-core/af-main/af-main_git.bb delete mode 100644 meta-app-framework/recipes-core/af-main/af-main_git.inc delete mode 100644 meta-app-framework/recipes-core/af-main/nativesdk-af-main_git.bb (limited to 'meta-app-framework/recipes-core/af-main') diff --git a/meta-app-framework/recipes-core/af-main/af-main_git.bb b/meta-app-framework/recipes-core/af-main/af-main_git.bb deleted file mode 100644 index 8e72e4572..000000000 --- a/meta-app-framework/recipes-core/af-main/af-main_git.bb +++ /dev/null @@ -1,122 +0,0 @@ -require af-main_${PV}.inc - -# NOTE: using libcap-native and setcap in install doesn't work -# NOTE: maybe setting afm_name to agl-framework is cleaner but has implications -# NOTE: there is a hack of security for using groups and dbus (to be checked) -# NOTE: using ZIP programs creates directories with mode 777 (very bad) - -inherit cmake pkgconfig useradd systemd -BBCLASSEXTEND = "native" - -SECTION = "base" - -DEPENDS = "openssl libxml2 xmlsec1 systemd libzip json-c systemd security-manager af-binder sed m4" -DEPENDS:class-native = "openssl libxml2 xmlsec1 libzip json-c" -RDEPENDS:${PN}:class-target += "af-binder-tools nss-localuser cynagoauth" - -PACKAGE_WRITE_DEPS:append:with-lsm-smack = " smack-native libcap-native" - -EXTRA_OECMAKE:append:class-native = "\ - -DUSE_LIBZIP=1 \ - -DUSE_SIMULATION=1 \ - -DUSE_SDK=1 \ - -DAGLVERSION=${AGLVERSION} \ - -Dafm_name=${afm_name} \ - -Dafm_confdir=${afm_confdir} \ - -Dafm_datadir=${afm_datadir} \ -" - -EXTRA_OECMAKE:append:class-target = "\ - -DUSE_LIBZIP=1 \ - -DUSE_SIMULATION=0 \ - -DUSE_SDK=0 \ - -DAGLVERSION=${AGLVERSION} \ - -Dafm_name=${afm_name} \ - -Dafm_confdir=${afm_confdir} \ - -Dafm_datadir=${afm_datadir} \ - -Dsystemd_units_root=${systemd_units_root} \ - -DUNITDIR_USER=${systemd_user_unitdir} \ - -DUNITDIR_SYSTEM=${systemd_system_unitdir} \ -" - -# ------------------------ WARNING WARNING WARNNING --------------------------- -# -# ATM (FF.rc2), forcing all apps to be signed is an issue when building without -# agl-devel feature. A workaround is to define ALLOW_NO_SIGNATURE=ON for all -# builds but this must be removed later. See SPEC-1614 for more details. -# -# A variable AGL_FORBID_UNSIGNED_APPS is introduced to enable/disable this -# workaround in local.conf and allow transition to signed apps: -# * forbid unsigned apps by setting: AGL_FORBID_UNSIGNED_APPS="1" -# * [DEFAULT] allow unsigned apps: do nothing (or set: AGL_FORBID_UNSIGNED_APPS="0") -AGL_FORBID_UNSIGNED_APPS ?= "0" -# -# WORKAROUND: -EXTRA_OECMAKE:append:agl-devel = " -DAGL_DEVEL=1" -EXTRA_OECMAKE:append = " ${@bb.utils.contains('AGL_FORBID_UNSIGNED_APPS','1','','-DALLOW_NO_SIGNATURE=ON', d)}" -# -# Correct version (IMPORTANT TODO: to be restored later): -#EXTRA_OECMAKE:append:agl-devel = " -DAGL_DEVEL=1 -DALLOW_NO_SIGNATURE=ON" -# -# ------------------------ WARNING WARNING WARNNING --------------------------- - - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --gid ${afm_name} --home-dir ${afm_datadir} ${afm_name}" -GROUPADD_PARAM:${PN} = "--system ${afm_name}" - -RDEPENDS:${PN}:append:with-lsm-smack = " smack bash" -DEPENDS:append:with-lsm-smack = " smack-native" - -do_install:append:class-target() { - install -d ${D}${bindir} - install -d -m 0775 ${D}${systemd_units_root}/system - install -d -m 0775 "${D}${systemd_units_root}/system/multi-user.target.wants" - install -d -m 0775 "${D}${systemd_units_root}/system/afm-user-session@.target.wants" - install -d -m 0775 ${D}${systemd_units_root}/user - install -d -m 0775 ${D}${systemd_units_root}/user/default.target.wants - install -d -m 0775 ${D}${systemd_units_root}/user/sockets.target.wants - install -d ${D}${afm_datadir}/applications - install -d ${D}${afm_datadir}/icons - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d -m 0755 ${D}${systemd_system_unitdir}/multi-user.target.wants - install -d -m 0755 ${D}${systemd_system_unitdir}/sockets.target.wants - ln -sf ../afm-system-setup.service ${D}${systemd_system_unitdir}/multi-user.target.wants/afm-system-setup.service - ln -sf ../afm-system-daemon.service ${D}${systemd_system_unitdir}/multi-user.target.wants/afm-system-daemon.service - ln -sf ../afm-system-daemon.socket ${D}${systemd_system_unitdir}/sockets.target.wants/afm-system-daemon.socket - fi -} - -pkg_postinst_ontarget:${PN}() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - chgrp ${afm_name} $D${systemd_units_root}/system - chgrp ${afm_name} $D${systemd_units_root}/system/afm-user-session@.target.wants - chgrp ${afm_name} $D${systemd_units_root}/user/default.target.wants - chgrp ${afm_name} $D${systemd_units_root}/user/sockets.target.wants - fi - chown ${afm_name}:${afm_name} $D${afm_datadir} - chown ${afm_name}:${afm_name} $D${afm_datadir}/applications - chown ${afm_name}:${afm_name} $D${afm_datadir}/icons -} - -pkg_postinst_ontarget:${PN}:append:with-lsm-smack() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - chsmack -a 'System::Shared' -t $D${systemd_units_root}/system - chsmack -a 'System::Shared' -t $D${systemd_units_root}/system/afm-user-session@.target.wants - chsmack -a 'System::Shared' -t $D${systemd_units_root}/user/default.target.wants - chsmack -a 'System::Shared' -t $D${systemd_units_root}/user/sockets.target.wants - fi - chsmack -a 'System::Shared' -t $D${afm_datadir} - chsmack -a 'System::Shared' -t $D${afm_datadir}/applications - chsmack -a 'System::Shared' -t $D${afm_datadir}/icons -} -FILES:${PN} += "${systemd_units_root}/* ${systemd_system_unitdir} ${systemd_user_unitdir}" -FILES:${PN}:append:agl-sign-wgts = " ${datadir}/afm" - -PACKAGES =+ "${PN}-binding ${PN}-binding-dbg" -FILES:${PN}-binding = " ${afb_binding_dir}/afm-main-binding.so " -FILES:${PN}-binding-dbg = " ${afb_binding_dir}/.debug/afm-main-binding.so " - -PACKAGES =+ "${PN}-tools ${PN}-tools-dbg" -FILES:${PN}-tools = "${bindir}/wgtpkg-*" -FILES:${PN}-tools-dbg = "${bindir}/.debug/wgtpkg-*" diff --git a/meta-app-framework/recipes-core/af-main/af-main_git.inc b/meta-app-framework/recipes-core/af-main/af-main_git.inc deleted file mode 100644 index 11d563a34..000000000 --- a/meta-app-framework/recipes-core/af-main/af-main_git.inc +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "AGL Framework Main part" -DESCRIPTION = "\ -This is a core framework component for managing \ -applications, widgets, and components. \ -" - -HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/app-framework-main" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/app-framework-main;protocol=https;branch=${AGL_BRANCH}" - -SRCREV = "3ea6f4a404d2486ef1c5da55f1cd0d98c594f157" -PV = "${AGL_BRANCH}+git${SRCPV}" - -S = "${WORKDIR}/git" - -afm_name = "afm" -afm_confdir = "${sysconfdir}/${afm_name}" -afm_datadir = "/var/local/lib/${afm_name}" -afb_binding_dir = "${libdir}/afb" -systemd_units_root = "/var/local/lib/systemd" - -CFLAGS:append:agl-devel = " -DAGL_DEVEL" -# only install sample keys in agl-devel mode -# for production you need to deploy real keys -EXTRA_OECMAKE:append:agl-sign-wgts = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', '-DINSTALL_SAMPLE_KEYS=ON', '-DINSTALL_SAMPLE_KEYS=OFF', d)}" - - - diff --git a/meta-app-framework/recipes-core/af-main/nativesdk-af-main_git.bb b/meta-app-framework/recipes-core/af-main/nativesdk-af-main_git.bb deleted file mode 100644 index 4564831a8..000000000 --- a/meta-app-framework/recipes-core/af-main/nativesdk-af-main_git.bb +++ /dev/null @@ -1,27 +0,0 @@ -require af-main_${PV}.inc - -inherit nativesdk cmake pkgconfig - -SECTION = "base" - -DEPENDS = "nativesdk-openssl nativesdk-libxml2 nativesdk-xmlsec1 nativesdk-libzip nativesdk-json-c" - -EXTRA_OECMAKE = "\ - -DUSE_LIBZIP=1 \ - -DUSE_SIMULATION=1 \ - -DUSE_SDK=1 \ - -DAGLVERSION=${AGLVERSION} \ - -Dafm_name=${afm_name} \ - -Dafm_confdir=${afm_confdir} \ - -Dafm_datadir=${afm_datadir} \ -" - -do_install:append() { - # remove unused .pc file we don't want to package - rm -rf ${D}/${libdir} -} - -PACKAGES = "${PN}-tools ${PN}-tools-dbg" -FILES:${PN}-tools = "${bindir}/wgtpkg-* ${afm_confdir}/*" -FILES:${PN}-tools:append:agl-sign-wgts = " ${datadir}/afm" -FILES:${PN}-tools-dbg = "${bindir}/.debug/wgtpkg-*" -- cgit 1.2.3-korg