af-main: set relax handling for apps signatures even when agl-devel is not set
[AGL/meta-agl.git] / meta-app-framework / recipes-core / af-main / af-main_1.0.bb
index 69df39e..c1f85bd 100644 (file)
@@ -14,7 +14,7 @@ DEPENDS = "openssl libxml2 xmlsec1 systemd libzip json-c systemd security-manage
 DEPENDS_class-native = "openssl libxml2 xmlsec1 libzip json-c"
 RDEPENDS_${PN}_class-target += "af-binder-tools"
 
-PACKAGE_WRITE_DEPS_append_with-lsm-smack = " smack-userspace-native libcap-native"
+PACKAGE_WRITE_DEPS_append_with-lsm-smack = " smack-native libcap-native"
 
 EXTRA_OECMAKE_class-native  = "\
        -DUSE_LIBZIP=1 \
@@ -37,7 +37,27 @@ EXTRA_OECMAKE = "\
        -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} = "-g ${afm_name} -d ${afm_datadir} -r ${afm_name}"
@@ -46,8 +66,8 @@ GROUPADD_PARAM_${PN} = "-r ${afm_name}"
 FILES_${PN} += "\
        ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_user_unitdir}/afm-user-daemon.service', '', d)} \
 "
-RDEPENDS_${PN}_append_with-lsm-smack = " smack-userspace bash"
-DEPENDS_append_with-lsm-smack = " smack-userspace-native"
+RDEPENDS_${PN}_append_with-lsm-smack = " smack bash"
+DEPENDS_append_with-lsm-smack = " smack-native"
 
 # short hacks here
 SRC_URI += "\
@@ -66,9 +86,11 @@ do_install_append_class-target() {
     if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
         install -d -m 0755 ${D}${systemd_user_unitdir}/default.target.wants
         ln -s ../afm-user-daemon.service ${D}${systemd_user_unitdir}/default.target.wants/afm-user-daemon.service
-        install -d -m 0755 ${D}${systemd_system_unitdir}/default.target.wants
+        ln -s ../afm-user-session.service ${D}${systemd_user_unitdir}/default.target.wants/afm-user-session.service
+        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-daemon.service ${D}${systemd_system_unitdir}/default.target.wants/afm-system-daemon.service
+        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
     echo "QT_WAYLAND_SHELL_INTEGRATION=ivi-shell" > ${D}${afm_confdir}/unit.env.d/qt-for-ivi-shell