diff options
44 files changed, 263 insertions, 239 deletions
diff --git a/conf/layer.conf b/conf/layer.conf index 7556a8642..5195d3cda 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -14,6 +14,8 @@ BBFILES_DYNAMIC += " \ aglcontainermc:${LAYERDIR}/dynamic-layers/meta-agl-ic-container/*/*/*.bbappend \ " +LICENSE_PATH += "${LAYERDIR}/licenses" + LAYERSERIES_COMPAT_agldemo = "scarthgap" LAYERDEPENDS_agldemo = "aglcore qt5-layer openembedded-layer networking-layer multimedia-layer flutter-layer meta-app-framework" diff --git a/licenses/CC-BY-2.1-JP b/licenses/CC-BY-2.1-JP new file mode 100644 index 000000000..17a4bdf23 --- /dev/null +++ b/licenses/CC-BY-2.1-JP @@ -0,0 +1,77 @@ +アトリビューション 2.1(帰属) +クリエイティブ・コモンズ及びクリエイティブ・コモンズ・ジャパンは法律事務所ではありません。この利用許諾条項の頒布は法的アドバイスその他の法律業務を行うものではありません。クリエイティブ・コモンズ及びクリエイティブ・コモンズ・ジャパンは、この利用許諾の当事者ではなく、ここに提供する情報及び本作品に関しいかなる保証も行いません。クリエイティブ・コモンズ及びクリエイティブ・コモンズ・ジャパンは、いかなる法令に基づこうとも、あなた又はいかなる第三者の損害(この利用許諾に関連する通常損害、特別損害を含みますがこれらに限られません)について責任を負いません。 + +利用許諾 + +本作品(下記に定義する)は、このクリエイティブ・コモンズ・パブリック・ライセンス日本版(以下「この利用許諾」という)の条項の下で提供される。本作品は、著作権法及び/又は他の適用法によって保護される。本作品をこの利用許諾又は著作権法の下で授権された以外の方法で使用することを禁止する。 + +許諾者は、かかる条項をあなたが承諾することとひきかえに、ここに規定される権利をあなたに付与する。本作品に関し、この利用許諾の下で認められるいずれかの利用を行うことにより、あなたは、この利用許諾(条項)に拘束されることを承諾し同意したこととなる。 + +第1条 定義 +この利用許諾中の用語を以下のように定義する。その他の用語は、著作権法その他の法令で定める意味を持つものとする。 + + 「二次的著作物」 とは、著作物を翻訳し、編曲し、若しくは変形し、または脚色し、映画化し、その他翻案することにより創作した著作物をいう。ただし、編集著作物又はデータベースの著作物(以下、この二つを併せて「編集著作物等」という。)を構成する著作物は、二次的著作物とみなされない。また、原著作者及び実演家の名誉又は声望を害する方法で原著作物を改作、変形もしくは翻案して生じる著作物は、この利用許諾の目的においては、二次的著作物に含まれない。 + 「許諾者」 とは、この利用許諾の条項の下で本作品を提供する個人又は団体をいう。 + 「あなた」 とは、この利用許諾に基づく権利を行使する個人又は団体をいう。 + 「原著作者」 とは、本作品に含まれる著作物を創作した個人又は団体をいう。 + 「本作品」 とは、この利用許諾の条項に基づいて利用する権利が付与される対象たる無体物をいい、著作物、実演、レコード、放送にかかる音又は影像、もしくは有線放送にかかる音又は影像をすべて含むものとする。 + 「ライセンス要素」 とは、許諾者が選択し、この利用許諾に表示されている、以下のライセンス属性をいう:帰属 + +第2条 著作権等に対する制限 + +この利用許諾に含まれるいかなる条項によっても、許諾者は、あなたが著作権の制限(著作権法第30条〜49条)、著作者人格権に対する制限(著作権法第18条2項〜4項、第19条2項〜4項、第20条2項)、著作隣接権に対する制限(著作権法第102条)その他、著作権法又はその他の適用法に基づいて認められることとなる本作品の利用を禁止しない。 + +第3条 ライセンスの付与 + +この利用許諾の条項に従い、許諾者はあなたに、本作品に関し、すべての国で、ロイヤリティ・フリー、非排他的で、(第7条bに定める期間)継続的な以下のライセンスを付与する。ただし、あなたが以前に本作品に関するこの利用許諾の条項に違反したことがないか、あるいは、以前にこの利用許諾の条項に違反したがこの利用許諾に基づく権利を行使するために許諾者から明示的な許可を得ている場合に限る。 + + 本作品に含まれる著作物(以下「本著作物」という。)を複製すること(編集著作物等に組み込み複製することを含む。以下、同じ。)、 + 本著作物を翻案して二次的著作物を創作し、複製すること、 + 本著作物又はその二次的著作物の複製物を頒布すること(譲渡または貸与により公衆に提供することを含む。以下同じ。)、上演すること、演奏すること、上映すること、公衆送信を行うこと(送信可能化を含む。以下、同じ。)、公に口述すること、公に展示すること、 + 本作品に含まれる実演を、録音・録画すること(録音・録画物を増製することを含む)、録音・録画物により頒布すること、公衆送信を行うこと、 + 本作品に含まれるレコードを、複製すること、頒布すること、公衆送信を行うこと、 + 本作品に含まれる、放送に係る音又は影像を、複製すること、その放送を受信して再放送すること又は有線放送すること、その放送又はこれを受信して行う有線放送を受信して送信可能化すること、そのテレビジョン放送又はこれを受信して行う有線放送を受信して、影像を拡大する特別の装置を用いて公に伝達すること、 + 本作品に含まれる、有線放送に係る音又は影像を、複製すること、その有線放送を受信して放送し、又は再有線放送すること、その有線放送を受信して送信可能化すること、その有線テレビジョン放送を受信して、影像を拡大する特別の装置を用いて公に伝達すること、 + +上記に定められた本作品又はその二次的著作物の利用は、現在及び将来のすべての媒体・形式で行うことができる。あなたは、他の媒体及び形式で本作品又はその二次的著作物を利用するのに技術的に必要な変更を行うことができる。許諾者は本作品又はその二次的著作物に関して、この利用許諾に従った利用については自己が有する著作者人格権及び実演家人格権を行使しない。許諾者によって明示的に付与されない全ての権利は、留保される。 + +第4条 受領者へのライセンス提供 + +あなたが本作品をこの利用許諾に基づいて利用する度毎に、許諾者は本作品又は本作品の二次的著作物の受領者に対して、直接、この利用許諾の下であなたに許可された利用許諾と同じ条件の本作品のライセンスを提供する。 + +第5条 制限 + +上記第3条及び第4条により付与されたライセンスは、以下の制限に明示的に従い、制約される。 + + あなたは、この利用許諾の条項に基づいてのみ、本作品を利用することができる。 + あなたは、本作品を利用するときは、この利用許諾の写し又はURI(Uniform Resource Identifier)を本作品の複製物に添付又は表示しなければならない。 + あなたは、この利用許諾条項及びこの利用許諾によって付与される利用許諾受領者の権利の行使を変更又は制限するような、本作品又はその二次的著作物に係る条件を提案したり課したりしてはならない。 + あなたは、本作品を再利用許諾することができない。 + あなたは、本作品又はその二次的著作物の利用にあたって、この利用許諾及びその免責条項に関する注意書きの内容を変更せず、見やすい態様でそのまま掲載しなければならない。 + あなたは、この利用許諾条項と矛盾する方法で本著作物へのアクセス又は使用をコントロールするような技術的保護手段を用いて、本作品又はその二次的著作物を利用してはならない。 + 本条の制限は、本作品又はその二次的著作物が編集著作物等に組み込まれた場合にも、その組み込まれた作品に関しては適用される。しかし、本作品又はその二次的著作物が組み込まれた編集著作物等そのものは、この利用許諾の条項に従う必要はない。 + あなたは、本作品、その二次的著作物又は本作品を組み込んだ編集著作物等を利用する場合には、(1)本作品に係るすべての著作権表示をそのままにしておかなければならず、(2)原著作者及び実演家のクレジットを、合理的な方式で、(もし示されていれば原著作者及び実演家の名前又は変名を伝えることにより、)表示しなければならず、(3)本作品のタイトルが示されている場合には、そのタイトルを表示しなければならず、(4)許諾者が本作品に添付するよう指定したURIがあれば、合理的に実行可能な範囲で、そのURIを表示しなければならず(ただし、そのURIが本作品の著作権表示またはライセンス情報を参照するものでないときはこの限りでない。)(5)二次的著作物の場合には、当該二次的著作物中の原著作物の利用を示すクレジットを表示しなければならない。これらのクレジットは、合理的であればどんな方法でも行うことができる。しかしながら、二次的著作物又は編集著作物等の場合には、少なくとも他の同様の著作者のクレジットが表示される箇所で当該クレジットを表示し、少なくとも他の同様の著作者のクレジットと同程度に目立つ方法であることを要する。 + もし、あなたが、本作品の二次的著作物、又は本作品もしくはその二次的著作物を組み込んだ編集著作物等を創作した場合、あなたは、許諾者からの通知があれば、実行可能な範囲で、要求に応じて、二次的著作物又は編集著作物等から、許諾者又は原著作者への言及をすべて除去しなければならない。 + +第6条 責任制限 + +この利用許諾の両当事者が書面にて別途合意しない限り、許諾者は本作品を現状のまま提供するものとし、明示・黙示を問わず、本作品に関していかなる保証(特定の利用目的への適合性、第三者の権利の非侵害、欠陥の不存在を含むが、これに限られない。)もしない。 + +この利用許諾又はこの利用許諾に基づく本作品の利用から発生する、いかなる損害(許諾者が、本作品にかかる著作権、著作隣接権、著作者人格権、実演家人格権、商標権、パブリシティ権、不正競争防止法その他関連法規上保護される利益を有する者からの許諾を得ることなく本作品の利用許諾を行ったことにより発生する損害、プライバシー侵害又は名誉毀損から発生する損害等の通常損害、及び特別損害を含むが、これに限らない。)についても、許諾者に故意又は重大な過失がある場合を除き、許諾者がそのような損害発生の可能性を知らされたか否かを問わず、許諾者は、あなたに対し、これを賠償する責任を負わない。 + +第7条 終了 + + この利用許諾は、あなたがこの利用許諾の条項に違反すると自動的に終了する。しかし、本作品、その二次的著作物又は編集著作物等をあなたからこの利用許諾に基づき受領した第三者に対しては、その受領者がこの利用許諾を遵守している限り、この利用許諾は終了しない。第1条、第2条、第4条から第9条は、この利用許諾が終了してもなお有効に存続する。 + 上記aに定める場合を除き、この利用許諾に基づくライセンスは、本作品に含まれる著作権法上の権利が存続するかぎり継続する。 + 許諾者は、上記aおよびbに関わらず、いつでも、本作品をこの利用許諾に基づいて頒布することを将来に向かって中止することができる。ただし、許諾者がこの利用許諾に基づく頒布を将来に向かって中止した場合でも、この利用許諾に基づいてすでに本作品を受領した利用者に対しては、この利用許諾に基づいて過去及び将来に与えられるいかなるライセンスも終了することはない。また、上記によって終了しない限り、この利用許諾は、全面的に有効なものとして継続する。 + +第8条 その他 + + この利用許諾のいずれかの規定が、適用法の下で無効及び/又は執行不能の場合であっても、この利用許諾の他の条項の有効性及び執行可能性には影響しない。 + この利用許諾の条項の全部又は一部の放棄又はその違反に関する承諾は、これが書面にされ、当該放棄又は承諾に責任を負う当事者による署名又は記名押印がなされない限り、行うことができない。 + この利用許諾は、当事者が本作品に関して行った最終かつ唯一の合意の内容である。この利用許諾は、許諾者とあなたとの相互の書面による合意なく修正されない。 + この利用許諾は日本語により提供される。この利用許諾の英語その他の言語への翻訳は参照のためのものに過ぎず、この利用許諾の日本語版と翻訳との間に何らかの齟齬がある場合には日本語版が優先する。 + +第9条 準拠法 + +この利用許諾は、日本法に基づき解釈される。
\ No newline at end of file diff --git a/meta-agl-demo-control-panel/conf/layer.conf b/meta-agl-demo-control-panel/conf/layer.conf index fc185f946..09e7a8abf 100644 --- a/meta-agl-demo-control-panel/conf/layer.conf +++ b/meta-agl-demo-control-panel/conf/layer.conf @@ -5,10 +5,14 @@ BBPATH =. "${LAYERDIR}:" BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ ${LAYERDIR}/recipes-*/*/*.bbappend" +BBFILES_DYNAMIC += " \ + qt6-layer:${LAYERDIR}/dynamic-layers/meta-qt6/*/*/*.bbappend \ +" + BBFILE_COLLECTIONS += "agldemocontrolpanel" BBFILE_PATTERN_agldemocontrolpanel = "^${LAYERDIR}/" BBFILE_PRIORITY_agldemocontrolpanel = "70" LAYERSERIES_COMPAT_agldemocontrolpanel = "scarthgap" -LAYERDEPENDS_agldemocontrolpanel = "aglcore qt6-layer" +LAYERDEPENDS_agldemocontrolpanel = "aglcore qt6-layer networking-layer" diff --git a/meta-agl-demo-control-panel/dynamic-layers/meta-qt6/recipes-python/pyqt6/python3-pyqt6_%.bbappend b/meta-agl-demo-control-panel/dynamic-layers/meta-qt6/recipes-python/pyqt6/python3-pyqt6_%.bbappend new file mode 100644 index 000000000..b846719d4 --- /dev/null +++ b/meta-agl-demo-control-panel/dynamic-layers/meta-qt6/recipes-python/pyqt6/python3-pyqt6_%.bbappend @@ -0,0 +1,6 @@ +PYQT_MODULES:append = " \ + QtWidgets \ + QtSvg \ + QtQuick \ + QtQuickWidgets \ +"
\ No newline at end of file diff --git a/meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel/agl-demo-control-panel_git.bb b/meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel/agl-demo-control-panel_git.bb index d28628264..cdcbb4a82 100644 --- a/meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel/agl-demo-control-panel_git.bb +++ b/meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel/agl-demo-control-panel_git.bb @@ -7,17 +7,23 @@ PV = "1.0+git${SRCPV}" SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/agl-demo-control-panel;protocol=https;branch=${AGL_BRANCH} \ file://agl-demo-control-panel.service \ " -SRCREV = "25d451d87046a1cfbf7ac3cd47c2303fd29a22c5" +SRCREV = "18fdc7e1bcf160f8e9bbad406f1556c3d1911734" S = "${WORKDIR}/git" inherit systemd allarch update-alternatives +DEPENDS += "qtbase-native" + SYSTEMD_SERVICE:${PN} = "${BPN}.service" do_configure[noexec] = "1" do_compile[noexec] = "1" do_install() { + # compile qrc + # RECIPE_SYSROOT_NATIVE + ${RECIPE_SYSROOT_NATIVE}/usr/libexec/rcc -g python ${S}/assets/res.qrc | sed '0,/PySide6/s//PyQt6/' > ${S}/res_rc.py + # There's no provision for a Pythonic install into /usr/lib, so dump # into a directory /usr/libexec. install -d ${D}${libexecdir}/${BPN} @@ -40,12 +46,6 @@ do_install() { ${D}${sysconfdir}/agl-demo-control-panel/config.ini.gateway-demo } -# For now generate resource wrapper on first boot, as it looks non-trivial -# to get python3-pyqt5-native working to run pyrcc5 during build. -pkg_postinst_ontarget:${PN} () { - /usr/bin/pyrcc5 -o ${libexecdir}/${BPN}/res_rc.py ${libexecdir}/${BPN}/assets/res.qrc - true -} ALTERNATIVE_LINK_NAME[agl-demo-control-panel.ini] = "${sysconfdir}/agl-demo-control-panel/config.ini" @@ -55,10 +55,13 @@ RDEPENDS:${PN} += " \ python3-modules \ python3-packaging \ python3-can \ + python3-requests \ + python3-cantools \ + python3-rich \ python3-pyqt6 \ - python3-pyside6 \ agl-users \ weston \ + bash \ " PACKAGE_BEFORE_PN += "${PN}-conf" @@ -82,4 +85,4 @@ RDEPENDS:${PN}-conf-gateway-demo = "${PN}" RPROVIDES:${PN}-conf-gateway-demo = "agl-demo-control-panel.ini" ALTERNATIVE:${PN}-conf-gateway-demo = "agl-demo-control-panel.ini" ALTERNATIVE_TARGET_${PN}-conf-gateway-demo = "${sysconfdir}/agl-demo-control-panel/config.ini.gateway-demo" -ALTERNATIVE_PRIORITY_${PN}-conf-gateway-demo = "30" +ALTERNATIVE_PRIORITY_${PN}-conf-gateway-demo = "30"
\ No newline at end of file diff --git a/recipes-connectivity/btwilink-disable-conf/btwilink-disable-conf_1.0.bb b/recipes-connectivity/btwilink-disable-conf/btwilink-disable-conf_1.0.bb deleted file mode 100644 index 0b49a0278..000000000 --- a/recipes-connectivity/btwilink-disable-conf/btwilink-disable-conf_1.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "btwilink module disabling modprobe configuration" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" - -SRC_URI = "file://btwilink-disable.conf" - -COMPATIBLE_MACHINE = "m3ulcb|h3ulcb" - -do_compile[noexec] = "1" - -do_install() { - install -d ${D}${sysconfdir}/modprobe.d - install -m 0644 ${WORKDIR}/btwilink-disable.conf ${D}${sysconfdir}/modprobe.d -} diff --git a/recipes-connectivity/btwilink-disable-conf/files/btwilink-disable.conf b/recipes-connectivity/btwilink-disable-conf/files/btwilink-disable.conf deleted file mode 100644 index 8d28f629e..000000000 --- a/recipes-connectivity/btwilink-disable-conf/files/btwilink-disable.conf +++ /dev/null @@ -1 +0,0 @@ -install btwilink /bin/false diff --git a/recipes-connectivity/connman-glib/connman-glib.bb b/recipes-connectivity/connman-glib/connman-glib.bb index 20682bd65..90b837b8b 100644 --- a/recipes-connectivity/connman-glib/connman-glib.bb +++ b/recipes-connectivity/connman-glib/connman-glib.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" DEPENDS = "systemd glib-2.0" SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/connman-glib;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "86ecfa16aeb5c4942990f0181dab7f60b4f45a83" +SRCREV = "1afb908c72eeaee137e843aea1835859cf14a5ff" S = "${WORKDIR}/git" diff --git a/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec b/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec index b8a01e362..a08d94a49 100644 --- a/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec +++ b/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec @@ -10,13 +10,11 @@ Vehicle.Speed: signal: PT_VehicleAvgSpeed Vehicle.Powertrain.CombustionEngine.Speed: - datatype: float + datatype: uint16 type: sensor dbc2vss: signal: PT_EngineSpeed interval_ms: 100 - transform: - math: "floor(x+0.5)" vss2dbc: signal: PT_EngineSpeed diff --git a/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec.control-panel b/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec.control-panel index b5e2b8a3d..fb85dda7e 100644 --- a/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec.control-panel +++ b/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec.control-panel @@ -7,7 +7,7 @@ Vehicle.Speed: signal: PT_VehicleAvgSpeed Vehicle.Powertrain.CombustionEngine.Speed: - datatype: float + datatype: uint16 type: sensor vss2dbc: signal: PT_EngineSpeed diff --git a/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec.gw-control-panel b/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec.gw-control-panel index 6b0a9a38a..060eb5064 100644 --- a/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec.gw-control-panel +++ b/recipes-connectivity/vss/vss-agl/agl_vss_overlay.vspec.gw-control-panel @@ -8,13 +8,11 @@ Vehicle.Speed: interval_ms: 100 Vehicle.Powertrain.CombustionEngine.Speed: - datatype: float + datatype: uint16 type: sensor dbc2vss: signal: PT_EngineSpeed interval_ms: 100 - transform: - math: "floor(x+0.5)" # DBC mappings for other signals for V2C demo diff --git a/recipes-demo/agl-persistent-storage-api/agl-persistent-storage-api_git.bb b/recipes-demo/agl-persistent-storage-api/agl-persistent-storage-api_git.bb index 63a315fd6..a326c6d81 100644 --- a/recipes-demo/agl-persistent-storage-api/agl-persistent-storage-api_git.bb +++ b/recipes-demo/agl-persistent-storage-api/agl-persistent-storage-api_git.bb @@ -9,7 +9,7 @@ SRC_URI = "git://github.com/LSchwiedrzik/agl-persistent-storage-api.git;protocol # Modify these as desired PV = "1.0+git${SRCPV}" -SRCREV = "f69d46510e5b13cdb559dbc077aced1f74e19f66" +SRCREV = "de8ecba1279ee2bcb55f0595017165c606fac835" S = "${WORKDIR}/git" @@ -31,6 +31,10 @@ USERADD_PARAM:${PN} = "--system -g 903 -u 903 -o -d / --shell /bin/nologin persi do_compile:prepend() { export ROCKSDB_CXX_STD="--std=c99" export ROCKSDB_INCLUDE_DIR="${RECIPE_SYSROOT}/usr/include" + + # Need to set options for the rust-librocksdb-sys crate's bindgen invocation of clang, + # or there's a good chance it will choke when trying to use the host system's headers. + export BINDGEN_EXTRA_CLANG_ARGS="${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" } do_install:append () { diff --git a/recipes-demo/agl-persistent-storage-api/files/agl-persistent-storage-api.service b/recipes-demo/agl-persistent-storage-api/files/agl-persistent-storage-api.service index 9f1f72145..2e07de9f0 100644 --- a/recipes-demo/agl-persistent-storage-api/files/agl-persistent-storage-api.service +++ b/recipes-demo/agl-persistent-storage-api/files/agl-persistent-storage-api.service @@ -5,7 +5,7 @@ After=network-online.target Type=simple ExecStart=/usr/bin/agl-service-persistent-storage Restart=on-failure -#User=persistent-api +User=agl-driver [Install] WantedBy=default.target diff --git a/recipes-demo/agl-service-audiomixer/agl-service-audiomixer_git.bb b/recipes-demo/agl-service-audiomixer/agl-service-audiomixer_git.bb index a1f6f795c..9a4e90fcb 100644 --- a/recipes-demo/agl-service-audiomixer/agl-service-audiomixer_git.bb +++ b/recipes-demo/agl-service-audiomixer/agl-service-audiomixer_git.bb @@ -24,7 +24,7 @@ SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-service-audiomixer.g file://agl-service-audiomixer.conf.gateway-demo \ file://agl-service-audiomixer.token \ " -SRCREV = "0ff3ef1b254364639fc42495bbcfb4760250990a" +SRCREV = "2e7d2c7a4d9c6dd37552c69a896286aa7dacd2c3" PV = "2.0+git${SRCPV}" S = "${WORKDIR}/git" diff --git a/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.conf.default b/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.conf.default new file mode 100644 index 000000000..8d73b3246 --- /dev/null +++ b/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.conf.default @@ -0,0 +1,2 @@ +[kuksa-client] +authorization = "/etc/xdg/AGL/cluster-dashboard/cluster-dashboard.token" diff --git a/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.conf b/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.conf.demo index 87fc79a85..87fc79a85 100644 --- a/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.conf +++ b/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.conf.demo diff --git a/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.token b/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.token index 770aadcff..10fafb537 100644 --- a/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.token +++ b/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.token @@ -1 +1 @@ -eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJrdWtzYS52YWwiLCJpc3MiOiJFY2xpcHNlIEtVS1NBIERldiIsImFkbWluIjp0cnVlLCJpYXQiOjE1MTYyMzkwMjIsImV4cCI6MTc2NzIyNTU5OSwia3Vrc2EtdnNzIjp7IioiOiJydyJ9fQ.QQcVR0RuRJIoasPXYsMGZhdvhLjUalk4GcRaxhh3-0_j3CtVSZ0lTbv_Z3As5BfIYzaMlwUzFGvCVOq2MXVjRK81XOAZ6wIsyKOxva16zjbZryr2V_m3yZ4twI3CPEzJch11_qnhInirHltej-tGg6ySfLaTYeAkw4xYGwENMBBhN5t9odANpScZP_xx5bNfwdW1so6FkV1WhpKlCywoxk_vYZxo187d89bbiu-xOZUa5D-ycFkd1-1rjPXLGE_g5bc4jcQBvNBc-5FDbvt4aJlTQqjpdeppxhxn_gjkPGIAacYDI7szOLC-WYajTStbksUju1iQCyli11kPx0E66me_ZVwOX07f1lRF6D2brWm1LcMAHM3bQUK0LuyVwWPxld64uSAEsvSKsRyJERc7nZUgLf7COnUrrkxgIUNjukbdT2JVN_I-3l3b4YXg6JVD7Y5g0QYBKgXEFpZrDbBVhzo7PXPAhJD6-c3DcUQyRZExbrnFV56RwWuExphw8lYnbMvxPWImiVmB9nRVgFKD0TYaw1sidPSSlZt8Uw34VZzHWIZQAQY0BMjR33fefg42XQ1YzIwPmDx4GYXLl7HNIIVbsRsibKaJnf49mz2qnLC1K272zXSPljO11Ke1MNnsnKyUH7mcwEs9nhTsnMgEOx_TyMLRYo-VEHBDLuEOiBo
\ No newline at end of file +eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJsb2NhbCBkZXYiLCJpc3MiOiJjcmVhdGVUb2tlbi5weSIsImF1ZCI6WyJrdWtzYS52YWwiXSwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjE3NjcyMjU1OTksInNjb3BlIjoicmVhZCJ9.P6tJPRSJWB51UOFDFs8qQ-lGqb1NoWgCekHUKyMiYcs8sR3FGVKSRjSkcqv1tXOlILvqhUwyuTKui25_kFKkTPv47GI0xAqcXtaTmDwHAWZHFC6HWGWGXohu7XvURrim5kMRVHy_VGlzasGgVap0JFk3wmaY-nyFYL_PLDjvGjIQuOwFiUtKK1PfiKviZKyc5EzPUEAoHxFL_BSOsTdDDcaydFe9rSKJzpYrj7qXY0hMJCje2BUGlSUIttR95aSjOZflSxiGystWHME8fKMmDERAx749Jpt37M3taCxBsUzER5olPz65MGzFSikfC-jH_KGmJ4zNYS65_OM1a-CPfW7Ts__pyAXxFULNMHRMIfh8Wiig4UcooMy_ZJO_DN2rq95XdaBbzRua5mxvO2wM6iu5kv4lhNxhjVNGuWFRLLJ_icBUZlvAuC3eqp66B-Y3jJNI0cSnIvsVX8YFVS3ebW8tf40OdeVou8fWZPcQsFAAafBhIxNOW8FbLZ9sRvQ-FGwZy-GyF52IJ5ZKeGfAkeEh9ZLIcyJ2YlGp4q0EOKIdwIBsWfCFtZbAvi2ornO3XvJm94NBqprpvQYN_IB7yyRxDduLjNKqqcFqnrlWYI-ZhvghWH2rEblplgHZdyVD1G9Mbv0_zdNTKFs6J7IP96aV6-4hBOt3kROlS1G7ObA
\ No newline at end of file diff --git a/recipes-demo/cluster-dashboard/cluster-dashboard_git.bb b/recipes-demo/cluster-dashboard/cluster-dashboard_git.bb index dd0e411a3..ddf259ad0 100644 --- a/recipes-demo/cluster-dashboard/cluster-dashboard_git.bb +++ b/recipes-demo/cluster-dashboard/cluster-dashboard_git.bb @@ -19,14 +19,15 @@ PV = "1.0+git${SRCPV}" SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-cluster-demo-dashboard;protocol=https;branch=${AGL_BRANCH} \ file://cluster-dashboard.service \ - file://cluster-dashboard.conf \ + file://cluster-dashboard.conf.default \ + file://cluster-dashboard.conf.demo \ file://cluster-dashboard.token \ " -SRCREV = "137144c447d8adb618f5acbcbafd65f50264d6eb" +SRCREV = "5b69d50808ea4d90af1cdb037f25309baae23fdf" S = "${WORKDIR}/git" -inherit pkgconfig cmake_qt5 systemd +inherit pkgconfig cmake_qt5 update-alternatives systemd CLUSTER_DEMO_VSS_HOSTNAME ??= "192.168.10.2" @@ -40,11 +41,29 @@ do_install:append() { # until a packaging/sandboxing/MAC scheme is (re)implemented or # something like OAuth is plumbed in as an alternative. install -d ${D}${sysconfdir}/xdg/AGL/cluster-dashboard - install -m 0644 ${WORKDIR}/cluster-dashboard.conf ${D}${sysconfdir}/xdg/AGL/ - sed -i "s/^server = .*/server = \"${CLUSTER_DEMO_VSS_HOSTNAME}\"/" ${D}${sysconfdir}/xdg/AGL/cluster-dashboard.conf + install -m 0644 ${WORKDIR}/cluster-dashboard.conf.default ${D}${sysconfdir}/xdg/AGL/ + install -m 0644 ${WORKDIR}/cluster-dashboard.conf.demo ${D}${sysconfdir}/xdg/AGL/ install -m 0644 ${WORKDIR}/cluster-dashboard.token ${D}${sysconfdir}/xdg/AGL/cluster-dashboard/ } +ALTERNATIVE_LINK_NAME[cluster-dashboard.conf] = "${sysconfdir}/xdg/AGL/cluster-dashboard.conf" + +PACKAGE_BEFORE_PN += "${PN}-conf" +FILES:${PN}-conf += "${sysconfdir}/xdg/AGL/cluster-dashboard.conf.default" +RDEPENDS:${PN}-conf = "${PN}" +RPROVIDES:${PN}-conf = "cluster-dashboard.conf" +ALTERNATIVE:${PN}-conf = "cluster-dashboard.conf" +ALTERNATIVE_TARGET_${PN}-conf = "${sysconfdir}/xdg/AGL/cluster-dashboard.conf.default" + +PACKAGE_BEFORE_PN += "${PN}-conf-demo" +FILES:${PN}-conf-demo += "${sysconfdir}/xdg/AGL/cluster-dashboard.conf.demo" +RDEPENDS:${PN}-conf-demo = "${PN}" +RPROVIDES:${PN}-conf-demo = "cluster-dashboard.conf" +ALTERNATIVE:${PN}-conf-demo = "cluster-dashboard.conf" +ALTERNATIVE_TARGET_${PN}-conf-demo = "${sysconfdir}/xdg/AGL/cluster-dashboard.conf.demo" + +# NOTE: Not currently used in KVM demo, so no extra configurations packaged here + RDEPENDS:${PN} += " \ qtwayland \ qtbase-qmlplugins \ diff --git a/recipes-demo/dashboard/dashboard_git.bb b/recipes-demo/dashboard/dashboard_git.bb index 8ea658b10..c0ca244cc 100644 --- a/recipes-demo/dashboard/dashboard_git.bb +++ b/recipes-demo/dashboard/dashboard_git.bb @@ -18,7 +18,7 @@ SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/dashboard;protocol=https file://dashboard.conf \ file://dashboard.token \ " -SRCREV = "0cfd9c9473dcb218d095f9e6b88f41e81765fdff" +SRCREV = "b1b67ab525555a082ca257ad08fc4fba9b1f74e3" S = "${WORKDIR}/git" diff --git a/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service b/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service index 21082e7eb..83fe23508 100644 --- a/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service +++ b/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service @@ -7,7 +7,7 @@ User=agl-driver EnvironmentFile=/etc/default/flutter EnvironmentFile=-/etc/default/flutter-cluster-dashboard Environment=XDG_RUNTIME_DIR=/run/user/1001/ -ExecStart=/usr/bin/flutter-auto --b=/usr/share/flutter/flutter_cluster_dashboard/${FLUTTER_VERSION}/${FLUTTER_RUNTIME} --j=/usr/share/flutter/flutter-cluster-dashboard.json +ExecStart=/usr/bin/flutter-auto -b /usr/share/flutter/flutter_cluster_dashboard/${FLUTTER_VERSION}/${FLUTTER_RUNTIME} Restart=on-failure [Install] diff --git a/recipes-demo/flutter-cluster-dashboard/files/flutter_cluster_dashboard_on_bg.json b/recipes-demo/flutter-cluster-dashboard/files/flutter_cluster_dashboard_on_bg.json deleted file mode 100644 index c90e5e3ae..000000000 --- a/recipes-demo/flutter-cluster-dashboard/files/flutter_cluster_dashboard_on_bg.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "view": [ - { - "window_type": "BG", - "width": 1920, - "height": 1080, - "fullscreen": true - } - ] -} diff --git a/recipes-demo/flutter-cluster-dashboard/files/flutter_cluster_dashboard_on_bg.toml b/recipes-demo/flutter-cluster-dashboard/files/flutter_cluster_dashboard_on_bg.toml new file mode 100644 index 000000000..cb78ab0cd --- /dev/null +++ b/recipes-demo/flutter-cluster-dashboard/files/flutter_cluster_dashboard_on_bg.toml @@ -0,0 +1,5 @@ +[view] +window_type = "BG" +width = 1080 +height = 1920 +fullscreen = true diff --git a/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb b/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb index b09156bbb..15fce6b59 100644 --- a/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb +++ b/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=0c52b0e4b5f0dbf57ea7d44bebb2e29d" SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/flutter-instrument-cluster;protocol=https;branch=${AGL_BRANCH} \ file://flutter-cluster-dashboard.service \ - file://flutter_cluster_dashboard_on_bg.json \ + file://flutter_cluster_dashboard_on_bg.toml \ file://cluster-dashboard.yaml \ file://cluster-dashboard.yaml.demo \ file://cluster-dashboard.yaml.gateway-demo \ @@ -21,7 +21,7 @@ SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/flutter-instrument-clust " PV = "1.0+git${SRCPV}" -SRCREV = "5bd594ae8ad92e8e74966c4ad87df83ec8088c2d" +SRCREV = "15093ee4880d535c65faed929801c2d79d1a212c" S = "${WORKDIR}/git" @@ -29,7 +29,9 @@ PUBSPEC_APPNAME = "flutter_cluster_dashboard" inherit flutter-app update-alternatives systemd -APP_CONFIG = "flutter_cluster_dashboard_on_bg.json" +APP_CONFIG = "flutter_cluster_dashboard_on_bg.toml" + +PUBSPEC_IGNORE_LOCKFILE = "1" SYSTEMD_SERVICE:${PN} = "flutter-cluster-dashboard.service" @@ -38,8 +40,6 @@ do_install:append() { install -D -m 0644 ${WORKDIR}/kvm.conf ${D}${systemd_system_unitdir}/${BPN}.service.d/kvm.conf - install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/${BPN}.json - install -d ${D}${sysconfdir}/xdg/AGL/cluster-dashboard install -m 0644 ${WORKDIR}/cluster-dashboard.yaml ${D}${sysconfdir}/xdg/AGL/cluster-dashboard.yaml.default install -m 0644 ${WORKDIR}/cluster-dashboard.yaml.demo ${D}${sysconfdir}/xdg/AGL/ diff --git a/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.env b/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.env new file mode 100644 index 000000000..c85b7ed75 --- /dev/null +++ b/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.env @@ -0,0 +1 @@ +SPDLOG_LEVEL=debug diff --git a/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.json b/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.json deleted file mode 100644 index 2817e5fed..000000000 --- a/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "view" : [ { - "window_type" : "BG", - "width" : 1080, - "height": 1920, - "fullscreen": true, - "window_activation_area" : { "x" : 0, "y" : 56, "width" : 1080, "height" : 1712 } - } - ] -} diff --git a/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.service b/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.service index a61b4a1de..be1acf52b 100644 --- a/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.service +++ b/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.service @@ -1,13 +1,13 @@ [Unit] -Requires=agl-compositor.service applaunchd.service -After=agl-compositor.service applaunchd.service +Requires=agl-compositor.service applaunchd.service agl-persistent-storage-api.service +After=agl-compositor.service applaunchd.service agl-persistent-storage-api.service [Service] User=agl-driver EnvironmentFile=/etc/default/flutter EnvironmentFile=-/etc/default/flutter-ics-homescreen Environment=XDG_RUNTIME_DIR=/run/user/1001/ -ExecStart=/usr/bin/flutter-auto --b=/usr/share/flutter/flutter_ics_homescreen/${FLUTTER_VERSION}/${FLUTTER_RUNTIME} --j=/usr/share/flutter/flutter-ics-homescreen.json --xdg-shell-app-id=homescreen +ExecStart=/usr/bin/flutter-auto -b /usr/share/flutter/flutter_ics_homescreen/${FLUTTER_VERSION}/${FLUTTER_RUNTIME} --xdg-shell-app-id homescreen Restart=on-failure [Install] diff --git a/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.toml b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.toml new file mode 100644 index 000000000..e5cb7f999 --- /dev/null +++ b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.toml @@ -0,0 +1,11 @@ +[view] +window_type = "BG" +width = 1080 +height = 1920 +fullscreen = true + +[window_activation_area] +x = 0 +y = 56 +width = 1080 +height = 1712 diff --git a/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb b/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb index 45d75b7c7..bab8a9570 100644 --- a/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb +++ b/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb @@ -7,8 +7,9 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/flutter-ics-homescreen;protocol=https;branch=${AGL_BRANCH} \ - file://flutter-ics-homescreen.json \ + file://ics-homescreen.toml \ file://flutter-ics-homescreen.service \ + file://flutter-ics-homescreen.env \ file://ics-homescreen.yaml \ file://ics-homescreen.yaml.gateway-demo \ file://ics-homescreen.yaml.kvm-demo \ @@ -17,16 +18,17 @@ SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/flutter-ics-homescreen;p file://radio-presets.yaml \ file://kvm.conf \ " -SRCREV = "5587c6ae79b482fbff26442bb239d7d7eb55a337" +SRCREV = "87c4e34f16555c70d590a56b522366599209b991" S = "${WORKDIR}/git" PUBSPEC_APPNAME = "flutter_ics_homescreen" -FLUTTER_BUILD_ARGS = "bundle -v" inherit flutter-app systemd update-alternatives -APP_CONFIG = "${BPN}.json" +APP_CONFIG = "ics-homescreen.toml" + +PUBSPEC_IGNORE_LOCKFILE = "1" SYSTEMD_SERVICE:${PN} = "flutter-ics-homescreen.service" @@ -35,12 +37,16 @@ DISABLE_BG_ANIMATION = "-DDISABLE_BKG_ANIMATION=true" DISABLE_BG_ANIMATION:rcar-gen3 = "" APP_AOT_EXTRA:append = " ${DISABLE_BG_ANIMATION}" +# Check for agl-offline-voice-agent feature +ENABLE_VOICE_ASSISTANT = "${@bb.utils.contains('EXTRA_IMAGE_FEATURES', 'agl-offline-voice-agent', '-DENABLE_VOICE_ASSISTANT=true', '-DENABLE_VOICE_ASSISTANT=false', d)}" +APP_AOT_EXTRA:append = " ${ENABLE_VOICE_ASSISTANT}" + do_install:append() { install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service - install -D -m 0644 ${WORKDIR}/kvm.conf ${D}${systemd_system_unitdir}/${BPN}.service.d/kvm.conf + install -D -m 0644 ${WORKDIR}/${BPN}.env ${D}${sysconfdir}/default/${BPN} - install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/${BPN}.json + install -D -m 0644 ${WORKDIR}/kvm.conf ${D}${systemd_system_unitdir}/${BPN}.service.d/kvm.conf # VIS authorization token file for KUKSA.val should ideally not # be readable by other users, but currently that's not doable @@ -57,7 +63,7 @@ do_install:append() { ALTERNATIVE_LINK_NAME[ics-homescreen.yaml] = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml" -FILES:${PN} += "${datadir} ${sysconfdir}/xdg/AGL" +FILES:${PN} += "${datadir} ${sysconfdir}/xdg/AGL ${sysconfdir}/default" RDEPENDS:${PN} += " \ flutter-auto \ diff --git a/recipes-demo/flutter-mediaplayer/flutter-mediaplayer_git.bb b/recipes-demo/flutter-mediaplayer/flutter-mediaplayer_git.bb deleted file mode 100644 index 8bf013e88..000000000 --- a/recipes-demo/flutter-mediaplayer/flutter-mediaplayer_git.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Flutter MediaPlayer app for IVI" -DESCRIPTION = "A Flutter based IVI Dashboard Application for automotive grade Linux" - -HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/flutter-mediaplayer" - -BUGTRACKER = "https://github.com/hritik-chouhan/musicplayer/issues" - -SECTION = "graphics" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://License.md;md5=f712ede8d4f845976061925d1416fc40" - - -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/flutter-mediaplayer;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "735de5a38ea937ee13157f6ac594053ddb8b027b" -S = "${WORKDIR}/git" - -inherit agl-app flutter-app - -# flutter-app -############# -PUBSPEC_APPNAME = "musicplayer" -FLUTTER_BUILD_ARGS = "bundle -v" - -# agl-app -######### -AGL_APP_TEMPLATE = "agl-app-flutter" -AGL_APP_ID = "musicplayer" -AGL_APP_NAME = "Flutter MediaPlayer" diff --git a/recipes-demo/flutter-nav/files/nav_config.yaml b/recipes-demo/flutter-nav/files/nav_config.yaml deleted file mode 100644 index 6824c6b74..000000000 --- a/recipes-demo/flutter-nav/files/nav_config.yaml +++ /dev/null @@ -1,3 +0,0 @@ -hostname : localhost -port : 8090 -kuskaAuthToken : eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJrdWtzYS52YWwiLCJpc3MiOiJFY2xpcHNlIEtVS1NBIERldiIsImFkbWluIjp0cnVlLCJtb2RpZnlUcmVlIjp0cnVlLCJpYXQiOjE1MTYyMzkwMjIsImV4cCI6MTc2NzIyNTU5OSwia3Vrc2EtdnNzIjp7IioiOiJydyJ9fQ.p2cnFGH16QoQ14l6ljPVKggFXZKmD-vrw8G6Vs6DvAokjsUG8FHh-F53cMsE-GDjyZH_1_CrlDCnbGlqjsFbgAylqA7IAJWp9_N6dL5p8DHZTwlZ4IV8L1CtCALs7XVqvcQKHCCzB63Y8PgVDCAqpQSRb79JPVD4pZwkBKpOknfEY5y9wfbswZiRKdgz7o61_oFnd-yywpse-23HD6v0htThVF1SuGL1PuvGJ8p334nt9bpkZO3gaTh1xVD_uJMwHzbuBCF33_f-I5QMZO6bVooXqGfe1zvl3nDrPEjq1aPulvtP8RgREYEqE6b2hB8jouTiC_WpE3qrdMw9sfWGFbm04qC-2Zjoa1yYSXoxmYd0SnliSYHAad9aXoEmFENezQV-of7sc-NX1-2nAXRAEhaqh0IRuJwB4_sG7SvQmnanwkz-sBYxKqkoFpOsZ6hblgPDOPYY2NAsZlYkjvAL2mpiInrsmY_GzGsfwPeAx31iozImX75rao8rm-XucAmCIkRlpBz6MYKCjQgyRz3UtZCJ2DYF4lKqTjphEAgclbYZ7KiCuTn9HualwtEmVzHHFneHMKl7KnRQk-9wjgiyQ5nlsVpCCblg6JKr9of4utuPO3cBvbjhB4_ueQ40cpWVOICcOLS7_w0i3pCq1ZKDEMrYDJfz87r2sU9kw1zeFQk diff --git a/recipes-demo/flutter-nav/flutter-nav_git.bb b/recipes-demo/flutter-nav/flutter-nav_git.bb deleted file mode 100644 index 116680520..000000000 --- a/recipes-demo/flutter-nav/flutter-nav_git.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "Flutter Navigation app" -DESCRIPTION = "A Flutter based IVI Dashboard Application for automotive grade Linux." - -HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/flutter-navigation" - -BUGTRACKER = "https://github.com/hritik-chouhan/nav-app/issues" - -SECTION = "graphics" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://License.md;md5=f712ede8d4f845976061925d1416fc40" - - -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/flutter-navigation;protocol=https;branch=${AGL_BRANCH} \ - file://nav_config.yaml \ - " -SRCREV = "53164c0441db946b4293f483a28b524ecdc91e30" -S = "${WORKDIR}/git" - -MAPBOX_API_KEY ??= "YOU_NEED_TO_SET_IT_IN_LOCAL_CONF" - -inherit agl-app flutter-app - -# flutter-app -############# -PUBSPEC_APPNAME = "flutter_navigation" -FLUTTER_BUILD_ARGS = "bundle -v" - -# agl-app -######### -AGL_APP_TEMPLATE = "agl-app-flutter" -AGL_APP_ID = "flutter_navigation" -AGL_APP_NAME = "Flutter Navigation" - -do_configure:prepend() { - if [ "${MAPBOX_API_KEY}" = "YOU_NEED_TO_SET_IT_IN_LOCAL_CONF" ]; then - bbwarn "WARNING: You should set mapbox API key to mapbox_API_KEY variable in local.conf." - fi -} - -do_install:append() { - install -d ${D}${sysconfdir}/xdg/AGL - install -m 0644 ${WORKDIR}/nav_config.yaml ${D}${sysconfdir}/xdg/AGL/ - - install -m 0755 -d ${D}${sysconfdir}/default/ - - echo 'MAPBOX_API_KEY:${MAPBOX_API_KEY}' >> ${D}${sysconfdir}/default/mapboxkey -} - -FILES:${PN} += "${sysconfdir}/xdg/AGL ${sysconfdir}/default/" - diff --git a/recipes-demo/pre-install/pre-install-music-data.bb b/recipes-demo/pre-install/pre-install-music-data.bb new file mode 100644 index 000000000..991f00d31 --- /dev/null +++ b/recipes-demo/pre-install/pre-install-music-data.bb @@ -0,0 +1,32 @@ +SUMMARY = "Music data for AGL demo" +DESCRIPTION = "Music data for AGL demo aims to setup pre-install music data to use AGL demo use. All music data approved redistribution by provider. " +HOMEPAGE = "https://github.com/agl-ic-eg/demo-music-cache" +SECTION = "Multimedia" +LICENSE = "CC-BY-2.1-JP" +LIC_FILES_CHKSUM = "file://andotowa.quu.cc/LICENSE;md5=f2eaecf5559b657628481f004767cf27" + +SRC_URI = " \ + git://github.com/agl-ic-eg/demo-music-cache.git;branch=master;protocol=https \ +" +SRCREV = "c300ede365fc64ea759ca696fea676069ef80e01" + +inherit allarch + +S = "${WORKDIR}/git" + +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +ERROR_QA:remove = "empty-dirs" + +do_compile[noexec] = "1" +do_install() { + install -d ${D}/media/pre-install/andotowa.quu.cc + cp ${S}/andotowa.quu.cc/* ${D}/media/pre-install/andotowa.quu.cc/ +} + +PACKAGES = "\ + ${PN} \ +" + +FILES:${PN} = " \ + /media/pre-install/* \ +" diff --git a/recipes-multimedia/wireplumber/files/30-AGL-demo-v4l2.conf b/recipes-multimedia/wireplumber/files/30-AGL-demo-v4l2.conf new file mode 100644 index 000000000..0a2a3b639 --- /dev/null +++ b/recipes-multimedia/wireplumber/files/30-AGL-demo-v4l2.conf @@ -0,0 +1,22 @@ +# meta-agl-demo WirePlumber V4L2 monitor configuration + +monitor.v4l2.rules = [ + # + # Bump the priority of any USB camera + # Higher priority means it gets selected as the default if it's present + # This makes camera-gstreamer work out of the box in demos with a USB camera + # + { + matches = [ + { + node.name = "~v4l2_input.*usb.*" + } + ] + actions = { + update-props = { + priority.driver = 1300 + priority.session = 1300 + } + } + } +] diff --git a/recipes-multimedia/wireplumber/files/30-v4l2-monitor.lua b/recipes-multimedia/wireplumber/files/30-v4l2-monitor.lua deleted file mode 100644 index 394386235..000000000 --- a/recipes-multimedia/wireplumber/files/30-v4l2-monitor.lua +++ /dev/null @@ -1,59 +0,0 @@ --- V4L2 monitor config file; with selecting by default USB camera -- - -v4l2_monitor = {} -v4l2_monitor.properties = {} - -v4l2_monitor.rules = { - -- An array of matches/actions to evaluate. - { - -- Rules for matching a device or node. It is an array of - -- properties that all need to match the regexp. If any of the - -- matches work, the actions are executed for the object. - matches = { - { - -- This matches all cards. - { "device.name", "matches", "v4l2_device.*" }, - }, - }, - -- Apply properties on the matched object. - apply_properties = { - -- ["device.nick"] = "My Device", - }, - }, - { - matches = { - { - -- Matches all sources. - { "node.name", "matches", "v4l2_input.*" }, - }, - { - -- Matches all sinks. - { "node.name", "matches", "v4l2_output.*" }, - }, - }, - apply_properties = { - --["node.nick"] = "My Node", - --["priority.driver"] = 100, - --["priority.session"] = 100, - --["node.pause-on-idle"] = false, - }, - }, - { - matches = { - { - { "node.name", "matches", "v4l2_input*usb*" }, - }, - }, - apply_properties = { - ["priority.driver"] = 1300, - ["priority.session"] = 1300, - }, - }, -} - -function v4l2_monitor.enable() - load_monitor("v4l2", { - properties = v4l2_monitor.properties, - rules = v4l2_monitor.rules, - }) -end diff --git a/recipes-multimedia/wireplumber/wireplumber-config-agl_%.bbappend b/recipes-multimedia/wireplumber/wireplumber-config-agl_%.bbappend index 8f93868db..f39efc1c0 100644 --- a/recipes-multimedia/wireplumber/wireplumber-config-agl_%.bbappend +++ b/recipes-multimedia/wireplumber/wireplumber-config-agl_%.bbappend @@ -1,10 +1,8 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -SRC_URI += "file://30-v4l2-monitor.lua" +SRC_URI += "file://30-AGL-demo-v4l2.conf" do_install:append() { - # override the one from meta-agl to be able to set as default USB camera - # such that camera-gstreamer and implicitly pipewire work out of the box - install -D -m 0644 ${WORKDIR}/30-v4l2-monitor.lua ${D}${sysconfdir}/wireplumber/host.lua.d/ + install -D -m 0644 ${WORKDIR}/30-AGL-demo-v4l2.conf ${D}${sysconfdir}/wireplumber/wireplumber.conf.d/ } diff --git a/recipes-platform/images/agl-cluster-demo-flutter.bb b/recipes-platform/images/agl-cluster-demo-flutter.bb index dfa256209..1459893b9 100644 --- a/recipes-platform/images/agl-cluster-demo-flutter.bb +++ b/recipes-platform/images/agl-cluster-demo-flutter.bb @@ -12,6 +12,10 @@ IMAGE_FEATURES += " \ kuksa-val-databroker \ " +AGL_DEVEL_INSTALL = " \ + simple-can-simulator \ +" + # Generic IMAGE_INSTALL += "\ weston-ini-conf-landscape \ @@ -19,7 +23,7 @@ IMAGE_INSTALL += "\ packagegroup-agl-networking \ cluster-receiver \ \ - simple-can-simulator \ + ${@bb.utils.contains("DISTRO_FEATURES", "agl-devel", "${AGL_DEVEL_INSTALL}" , "", d)} \ " # Flutter diff --git a/recipes-platform/images/agl-cluster-demo-qt-preconfigured.bb b/recipes-platform/images/agl-cluster-demo-qt-preconfigured.bb index c993406cf..8d295b93a 100644 --- a/recipes-platform/images/agl-cluster-demo-qt-preconfigured.bb +++ b/recipes-platform/images/agl-cluster-demo-qt-preconfigured.bb @@ -12,6 +12,8 @@ IMAGE_INSTALL:remove = "weston-terminal-conf" # default compositor configuration needs to be replaced. IMAGE_INSTALL:remove = "weston-ini-conf-landscape" +QT_CLUSTER_DASHBOARD_CONF = "cluster-dashboard-conf-demo" + IMAGE_INSTALL += " \ cluster-demo-config \ weston-ini-conf-landscape-inverted \ diff --git a/recipes-platform/images/agl-cluster-demo-qt.bb b/recipes-platform/images/agl-cluster-demo-qt.bb index 03dfb36cc..225fe32c6 100644 --- a/recipes-platform/images/agl-cluster-demo-qt.bb +++ b/recipes-platform/images/agl-cluster-demo-qt.bb @@ -16,10 +16,20 @@ IMAGE_FEATURES += " \ kuksa-val-databroker \ " +# Set up for testing with the databroker when using agl-devel +AGL_DEVEL_INSTALL = " \ + cluster-demo-config \ + simple-can-simulator \ +" + +QT_CLUSTER_DASHBOARD_CONF = "cluster-dashboard-conf" + # add packages for cluster demo platform (include demo apps) here IMAGE_INSTALL += " \ packagegroup-agl-cluster-demo-platform \ + ${QT_CLUSTER_DASHBOARD_CONF} \ kuksa-certificates-agl-ca \ weston-ini-conf-landscape \ + ${@bb.utils.contains("DISTRO_FEATURES", "agl-devel", "${AGL_DEVEL_INSTALL}" , "", d)} \ ${@bb.utils.contains("AGL_FEATURES", "AGLCI", "qemu-set-display", "", d)} \ " diff --git a/recipes-platform/images/agl-ivi-demo-flutter.bb b/recipes-platform/images/agl-ivi-demo-flutter.bb index 5753d58af..3a280e6f3 100644 --- a/recipes-platform/images/agl-ivi-demo-flutter.bb +++ b/recipes-platform/images/agl-ivi-demo-flutter.bb @@ -5,10 +5,14 @@ SUMMARY = "AGL IVI demo Flutter image" FLUTTER_ICS_HOMESCREEN_CONF = "flutter-ics-homescreen-conf" ONDEMANDNAVI_CONF = "ondemandnavi-conf" +# import default music data package if PREINSTALL_MUSIC is set to "1" +MUSICDATA ?= "${@oe.utils.conditional("PREINSTALL_MUSIC", "1", "pre-install-music-data", "", d)}" + AGL_APPS_INSTALL += " \ flutter-ics-homescreen \ ${FLUTTER_ICS_HOMESCREEN_CONF} \ camera-gstreamer \ ondemandnavi \ ${ONDEMANDNAVI_CONF} \ + ${MUSICDATA} \ " diff --git a/recipes-platform/images/agl-ivi-demo-qt.bb b/recipes-platform/images/agl-ivi-demo-qt.bb index 8fe988d06..58bab4792 100644 --- a/recipes-platform/images/agl-ivi-demo-qt.bb +++ b/recipes-platform/images/agl-ivi-demo-qt.bb @@ -4,6 +4,9 @@ SUMMARY = "AGL IVI demo Qt image" ONDEMANDNAVI_CONF = "ondemandnavi-conf" +# import default music data package if PREINSTALL_MUSIC is set to "1" +MUSICDATA ?= "${@oe.utils.conditional("PREINSTALL_MUSIC", "1", "pre-install-music-data", "", d)}" + AGL_APPS_INSTALL += " \ dashboard \ hvac \ @@ -21,5 +24,6 @@ AGL_APPS_INSTALL += " \ IMAGE_INSTALL += " \ packagegroup-agl-demo-platform \ weston-terminal-conf \ + ${MUSICDATA} \ " diff --git a/recipes-platform/images/agl-ivi-image-flutter.bb b/recipes-platform/images/agl-ivi-image-flutter.bb index 0c227f0ea..c6d00c6bc 100644 --- a/recipes-platform/images/agl-ivi-image-flutter.bb +++ b/recipes-platform/images/agl-ivi-image-flutter.bb @@ -4,5 +4,6 @@ SUMMARY = "AGL IVI demo base Flutter image" IMAGE_INSTALL += " \ packagegroup-agl-demo-platform-flutter \ + agl-persistent-storage-api \ weston-terminal-conf \ " diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo.bb b/recipes-platform/packagegroups/packagegroup-agl-demo.bb index 90283e065..8fdd2ea9f 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-demo.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-demo.bb @@ -9,13 +9,6 @@ PACKAGES = "\ packagegroup-agl-demo \ " -# Hook for demo platform configuration -# ATM, only used to disable btwilink module on [MH]3ULCB + Kingfisher by default, -# setting DEMO_ENABLE_BTWILINK to "true" in local.conf / site.conf re-enables. -DEMO_ENABLE_BTWILINK ?= "" -DEMO_PLATFORM_CONF = "" -DEMO_PLATFORM_CONF:append:ulcb = "${@bb.utils.contains("DEMO_ENABLE_BTWILINK", "true", "", " btwilink-disable-conf", d)}" - # fonts TTF_FONTS = " \ ttf-bitstream-vera \ @@ -34,6 +27,5 @@ RDEPENDS:${PN} += " \ linux-firmware-ath9k \ linux-firmware-ralink \ iproute2 \ - ${DEMO_PLATFORM_CONF} \ ${TTF_FONTS} \ " diff --git a/recipes-qt/qt/qtbase_agldemo.inc b/recipes-qt/qt/qtbase_agldemo.inc index b2bfe3749..03743740c 100644 --- a/recipes-qt/qt/qtbase_agldemo.inc +++ b/recipes-qt/qt/qtbase_agldemo.inc @@ -1,5 +1 @@ -# Enable EGL and KMS platform plugins to allow demos of Qt compositor -# without Wayland -PACKAGECONFIG_GL:append = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' eglfs kms gbm', '', d)}" - PACKAGECONFIG:append = " xkbcommon icu fontconfig sql-sqlite" diff --git a/templates/feature/agl-demo-control-panel/50_bblayers.conf.inc b/templates/feature/agl-demo-control-panel/50_bblayers.conf.inc index 479655bc4..886befa72 100644 --- a/templates/feature/agl-demo-control-panel/50_bblayers.conf.inc +++ b/templates/feature/agl-demo-control-panel/50_bblayers.conf.inc @@ -7,7 +7,7 @@ BBLAYERS =+ " \ #AGL_META_FILESYSTEMS = "${METADIR}/external/meta-openembedded/meta-filesystems" #AGL_META_MULTIMEDIA = "${METADIR}/external/meta-openembedded/meta-multimedia" -#AGL_META_NETWORKING = "${METADIR}/external/meta-openembedded/meta-networking" +AGL_META_NETWORKING = "${METADIR}/external/meta-openembedded/meta-networking" AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python" AGL_META_QT5 = "${METADIR}/external/meta-qt6" AGL_META_CLANG = " ${METADIR}/external/meta-clang " |