weston-ini-conf: Add bbappend to generate Flutter demo config 48/28148/3
authorScott Murray <scott.murray@konsulko.com>
Mon, 21 Nov 2022 07:54:41 +0000 (02:54 -0500)
committerScott Murray <scott.murray@konsulko.com>
Mon, 21 Nov 2022 21:38:19 +0000 (16:38 -0500)
The Flutter homescreen in the Flutter demo image currently requires
specifying the application activation area in the output sections in
the weston.ini configuration for the compositor.  Add a bbappend that
creates a weston-ini-conf-flutter package with the required .ini.

Bug-AGL: SPEC-4615

Change-Id: I59ef74abb8957ea2ad8b13b6de014662a2a867c8
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
recipes-graphics/wayland/weston-ini-conf.bbappend [new file with mode: 0644]
recipes-graphics/wayland/weston-ini-conf_aglflutter.inc [new file with mode: 0644]

diff --git a/recipes-graphics/wayland/weston-ini-conf.bbappend b/recipes-graphics/wayland/weston-ini-conf.bbappend
new file mode 100644 (file)
index 0000000..b509b38
--- /dev/null
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'agl-flutter', 'weston-ini-conf_aglflutter.inc', '', d)}
diff --git a/recipes-graphics/wayland/weston-ini-conf_aglflutter.inc b/recipes-graphics/wayland/weston-ini-conf_aglflutter.inc
new file mode 100644 (file)
index 0000000..84e88e1
--- /dev/null
@@ -0,0 +1,26 @@
+do_compile:append() {
+    # Put all of our cfg files together for a default portrait
+    # orientation configuration
+    rm -f ${WORKDIR}/weston.ini.flutter
+    for F in ${WESTON_FRAGMENTS}; do
+        cat ${WORKDIR}/${F}.cfg >> ${WORKDIR}/weston.ini.flutter
+       if grep -q '\[output\]' ${WORKDIR}/${F}.cfg; then
+            echo "activation-area=1080x1600+0,160" >> ${WORKDIR}/weston.ini.flutter
+        fi
+        echo >> ${WORKDIR}/weston.ini.flutter
+    done
+    sed -i -e '$ d' ${WORKDIR}/weston.ini.flutter
+}
+
+do_install:append() {
+    install -m 0644 ${WORKDIR}/weston.ini.flutter ${D}${weston_ini_dir}/
+}
+
+PACKAGE_BEFORE_PN += "${PN}-flutter"
+
+FILES:${PN}-flutter = "${weston_ini_dir}/weston.ini.flutter"
+
+RPROVIDES:${PN}-flutter = "weston-ini"
+RCONFLICTS:${PN}-flutter = "${PN}"
+ALTERNATIVE:${PN}-flutter = "weston.ini"
+ALTERNATIVE_TARGET_${PN}-flutter = "${weston_ini_dir}/weston.ini.flutter"