From 9e98469b22f450f21d8ddbc8d9461836b13e2c73 Mon Sep 17 00:00:00 2001 From: fabian Date: Sat, 9 Mar 2024 14:44:01 +0100 Subject: [PATCH] finalize --- poky/.gitignore | 1 + poky/meta-flutter-elinux/COPYING.MIT | 17 +++++++ poky/meta-flutter-elinux/README | 41 ++++++++++++++++ poky/meta-flutter-elinux/conf/layer.conf | 13 ++++++ .../files/wpa_supplicant-nl80211-wlan0.conf | 4 ++ .../wpa-supplicant/wpa-supplicant_%.bbappend | 14 ++++++ .../custom-scripts/files/flutter-auto-launch | 2 + .../flutter-auto-launch_1.00.bb | 9 ++++ .../devices/flutter-auto-setup_1.00.bb | 9 ++++ .../devices/flutter-pi-setup_1.00.bb | 6 +++ .../recipes-core/devices/pi0w2-setup_1.00.bb | 15 ++++++ .../recipes-core/devices/pi4-setup_1.00.bb | 15 ++++++ .../flutter-elinux-auto_1.00.bb | 15 ++++++ .../flutter-elinux-pi_1.00.bb | 15 ++++++ .../files/90-interfaces.rules | 12 +++++ .../flutter-elinux-rules_1.00.bb | 11 +++++ .../flutter-user/flutter-user_1.00.bb | 34 ++++++++++++++ .../libraries/files/libflutter_pty.so | Bin 0 -> 24032 bytes .../libraries/files/libperiphery_arm.so | Bin 0 -> 66052 bytes .../libraries/files/libperiphery_arm64.so | Bin 0 -> 81168 bytes .../libraries/flutter-libraries_1.00.bb | 18 +++++++ .../systemd-conf/files/en.network | 10 ++++ .../systemd-conf/files/eth.network | 10 ++++ .../systemd-conf/files/wlan.network | 10 ++++ .../systemd-conf/systemd-conf_%.bbappend | 20 ++++++++ .../systemd/files/flutter-auto.service | 44 ++++++++++++++++++ .../systemd/files/flutter-pi.service | 44 ++++++++++++++++++ .../systemd/flutter-auto-service_1.00.bb | 13 ++++++ .../systemd/flutter-pi-service_1.00.bb | 13 ++++++ .../recipes-core/systemd/systemd_%.bbappend | 2 + .../recipes-extended/sudo_%.bbappend | 11 +++++ 31 files changed, 428 insertions(+) create mode 100644 poky/meta-flutter-elinux/COPYING.MIT create mode 100644 poky/meta-flutter-elinux/README create mode 100644 poky/meta-flutter-elinux/conf/layer.conf create mode 100644 poky/meta-flutter-elinux/recipes-connectivity/wpa-supplicant/files/wpa_supplicant-nl80211-wlan0.conf create mode 100644 poky/meta-flutter-elinux/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend create mode 100644 poky/meta-flutter-elinux/recipes-core/custom-scripts/files/flutter-auto-launch create mode 100644 poky/meta-flutter-elinux/recipes-core/custom-scripts/flutter-auto-launch_1.00.bb create mode 100644 poky/meta-flutter-elinux/recipes-core/devices/flutter-auto-setup_1.00.bb create mode 100644 poky/meta-flutter-elinux/recipes-core/devices/flutter-pi-setup_1.00.bb create mode 100644 poky/meta-flutter-elinux/recipes-core/devices/pi0w2-setup_1.00.bb create mode 100644 poky/meta-flutter-elinux/recipes-core/devices/pi4-setup_1.00.bb create mode 100644 poky/meta-flutter-elinux/recipes-core/flutter-elinux-auto/flutter-elinux-auto_1.00.bb create mode 100644 poky/meta-flutter-elinux/recipes-core/flutter-elinux-auto/flutter-elinux-pi_1.00.bb create mode 100644 poky/meta-flutter-elinux/recipes-core/flutter-elinux-rules/files/90-interfaces.rules create mode 100644 poky/meta-flutter-elinux/recipes-core/flutter-elinux-rules/flutter-elinux-rules_1.00.bb create mode 100644 poky/meta-flutter-elinux/recipes-core/flutter-user/flutter-user_1.00.bb create mode 100755 poky/meta-flutter-elinux/recipes-core/libraries/files/libflutter_pty.so create mode 100644 poky/meta-flutter-elinux/recipes-core/libraries/files/libperiphery_arm.so create mode 100644 poky/meta-flutter-elinux/recipes-core/libraries/files/libperiphery_arm64.so create mode 100644 poky/meta-flutter-elinux/recipes-core/libraries/flutter-libraries_1.00.bb create mode 100644 poky/meta-flutter-elinux/recipes-core/systemd-conf/files/en.network create mode 100644 poky/meta-flutter-elinux/recipes-core/systemd-conf/files/eth.network create mode 100644 poky/meta-flutter-elinux/recipes-core/systemd-conf/files/wlan.network create mode 100644 poky/meta-flutter-elinux/recipes-core/systemd-conf/systemd-conf_%.bbappend create mode 100644 poky/meta-flutter-elinux/recipes-core/systemd/files/flutter-auto.service create mode 100644 poky/meta-flutter-elinux/recipes-core/systemd/files/flutter-pi.service create mode 100644 poky/meta-flutter-elinux/recipes-core/systemd/flutter-auto-service_1.00.bb create mode 100644 poky/meta-flutter-elinux/recipes-core/systemd/flutter-pi-service_1.00.bb create mode 100644 poky/meta-flutter-elinux/recipes-core/systemd/systemd_%.bbappend create mode 100644 poky/meta-flutter-elinux/recipes-extended/sudo_%.bbappend diff --git a/poky/.gitignore b/poky/.gitignore index 261044d..4fd8b73 100644 --- a/poky/.gitignore +++ b/poky/.gitignore @@ -29,6 +29,7 @@ hob-image-*.bb !meta-mender !meta-mender-community !meta-flutter-apps +!meta-flutter-elinux /documentation/*/eclipse/ /documentation/*/*.html /documentation/*/*.pdf diff --git a/poky/meta-flutter-elinux/COPYING.MIT b/poky/meta-flutter-elinux/COPYING.MIT new file mode 100644 index 0000000..fb950dc --- /dev/null +++ b/poky/meta-flutter-elinux/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/poky/meta-flutter-elinux/README b/poky/meta-flutter-elinux/README new file mode 100644 index 0000000..a207bb0 --- /dev/null +++ b/poky/meta-flutter-elinux/README @@ -0,0 +1,41 @@ +This README file contains information on the contents of the meta-stargazer layer. + +Please see the corresponding sections below for details. + +Dependencies +============ + + URI: + branch: + + URI: + branch: + + . + . + . + +Patches +======= + +Please submit any patches against the meta-stargazer layer to the xxxx mailing list (xxxx@zzzz.org) +and cc: the maintainer: + +Maintainer: XXX YYYYYY + +Table of Contents +================= + + I. Adding the meta-stargazer layer to your build + II. Misc + + +I. Adding the meta-stargazer layer to your build +================================================= + +Run 'bitbake-layers add-layer meta-stargazer' + +II. Misc +======== + +--- replace with specific information about the meta-stargazer layer --- diff --git a/poky/meta-flutter-elinux/conf/layer.conf b/poky/meta-flutter-elinux/conf/layer.conf new file mode 100644 index 0000000..24495d6 --- /dev/null +++ b/poky/meta-flutter-elinux/conf/layer.conf @@ -0,0 +1,13 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "meta-stargazer" +BBFILE_PATTERN_meta-stargazer = "^${LAYERDIR}/" +BBFILE_PRIORITY_meta-stargazer = "6" + +LAYERDEPENDS_meta-stargazer = "core" +LAYERSERIES_COMPAT_meta-stargazer = "kirkstone" diff --git a/poky/meta-flutter-elinux/recipes-connectivity/wpa-supplicant/files/wpa_supplicant-nl80211-wlan0.conf b/poky/meta-flutter-elinux/recipes-connectivity/wpa-supplicant/files/wpa_supplicant-nl80211-wlan0.conf new file mode 100644 index 0000000..b214a2c --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-connectivity/wpa-supplicant/files/wpa_supplicant-nl80211-wlan0.conf @@ -0,0 +1,4 @@ +network={ + ssid="Pixel_8693" + psk=913bb5fe8b91473c9dd1d0d879f43af5f63e884250e3737dcf4b02955ea9f345 +} diff --git a/poky/meta-flutter-elinux/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend b/poky/meta-flutter-elinux/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend new file mode 100644 index 0000000..487f422 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend @@ -0,0 +1,14 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +SRC_URI += "file://wpa_supplicant-nl80211-wlan0.conf" + +SYSTEMD_AUTO_ENABLE = "enable" +SYSTEMD_SERVICE:${PN}:append = " wpa_supplicant-nl80211@wlan0.service " + +do_install:append () { + install -d ${D}${sysconfdir}/wpa_supplicant/ + install -D -m 600 ${WORKDIR}/wpa_supplicant-nl80211-wlan0.conf ${D}${sysconfdir}/wpa_supplicant/ + + install -d ${D}${sysconfdir}/systemd/system/multi-user.target.wants/ + ln -s ${systemd_unitdir}/system/wpa_supplicant@.service ${D}${sysconfdir}/systemd/system/multi-user.target.wants/wpa_supplicant-nl80211@wlan0.service +} \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/custom-scripts/files/flutter-auto-launch b/poky/meta-flutter-elinux/recipes-core/custom-scripts/files/flutter-auto-launch new file mode 100644 index 0000000..72d4cc3 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/custom-scripts/files/flutter-auto-launch @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +/usr/bin/flutter-auto --b=/flutter/flutter_elinux/3.19.2/release --c --f \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/custom-scripts/flutter-auto-launch_1.00.bb b/poky/meta-flutter-elinux/recipes-core/custom-scripts/flutter-auto-launch_1.00.bb new file mode 100644 index 0000000..26bdc80 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/custom-scripts/flutter-auto-launch_1.00.bb @@ -0,0 +1,9 @@ +LICENSE = "CLOSED" + +SRC_URI:append = " file://flutter-auto-launch " +FILES:${PN} += "/usr/local/bin/flutter-auto-launch" + +do_install:append() { + install -d ${D}/usr/local/bin + install -m 0777 ${WORKDIR}/flutter-auto-launch ${D}/usr/local/bin +} \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/devices/flutter-auto-setup_1.00.bb b/poky/meta-flutter-elinux/recipes-core/devices/flutter-auto-setup_1.00.bb new file mode 100644 index 0000000..30d5c4a --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/devices/flutter-auto-setup_1.00.bb @@ -0,0 +1,9 @@ +LICENSE = "CLOSED" + +IMAGE_INSTALL:append = " flutter-auto flutter-elinux flutter-auto-launch flutter-libraries kernel-image kernel-devicetree liberation-fonts networkmanager dhcpcd iptables iw linux-firmware ca-certificates gstreamer1.0-rtsp-server gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav libinput libxkbcommon tzdata alsa-utils alsa-lib bcm2835-dev" + +# needed for gstreamer-plugins-ugly: +LICENSE_FLAGS_ACCEPTED = "commercial" + +CORE_IMAGE_EXTRA_INSTALL += "wayland cage" +DISTRO_FEATURES:append = " wayland" \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/devices/flutter-pi-setup_1.00.bb b/poky/meta-flutter-elinux/recipes-core/devices/flutter-pi-setup_1.00.bb new file mode 100644 index 0000000..4f40d2a --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/devices/flutter-pi-setup_1.00.bb @@ -0,0 +1,6 @@ +LICENSE = "CLOSED" + +IMAGE_INSTALL:append = " flutter-pi flutter-elinux flutter-auto-launch flutter-libraries kernel-image kernel-devicetree liberation-fonts networkmanager dhcpcd iptables iw linux-firmware ca-certificates gstreamer1.0-rtsp-server gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav libinput libxkbcommon tzdata alsa-utils alsa-lib" + +# needed for gstreamer-plugins-ugly: +LICENSE_FLAGS_ACCEPTED = "commercial" \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/devices/pi0w2-setup_1.00.bb b/poky/meta-flutter-elinux/recipes-core/devices/pi0w2-setup_1.00.bb new file mode 100644 index 0000000..e3a933f --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/devices/pi0w2-setup_1.00.bb @@ -0,0 +1,15 @@ +LICENSE = "CLOSED" + +IMAGE_INSTALL:append = " linux-firmware-rpidistro-bcm43436s linux-firmware-bcm43455 bcm2835-dev" + +# meta-raspberry specific configuration for raspberry pi devices +DISABLE_OVERSCAN = "1" +DISABLE_SPLASH = "1" +GPU_MEM = "64" +DISABLE_RPI_BOOT_LOGO = "1" +ENABLE_SPI_BUS = "1" + +RPI_EXTRA_CONFIG = ' \n \ +dtparam=spi=on \n \ +dtparam=audio=on \n \ +' \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/devices/pi4-setup_1.00.bb b/poky/meta-flutter-elinux/recipes-core/devices/pi4-setup_1.00.bb new file mode 100644 index 0000000..b5a06c8 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/devices/pi4-setup_1.00.bb @@ -0,0 +1,15 @@ +LICENSE = "CLOSED" + +IMAGE_INSTALL:append = " linux-firmware-rpidistro-bcm43430 linux-firmware-bcm43455 bcm2835-dev" + +# meta-raspberry specific configuration for raspberry pi devices +DISABLE_OVERSCAN = "1" +DISABLE_SPLASH = "1" +GPU_MEM = "64" +DISABLE_RPI_BOOT_LOGO = "1" +ENABLE_SPI_BUS = "1" + +RPI_EXTRA_CONFIG = ' \n \ +dtparam=spi=on \n \ +dtparam=audio=on \n \ +' \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/flutter-elinux-auto/flutter-elinux-auto_1.00.bb b/poky/meta-flutter-elinux/recipes-core/flutter-elinux-auto/flutter-elinux-auto_1.00.bb new file mode 100644 index 0000000..a85ad4a --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/flutter-elinux-auto/flutter-elinux-auto_1.00.bb @@ -0,0 +1,15 @@ +SUMMARY = "" +DESCRIPTION = "" +LICENSE = "closed" + +FLUTTER_ELINUX_AUTOLAUNCH = "false" + +DEPENDS = "flutter-auto flutter-auto-launch ${@bb.utils.contains('FLUTTER_ELINUX_AUTOLAUNCH', 'true', 'flutter-auto-service', '', d)} flutter-elinux flutter-elinux-rules flutter-user" + + +# Installation task +do_install() { + # Since we only aim to install dependencies, there's + # nothing to install directly for this recipe itself. + : +} \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/flutter-elinux-auto/flutter-elinux-pi_1.00.bb b/poky/meta-flutter-elinux/recipes-core/flutter-elinux-auto/flutter-elinux-pi_1.00.bb new file mode 100644 index 0000000..0d44aa8 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/flutter-elinux-auto/flutter-elinux-pi_1.00.bb @@ -0,0 +1,15 @@ +SUMMARY = "" +DESCRIPTION = "" +LICENSE = "closed" + +FLUTTER_ELINUX_AUTOLAUNCH = "false" + +DEPENDS = "flutter-auto flutter-auto-launch ${@bb.utils.contains('FLUTTER_ELINUX_AUTOLAUNCH', 'true', 'flutter-auto-service', '', d)} flutter-elinux flutter-elinux-rules" + + +# Installation task +do_install() { + # Since we only aim to install dependencies, there's + # nothing to install directly for this recipe itself. + : +} \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/flutter-elinux-rules/files/90-interfaces.rules b/poky/meta-flutter-elinux/recipes-core/flutter-elinux-rules/files/90-interfaces.rules new file mode 100644 index 0000000..48f6cab --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/flutter-elinux-rules/files/90-interfaces.rules @@ -0,0 +1,12 @@ +SUBSYSTEM=="input", GROUP="input", MODE="0660" +SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660" +SUBSYSTEM=="spidev", GROUP="spi", MODE="0660" +SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0660" + +SUBSYSTEM=="gpio", GROUP="gpio", MODE="0660" +SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c '\ +chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio;\ +chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 +/sys/devices/virtual/gpio;\ +chown -R root:gpio /sys$devpath && chmod -R 770 /sys$devpath\ +'" \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/flutter-elinux-rules/flutter-elinux-rules_1.00.bb b/poky/meta-flutter-elinux/recipes-core/flutter-elinux-rules/flutter-elinux-rules_1.00.bb new file mode 100644 index 0000000..b5d4039 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/flutter-elinux-rules/flutter-elinux-rules_1.00.bb @@ -0,0 +1,11 @@ +LICENSE = "CLOSED" + +SRC_URI:append = " file://90-interfaces.rules" +FILES:${PN} += " /etc/udev/rules.d/90-interfaces.rules" + +do_install:append() { + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0666 ${WORKDIR}/90-interfaces.rules ${D}/etc/udev/rules.d/90-interfaces.rules +} + +PROVIDES = "my-rules" \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/flutter-user/flutter-user_1.00.bb b/poky/meta-flutter-elinux/recipes-core/flutter-user/flutter-user_1.00.bb new file mode 100644 index 0000000..c53d188 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/flutter-user/flutter-user_1.00.bb @@ -0,0 +1,34 @@ +SUMMARY = "Example recipe for using inherit useradd" +DESCRIPTION = "This recipe serves as an example for using features from useradd.bbclass" +SECTION = "examples" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +S = "${WORKDIR}" + +EXCLUDE_FROM_WORLD = "1" + +inherit useradd + +USERADD_PACKAGES = "${PN}" + +GROUPADD_PARAM:${PN} = "gpio; spi" + +USERADD_PARAM:${PN} = "-d /home/user1 -G input,video,gpio,spi -r -s /bin/bash user1;" + +do_install () { + install -d -m 755 ${D}${datadir}/user1 + + chown -R user1 ${D}${datadir}/user1 + + install -d -m 711 ${D}/home/user1 + chown -R user1 ${D}/home/user1 + chgrp -R user1 ${D}/home/user1 +} + +FILES:${PN} = "${datadir}/user1/ /home/user1" + +# Prevents do_package failures with: +# debugsources.list: No such file or directory: +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + diff --git a/poky/meta-flutter-elinux/recipes-core/libraries/files/libflutter_pty.so b/poky/meta-flutter-elinux/recipes-core/libraries/files/libflutter_pty.so new file mode 100755 index 0000000000000000000000000000000000000000..2a97ee553d86946e4630fa6021d67fd4c3b0b990 GIT binary patch literal 24032 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 Jf;M*b{~LW_wp0KB literal 0 HcmV?d00001 diff --git a/poky/meta-flutter-elinux/recipes-core/libraries/files/libperiphery_arm.so b/poky/meta-flutter-elinux/recipes-core/libraries/files/libperiphery_arm.so new file mode 100644 index 0000000000000000000000000000000000000000..5940d6abcdc108da24950f8964cf384821422081 GIT binary patch literal 66052 zcmeFa4R}=5wf}!6nLr2;ClZw+tp^3cHpqZzDPkQ26$NyZsMOMuKn971WXubq(%VFW zQYAGiTCYVJ6%{RQ(~6a**hag{dX}S1+~}M6qge62^U>@rByjJ^52W^Ypc%t+b35o zI_qO!T2c4$xofFAonRA+2-YymDw*AAMFORXypM#AKlQkhpXV)`YB!%^Ew+M%>1i|0 zzx&N}k#&=mmp`sBFE3zSZyz}RU|VGLPHX7-fr7%kk|{;`54K+a+eB$|0h9)9Ys&nw zg>$>Ci6=z=^O!*MZPxMEgl6qqeEyh^v<%r$9mp&0I{hajthw_e!4s@@(eiOZnP@S8 zlZYo1rV!2~NM2_V&L&JJ%plApoJ-K(d4veze1iUFyOA}A_yUtwbP?fV!X__`q_?(xbM0TBto!6&d!Bjyy647z zreeqL#1C%2Yu|OJKl|L*&&&Vz@-rV__&c>8DxEm zchZGl4c4r>F#7j%o<0AU`#y8`TZd2i-j)ZRy7rGV7yR)n3m-cCoz8iGEGa$ZyB(!J z{Bg~ysn;zis($D5PnG=UtiN7$TS@8fQ^nbO-+()J#+bG0+Qi0XcLks_LIQYG*ubcSGi!OM6;xUs}r$5uub>-ek)~<*C zdtT9ZRyOVXY~6R8?>=?c#Ch-h_&>{^xaIZ5uRSsC?md~vsXv_(-@5(rAN=gI)Bn)< zxup%?IPU(h|L2y6Zy#2lUAKMq8zZ0H@s&N}cRVoX({DY{)$)~VDkeYliP=9K|I}*@ zBi}hY^6BJhla{qvXDs~H&CkJ?OHOEcz2TJ27cNOySDpFtrw)E}={3Vn`_emmF8W03 zv5gnhuByA}*qQ?~p58a(t@Uf)J$U&|ug)m1h@NxZSvQwGdfl(K7eD@^Tkcr?1iTva z_||9s5Lo)%|DAf_n2+C5x#WbqZy5cp#w$C2Gj819N=K~z%-KV3da8TabBFW4(D|d| zU;N_hPwk1>&pdT!^Bb@C{O_;2uU%F0!zX_*>g8|jTJX-Nj{DJw%g_4W)1RrB)7Jd@ z=SHqr`tx6(aOy2T{EyfFdfeKd4=a1+_BD3!iH8Qo$U3t4EzD#c)klgi+uE!AdkJx?piJQ|4{t{_TH+vLv% z|K88QGn2m)dcx4_jql6w@6CmMD zGVqrSMP9c;gUNrB`VBG5T5s}SpuTafyOyi{bKvP>QdF4wQ>mZd;`%_Ue_Z(1!6Q?j zW<2AN?$9$v2q#r+`n~ z(e3vi(L+Crg{Od67s~K<2(mwwFlKk9i=A@~=7x{#d7gNUJ-&pz! z`sUkLz`xIje;D-6ncLU@-SjuDwQoE>1>f`=`uh7M^*dYo`1eElnFc<{aQgcm@!<>m z=EG;H2t%(oKmJO8D;D+jw-0`o!f$Urz6JhmxA%?r5bgIfzWD~fg*{la%H20ee!IYD zV`M8#{ndJKL(kucr~CMO68Y6W_>IsPhW>G8 zJhIcJKKSF{S2OzK$>UexPx$oXMCeVxzgGAr{ToKS2L6H8$=^Yu)i?fH@a2CpS_+zK7I-O2Cw>`Kz=dwml7-g3jG}MjrTg_ zSIYbvWAOhLxUIhNybhkQ&z>wE%J^>WlmCx^ZwB5r?Vn(L>tlW6Edl?yJ6MwpKfXkK z7=5SMp=Si}Wfgt+s-SPXkG@0nw|G5s*1$Idzh-G)`>VjW341Wp)PIWlag}}g_AvDc z{EuQ&|1I(zuRl)v6T(6MytARS!0cWYL~@tvT7P)vFnvvwlZ$j$11C8s%xEm{jwGH z*0u5Kx+S%-8?9xPHQ;gc%j;t?H$?|48?Nn5*Veg7p>b0;)>k(gSQRdbt%}t)x>fPI zni@B?tfsEP09_kvTvAnCA6w=S?DVdpSk<*YfTh)y4Q@*ZyuNysud=#!Rjj@-X8LEm zx%gDnhfldad=7XYK4tskgE^+J<)(+)%9W<1rgCY_8_|mD_!19dnKFG~PSyw8SO@c~ zYYi90l_e{iY8tEKXoJImx_AuTxv61!gG7xIHCjy#HL+OSS6x}PsR9V#Ht+3iruD4 zIejQ0*)6TFzIH`pZLFa|8rWFZRO7UA^v8o)S-IK|r(%aZB^>GX;ZTvQaY{MEQ=*r{ z$~bev>BZ2!a-~smC*hFiq#P#p@(=zmtE*jZtz20dw^laQI+0pBv^WjojrCMhB=XOk z+LxYkc3*mWUsCf?Gtg<{knJ^cGF~euW16{xa~ilDb&|c~b8`M+xr23zmsT>zoK%C% zNBqW>j&KyasFZR>uY@z{YGskC98l%svHI#d*xKNfIOFy}tC|{bTC(h>Wi>Icy01ZR z`#zxFBKo_bDOS7errr|tzY?3_7D&7?9~Exefvu`;aO|Zh5LkcWRMOX-M^hi1gQ7oB zZ&81moHl-%G<_Y|Wh*LcYnkw(pjQIQxJ)-Gna2hgS6Sn*+aw)6n{=D{?i(>#nA$VTIMWtg61Uy4HiJu8lV}F1fL? zx>3f*!`jq1K&fM@4TP&KCgaTE$|mq)G9mF5vHF{q;6XIV zVfsJ`-oWxYi&=y%t*KtR?2LxGGtO437g8lt&p7jpDb_{vFFt?vlBs7*!z&?O@UU;=lj*f5U-auy+hO^1#Qhu0BTm{0n9J(_QU}#B)qM*TnNp95r#d zi5Ho8v56~8TxH@FCay7Y+{BG0UTxwvCT=!ytBKc}c!P=CO}x>>514q9i4!K?V&bhP z-e%$s6K^;14ioP*ahHjAnfNsmziHwG)c=p0U#q7BX6`#O9Pw{EQT>vG8zgIkxy}aU5_LGX|v(Hp~JbPfp zce3|Ztn&uNjDNji7_>q0D9-W~e}wZ!#iKbZP<#@5X2o2nCKR*z-=g?=_Wp`L%9)74PIsRdEw%SBmFZ*1L*laJHwooby}76F56iJdraD#kV2%$fVyv_B(~m&vyrt zld{3&=In^%UCF{j-_K5an9cVqccnk_#)kB?f9%Y9=`vq>oG(4bmoD|Ci+$;!FMZ_i zeK_CurQh|X5BSpied)cv^qao)E?;`5FTLHD-sVeh@ufHU(i?s04Zd`%FTKW>ZuF&V zeCaA*da*BE?n}@2rRVt4Gkxi4zI2%{JQME!)A*ZJXl9GdWSiY8K)Z*6}2BS(+E^9ErI`GB3s zIODNj%7&Q#o50@+evALtkX}sK10RA`dltGR9>Cn#@m zU`uoIqjK_Na`JX~k7@sc(>}M)V$*jpJSlsKu|@YRNU!K>OV5oqr{~zs*}O<16{tw0 z3amt`IGjjT*$-taLWxXqS6g;D<7EZOu#Al!LVa{kTl!E0dq?ch9&bwz4JA?$_z|T3 za^QvM6!8fj4+WnUY0Ku>@EN#@P-U7|K*`C}_rRZRH?ht@Q(*ss^t-?x6G^0kjL(6O zx^xL|U`!$-oK70rf~2iTG|jTrxkK_n4~A6U%M~>`LERAgvTSgXKUJ_+G{e%=sr-c| z56>TCS?vt$Z%fCK;ZVxs;0lJ4Mz-x)jirNf59S~LIQmX>0GKC%d6)70g?g)^J*$4o zD3k6Cv0dJZM&aJ%!?%I)2f1hq6VD+W<}g?Mn2U^p;kLA7V^uJIc##jzIq(@iX0qzX zkxL?g%8j0jJTwN4xjeKvTWsB*eawN0>e{C>5Sfz>Qa3Ktme!c|IdziR%Wr#aU!_dC zo$njJ_!);@4<@jEPIIfFQF>J9(P(5P8s{1scjnM2-4Tt!uKTj0v%;bCzHA|Swt4_s z!_cb!zurshD{p%^Hc=)#jxF)gYk^DSn+?q#Y~J>{UGLtAKLuasK=UzS>7=W(qF1~X zPusy6g(lHfXl=|cG&JF&bz0$Hn>n^H8F1$B%h@@MC(L+m0#1Az>Z3#Qm%e&1h1(-t z>!Be84eDF=KspKTr;F)JX<9sIJdO)+hLN1G^Rg{I9PfC-BhLrFuB9~Yif9^_ zxpSz^T!$Y+3{AMjT$?3Qr<**s|1oHOq&U3m@&ATLJ+!SEfR1~C{|R)Ysh7RUrSnee zU#I?;>O0z=RUaYBWN!+fL1WRl)UKKG?*kiwkJAaZiTB|1?jp$MNiQ8fL=veyWGej( zl-&FFUg3wgLm7u()+Z%?UT-cRZBUT2+B8=333^AbR>e@T3{^VC&mDE_&mhp@XRkUVH`OITc6I2juWQrOntrJK0@_SfjFejC&Ta`PNmL!mdO~plf2D#-ec? zKLT02usd6Pd0STFp8;GD+BK$pJCS-ngf9i|_>{KnUyr!sgU6kXQ{3^rLZ5rl8R?$% zssNo@ja~J|yPQs4@;Hu~|kYgLZLHRc5`8%+4 z2dIC7`YqJ|nR@xBx$PgOp0&RxxINsZcWC+BYhEaC;5>jZ$^`jx0eocURgw0T(tG)P z!B88rZp-c++m#B1+OrqK1L=A2&_f42o0e}~t~KNi`HRAV-7A8(DLb?$+l$LKxa>CO zP}l=BdYX3qG6#-5mN`>H`~mM@Z|1wb-H4?%IQ{f!ENh{-M`d8&3WgaO2DM zRDe5d=DFsg)@0eBJme0pbi~L<>yO_KU1-WVM(7N(Mu&~fx2%^7@L7wdkmo3b`I*Q_ z&#dsv@YG$m@1*Tw#+kc5O+!u|OoV#Rma1RD%6IbWZw7~akX#(6`fwC7HjALQaelr^ zmtV#%?z%zt@A6Ds>l)*hFFandqYVE58*zE&JYwPFk0JlVI)`WRemV^k@l?U4NxYV7PR~JDr$Fw51(wBA~?}Vot4S%N*w-Z8yMTCx8 z&V`Ak+a+%;NUuS+Lm#5s3+T(!?a87U-PZc+>2?U+PW??|iKg*$9Nk_eICwdUe95QV z(qr&Va&+Mz>Eyw-1NHhajeV(b;-01SvKV#}O zH}W03zCK&>mOD3&hrS2U)m***KII-vG3nIN3AyXSd4E6JvtfYpPf^}DK>3-JZyca}66I?s zKg8NH8(U`&Wb5L6w(fQK>gmJR#AD>HJq%;d}=UG_6<*gW5WQlxB~uqFbQC427tL37|H7ahc0&? z^dr)929VdMefYFbVNG)ESb^*rwk*y3^7@;&f_=%g+$9jU)wm&7M!z^hztm~2<*{z( zv2MSnePaZB3QwK2!>lQRingTH?D9Dded4j~Q=lx7Ia{!7@dd#3!v9c)9v(-T;I0yk z;TQX;%#i51q-Y9+FUVeObgC4XTzwIro~PV{87@3g*Z-JBTE3q6C^(N_-}1p9g^pZ) z33e+m>>GOCyq-HT!U{qaA(vmzh+phQYw+pWr{R}#z6X!w@BRu~;f={=f26%C;~iab z_vY-d_Pdfgx6|0=I|)u_4dV=4M7jX{9O69U3yAZHFC-rK$mVQO;;tn7i5|gBr>xZA ze&43 z@Q%AW=0-Vd^wl?*`mNE;&lW`Q>L}!FC4o+qM%%KX4)$ox>~V&){Z9KF?d7D)-ucU8 z@V;gbI?Wz7Zu)-Vh_$Z>L0c%vnIrS%m@d)vd3d|Q*;5u07ZYTgWyiEH)Hrk| z!zD$LbX9&pF*4Df?AM2nzH=K+~R?JEw4OZWB1jq@zs5dacd6dj{8;d*WjJcn2%t;XAAZ6LclIBzW?n zakRImcj!Q8@{pnSq>_=H{Atz-xikf#ZSU9@Q>Q|g_QpDw$fc)f0D1~28v`x#35OW> ze8wG&ntP8pG*!6!kvZ^O^XN%OHoA{;?>*+zmwbo<=yC5ozLJd@`4vij+|biSSSH<3uSYJOAx8{)%f!UOa= zjQuUeHVgh%bl`v~pGNs8Q@-A``)^{cId2nd%~5`bfu9ci7$2T3rhF#lw$AB+zYYBD z&uq@JUL<$L+tQw##s4zK+7(5Yz#;k8jMTl>#%veu-~FpQN7o_aNQKKUoj1M)@5YL6 z%5|3|Vv}p~D$3=^xm;Wy4c5L!5uJ zo=k)nT1Ur(+OpG~GGs)08tFNwu(py8lOD&~ie6>yj<)Qfirp#h?XpGCrgKoZ`a!b!64iqodz6<$hi8@O;|fSxmgu!1;B9 zbKatj-*R>1M(pQi=vyy1vu0S>%pmm7m5i|0@a)l=DVv`~hdaIl{Jp>jyEbMQ=d{tC zmfCr95B+&`X65E*IaBMXr`%{n{tVL(@_n?lW%IN6Kpl4gf0OAanA67V$2RTI ztw#^UH$OWxepko!wA(M6!+g`2XOQ1x@|u5-kl$tU;;Bu3hsleVUn9TGm*@VuC*gxH zCBM;^50PK*ga0b|H72kAN0Z;ix}Z=+*o1Hu%ZAAIg=3si6XHwR!&0vAG$RCk&z!8} z?G^D>;x)vpi7SXB#M_qPFJ13`7gbJrCgBJQqcD!NO^{99ifs>AiOjeD;>r^Lpipb6 z6-j2SsOuvXhS#zuYR(>xbfx4!jJq*lJ^vScI_`h8ADM%1qS(UTS>b!LdP|~o(3dXs zrHg&(kS|^8OONuU$N18=FFnqep6E-L`O;xudYUgi-It!}OGkX^IllB|Z3i@PiKThjRbGPZec3ODdX$ z?HguYliCq}IT>g^kmY`L^fdb z(4hU$kc!si#OO)cVDs#BRr{B;FYOs(m8W!$6b$Xi{w4hLRAF>o+OqE!J?Q}c=rH`N zK=?rRefr10;g0j}tnRMQGCGHk_Vmzr68{|EX3soluTf-Z7u}+N7j1vcT-hGSe~(7e z;)ncwhaWBLlAM2}XSF9XMG5ib*{q|_oX1NaU7iH9`OsKsU76a^zAK3@KU(){PCl_K z$=&>D_RKwtnz0QLWW#v1*9t}%XY+bzoI&fV)X%Yv!SJ)lrIj(>%Rb?X)ZyN7-Rq3& z=%3xW^hd^}z0am5e&dO-p)p`hB;@1YOD`V6C%6(nFt0h0+Bt4>HqQPWe!2Ve3ibg} z{4kw^!eS%w7byci{gpLl8U;^>0)7+1aPT<#w?xEn2Zy=klyT41Z`@7+LtLo7=mCG;JdgYC+2RtjN_umx? z$G!BaJNr$vvlwHswJzNaY{ZAF3VRr=SjXK30otwbI(&kcvub}GexSzu^`l2SgBAB> zi%;F0J@HbPhmI_4_kL(MIF%P4ze!rM;f$a&iBFP8-@2>#naaU6lXAiS#pEsaqW7U& z-zC2teIFI}EFA}#t>h9N@@l!n6dV2OGIOp6$eOxrS zx_7(!ZH}h#8=l_eq+S2TvLDDEgKY34MpsiVxo94hL6hpl56Q=q%S`CH7T(?oto)o@ zx}~pO$685GMlI^A!u2(tBfXz>eu&*CYqg(18@;PpCD=%NR(iIL^mbr_K3K_l46qkT zw&uJ=a^7gtvIQ~P$6!p@-OMsF8hF-BJN8aie8Nu&P<=agDO!ASjALQ?4 z)O&MsieQmDK0v2m-{w_DL`%90qzEu;?- zw$ufz2=QV3oA+rqjyeUa>)vcW`)Bm~4xI;U{~nB}tUNQ1GAp?$9Z0gTCT}GZn3d0G zK7+m%8W`r>9mS;csAsO+A-FL=u1jruk@qZ-L11 zJ~Cu(uvT`;jy-_PLe_2RUr}C$3`;}zIr{JTP`r=Qom?<}8)t5}u{Pb7EwpdTjs;%p zuJ#;zXcw}7&bbh47jrOZbN+yzs57}p{1x{7_ht9mFQ+Ep`$~6)MiP(6=1Qk@E}^q$ z`K#z>uiY#9>(QRAl#Q@m8!21pz|MNUJDaQ}n97x&@NS=WC; zYXxQg`64t*Y?a_UJbVYAY^)~Wl@hhCn6f<_cvzq9`xsQBuWx!f}1#dG5n|Rc- z6Mfi)?rbML-vq6lfkYy;1zB4i%th>!=B8xAyOiu_)kid%j=-1Fu)Cj|&lCQ&Em;en zpN==Vc1 zZ#KHcb=&TjCBnB(b?C(+UBG5-`ghVeRd)5 zvxEQSefB@-(|rg0uf5Oy9q{5=r)ae~M`bLMv-9o&nR)NCU!~reEAu%&Vt=**-40lZ z%*9TBoI{6`obNUtA7UT2_)pA9!N7B!GY2Z%xqyzQz6ZSKqI|!vsBJi!#yV$l@;mjm zZF^{Q_9laKj8n!ra`ZT0cn^nud1tx_U^XB>{~Xu4B74IbfA85ZH{;nKIsIVcsJD3g zwup8GHZlX&)8)r}ZN4PKY@OS^G7?W9lmJH34s3`IY%2^K-W(<45~?rYpb zEZ#p^?b&1KSLgT<;bo4pK$-*d{-cP{!jGw9N?w5#l#<`w;!QidRu<6d!Bp&dz<$ekKRC7 z=z8z_p17+I@;8N3ya=G92mc6N74BQ!F52l{Q*%V^wC@m{C3xlvHpV$q9!_4eJrVv( z*UvC{$y$1Tfw`0XJ-B7h{O4C1(>IW{2lHECq65G@4vg-(-x7V;NA*)mKU%kf&>=jY zZu9+3FTT0>Cetp#hrw}>zp_=q%;l^8c(ljUkLyW$Z$^&%6Ml6;gTn{#JSuwdJ6LNv zkEwtk@I`k;$INdt31c zWi{dn>yY+g;-AKg-ogu4jvnm&z+B5njd>ZFshZ61Hc+hOp;4zWPK4#qi^D z($c;2&?C`rt1g_#oX305NN8PJW!>;k`#SIK)^K2Cd;M#Q;NE~v4`$Qlynlec2=MmKv5?_NxPhJ1n$c;u&whn=+Vy#u4IeCJCMAr?fZM`NB}zs=kZ5@E-g?eEeyQ zTYBx-9_!xje5qws@D|A`;8 z(;3sh{+-&Bz)RMvi9c*TSx3F-4$fxZXzXSoay*%E$gIJEsJ=O1-KRbe*#uc98axC8t<8xRx-I0gPW!H6|PTyBk9G+R{I0#nB=SZ+^SpDM)oE>?TyqWrNC zW0GzZ+MZ>l5wVrnpa^T4-d5PX3F@CCv@gT5CBrSFsAD+iy|<-ThuX1u{jJNppE z%eeC+E$B`;b5&;!%vZ?>UWdXDW9QZ;Z#*PjaP3L%_~i@oUccvk_CB(2x#RcvneXSP zz4qteAKzm;z4kEeDvcA*e?xA*KffU0#`2&y9^IQ@UUw> zJlwz>EXTJ)Z=`3;*JAWce4Ox4`1fOQZ`Ym){nOn=k@he?UtRNJor5FFIwgM{SuiI& znJAV%R{ciGs6ZrN+yJuC#DwJ7i%qXe-t8n=9VD~kR%vrft$&`$|?6w6ls>G#Y9 z{HbG*L!s^76+EFbd@uP_f;$Iz$99_U_6ozVJ~^B^?~VQ6fUhz(%DE%Jj(F#t^6Ndg zL%>B09QRK>@2a1;OVcUzAwPa7GmJj=38IKa9oz4F$iWx^*LZ);zk z9C^s@Dv{5iZyEwtLuNdB=&e`U6It>{&AM-~o_PFv9X#FeQhulRE_&9Y196N_l%8Pv@TmHVz+h_ri_5Ev++D3iw_WNV93@zG^25tOXaC)@xcEF)!1hiZw{vadm zrz9s=*Kg0Bqw+BNWqk!(cKPto<9s(6 z7wwFpOf?oH}s6LR%(CgYQ!&Uld6^w)&CHk3;X%|4X~L?nivOB^o>6)i2O3 z=0H&q`CY&TBIW7X>boFTnwQnSIUFb1wXZ`h}0;#}3oi$Dw<-=}UV^-J5AYBKo)|9=%Pn&*^s!{d#v{ z-=}S^&nOxjd@#=nf5g25ugXqMQ<-|ad1a< ze&4yr+MTL9#(HPS^_$8o;ddyvgOFsitXM#OSUQR&PneH zm*$u3lW;Z}oP`GGHQ*ctu6@?asjEqQxQE`dz8AObP2Qc)zZ(XBE{#{@(0Cy@hWcn6 zddqFSc)artqyxWPI^#wTIurKWF21jJZC3^7`bG}2T@}bm_DXi`d+)jO;kQC`%vv

xmHDp62b)S%@0AR_^7v$+<%Sk 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 literal 0 HcmV?d00001 diff --git a/poky/meta-flutter-elinux/recipes-core/libraries/files/libperiphery_arm64.so b/poky/meta-flutter-elinux/recipes-core/libraries/files/libperiphery_arm64.so new file mode 100644 index 0000000000000000000000000000000000000000..5b7e0f353e89d7267ad8de99732ebc57a06521f8 GIT binary patch literal 81168 zcmeFad0^DV`9D5;1j3<)B#>}O-U&oPih|rxF-t(f8)LM1wAsyOLjob!CKwEw4WME@ z%3G=8$s!&kwKm?wqb#5n#oCBR`BbZ$1Qo?v3L=RT_xE~c=Dj=nW&^h0{`p&d^UOT+ z%rnnC^UO2n`<=$~ESOxB+{*eEuV)5b}fSm2@W z1=fI!=Mew)Lz3gDNOv3+{0+ESGHner7wJ}zQ@(w@BHzAVfj3~g6w`q5f{fV#>DejM z&2X%wGa%8@Z^7ra#T0IRi${-v-;gl)8PLdgIr7OQL2!b96J&b6EUz!U1Z;xPfU-Kg zZplcZ`Z<)?z|C`m^JUt zxPjJ$Y4NrPSG&IS+ka#2moUU`VcNx7{K9sYJ}lw>!IqVYvy&IDcI>$>FLg+h{f^ld z+sXUJw-06)&UM(6rV+PaU4?@zmqF0T2Be1Yj!wZ zNbR^<#tGbv=N3F`@cahPU3iS2j==AX2;jXke7}Sb06v0e10Fvf<+%%HSWt-e6v68Uh>A(y+7Q1=-K7J8+rbN_VQ)tFX%n{g}lG-xmy3UJL8qd z);BLYc+MpU@4MpR?iXLa=-`m#jJDR~U4JcKHhJ+S1IzaRx_QWF(~ewq%aG)MbqxOe zs(YUMvZ-}bY1|8M&EGil+viWQt$gb@9}RrssZ*PtJO8e>Kv&W8kG=TuTP=&;EL!=> z(_`DR-ki4oo#Au-_T+#IN1XLU(7%&p*EP{cC6b`{iF1d7nN}hnOMm@gyxqn-V+J2mT{;2E*SK%W;@8g||E){(?j9}bxC=B+C<`x6ge;@Hv~`s9rV{}uPdBgw0_ zY#4jR9B=lMTc5jeQr-CZSM7S{%15?-@@@Ii?u%c@cbzilZ@ur-kALScuidr3{*LD_ zJFR-Fd%$DoXWdnDM%JE70*7u{OT$Q?KN}msc1}Dt*~W&kpd~tMs-3aKV@X-2EjGRi zw6W+DfY)O1`FFqA^o4!!p?(>Q|M|dY#Nbc9AQnCOyjb{|eaQ1=ANXgXu2_7w^+Eqo zALZWK2mR}P(C_S{+~@kBw*arH&_5RoXazaX_B#l&yn<+iGCs&5}$-k zf`P&RQYq)!I|V*f@_&-I*C4i8P72^g`0oZuANZ|^FOc|qB>j4tNZ@Di-!JR6hb90D zzEjE>G|A~0AmrRb12=v_{x4%sO8oj(fiUX(Ps!(iiO&Q{-%XPM{DS;n#>%DMd@g~Q zggE_�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%0DV*ab6L{<*`eqOeu_t0!k6Tsaf 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 literal 0 HcmV?d00001 diff --git a/poky/meta-flutter-elinux/recipes-core/libraries/flutter-libraries_1.00.bb b/poky/meta-flutter-elinux/recipes-core/libraries/flutter-libraries_1.00.bb new file mode 100644 index 0000000..8bdac3b --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/libraries/flutter-libraries_1.00.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "My custom libraries" +LICENSE = "CLOSED" + +SRC_URI = " \ + file://libperiphery_arm64.so \ + file://libflutter_pty.so \ + " + +do_install() { + install -d ${D}/${libdir}/flutter + install -m 0644 ${WORKDIR}/libperiphery_arm64.so ${D}/${libdir}/flutter + install -m 0644 ${WORKDIR}/libflutter_pty.so ${D}/${libdir}/flutter + + ln -sf ${libdir}/flutter/libperiphery_arm64.so ${D}${libdir} + ln -sf ${libdir}/flutter/libflutter_pty.so ${D}${libdir} +} + +FILES:${PN} += "${libdir}/flutter/*.so" \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/systemd-conf/files/en.network b/poky/meta-flutter-elinux/recipes-core/systemd-conf/files/en.network new file mode 100644 index 0000000..b7f5a9a --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/systemd-conf/files/en.network @@ -0,0 +1,10 @@ +[Match] +Name=en* +KernelCommandLine=!nfsroot + +[Network] +DHCP=v4 + +[DHCPv4] +UseHostname=false +EOF \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/systemd-conf/files/eth.network b/poky/meta-flutter-elinux/recipes-core/systemd-conf/files/eth.network new file mode 100644 index 0000000..0fd54f6 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/systemd-conf/files/eth.network @@ -0,0 +1,10 @@ +[Match] +Name=eth* +KernelCommandLine=!nfsroot + +[Network] +DHCP=v4 + +[DHCPv4] +UseHostname=false +EOF \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/systemd-conf/files/wlan.network b/poky/meta-flutter-elinux/recipes-core/systemd-conf/files/wlan.network new file mode 100644 index 0000000..38f8a05 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/systemd-conf/files/wlan.network @@ -0,0 +1,10 @@ +[Match] +Name=wlan* +KernelCommandLine=!nfsroot + +[Network] +DHCP=v4 + +[DHCPv4] +UseHostname=false +EOF \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/systemd-conf/systemd-conf_%.bbappend b/poky/meta-flutter-elinux/recipes-core/systemd-conf/systemd-conf_%.bbappend new file mode 100644 index 0000000..4ff3bc2 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/systemd-conf/systemd-conf_%.bbappend @@ -0,0 +1,20 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +SRC_URI += " \ + file://eth.network \ + file://en.network \ + file://wlan.network \ +" + +FILES:${PN} += " \ + ${sysconfdir}/systemd/network/eth.network \ + ${sysconfdir}/systemd/network/en.network \ + ${sysconfdir}/systemd/network/wlan.network \ +" + +do_install:append() { + install -d ${D}${sysconfdir}/systemd/network + install -m 0644 ${WORKDIR}/eth.network ${D}${sysconfdir}/systemd/network + install -m 0644 ${WORKDIR}/en.network ${D}${sysconfdir}/systemd/network + install -m 0644 ${WORKDIR}/wlan.network ${D}${sysconfdir}/systemd/network +} \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/systemd/files/flutter-auto.service b/poky/meta-flutter-elinux/recipes-core/systemd/files/flutter-auto.service new file mode 100644 index 0000000..f7f876f --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/systemd/files/flutter-auto.service @@ -0,0 +1,44 @@ +[Unit] +Description=Flutter App Service +After=network.target +StartLimitIntervalSec=0 + +Requires=systemd-user-sessions.service +After=systemd-user-sessions.service + +After=plymouth-quit-wait.service + +Wants=dbus.socket +After=dbus.socket + +Before=graphical.target + +ConditionPathExists=/dev/tty0 + +[Service] +Type=simple +Restart=always +RestartSec=1 +ExecStart=/usr/bin/cage /usr/local/bin/flutter-auto-launch + +User=user1 +Group=user1 + +WorkingDirectory=/home/user1 + +PAMName=login + +TTYPath=/dev/tty7 +TTYReset=yes +TTYVHangup=yes +TTYTDisallocate=yes + +StandardInput=tty-fail +StandardOutput=journal +StandardError=journal + +UtmpIdentifier=tty7 +UtmpMode=user + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/systemd/files/flutter-pi.service b/poky/meta-flutter-elinux/recipes-core/systemd/files/flutter-pi.service new file mode 100644 index 0000000..9bc4b50 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/systemd/files/flutter-pi.service @@ -0,0 +1,44 @@ +[Unit] +Description=Flutter App Service +After=network.target +StartLimitIntervalSec=0 + +Requires=systemd-user-sessions.service +After=systemd-user-sessions.service + +After=plymouth-quit-wait.service + +Wants=dbus.socket +After=dbus.socket + +Before=graphical.target + +ConditionPathExists=/dev/tty0 + +[Service] +Type=simple +Restart=always +RestartSec=1 +ExecStart=/usr/bin/flutter-pi --release /flutter/flutter_elinux/3.19.2/release + +User=user1 +Group=user1 + +WorkingDirectory=/home/user1 + +PAMName=login + +TTYPath=/dev/tty7 +TTYReset=yes +TTYVHangup=yes +TTYTDisallocate=yes + +StandardInput=tty-fail +StandardOutput=journal +StandardError=journal + +UtmpIdentifier=tty7 +UtmpMode=user + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/systemd/flutter-auto-service_1.00.bb b/poky/meta-flutter-elinux/recipes-core/systemd/flutter-auto-service_1.00.bb new file mode 100644 index 0000000..b527004 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/systemd/flutter-auto-service_1.00.bb @@ -0,0 +1,13 @@ +LICENSE = "CLOSED" +inherit systemd + +SYSTEMD_AUTO_ENABLE = "enable" +SYSTEMD_SERVICE:${PN} = "flutter-auto.service" + +SRC_URI:append = " file://flutter-auto.service " +FILES:${PN} += "${systemd_unitdir}/system/flutter-auto.service" + +do_install:append() { + install -d ${D}/${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/flutter-auto.service ${D}/${systemd_unitdir}/system +} \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/systemd/flutter-pi-service_1.00.bb b/poky/meta-flutter-elinux/recipes-core/systemd/flutter-pi-service_1.00.bb new file mode 100644 index 0000000..afe5799 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/systemd/flutter-pi-service_1.00.bb @@ -0,0 +1,13 @@ +LICENSE = "CLOSED" +inherit systemd + +SYSTEMD_AUTO_ENABLE = "enable" +SYSTEMD_SERVICE:${PN} = "flutter-pi.service" + +SRC_URI:append = " file://flutter-pi.service " +FILES:${PN} += "${systemd_unitdir}/system/flutter-pi.service" + +do_install:append() { + install -d ${D}/${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/flutter-pi.service ${D}/${systemd_unitdir}/system +} \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-core/systemd/systemd_%.bbappend b/poky/meta-flutter-elinux/recipes-core/systemd/systemd_%.bbappend new file mode 100644 index 0000000..54f2c33 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-core/systemd/systemd_%.bbappend @@ -0,0 +1,2 @@ +PACKAGECONFIG:append = " networkd resolved" +RDEPENDS:${PN}:append = " wpa-supplicant " \ No newline at end of file diff --git a/poky/meta-flutter-elinux/recipes-extended/sudo_%.bbappend b/poky/meta-flutter-elinux/recipes-extended/sudo_%.bbappend new file mode 100644 index 0000000..8d3cb50 --- /dev/null +++ b/poky/meta-flutter-elinux/recipes-extended/sudo_%.bbappend @@ -0,0 +1,11 @@ +AUTHORIZED_USER_NAME ?= "user1" + +do_install_append () { + # Add sudo accesses for user. + install -d -m 0710 "${D}/etc/sudoers.d" + echo "${AUTHORIZED_USER_NAME} ALL=(ALL) NOPASSWD: /sbin/shutdown" > "${D}/etc/sudoers.d/0001_${AUTHORIZED_USER_NAME}" + chmod 0644 "${D}/etc/sudoers.d/0001_${AUTHORIZED_USER_NAME}" +} + +FILES_${PN} += "/etc/sudoers.d \ + /etc/sudoers.d/0001_${AUTHORIZED_USER_NAME}" \ No newline at end of file