From: Jan-Simon Möller Date: Tue, 15 May 2018 12:47:00 +0000 (+0200) Subject: 3rd part of the layer/profile rework [2/2] X-Git-Tag: flounder_5.99.1~10^2 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL%2Fmeta-agl-demo.git;a=commitdiff_plain;h=b6852864508358930586e083e72cd2912af68674 3rd part of the layer/profile rework [2/2] This is the last part of the layer rework series. Notable changes are: - move demo specific recipes to the demo (dlt, web-runtime mocca-usb) - wayland-ivi-extension moved to the meta-agl-demo layer for now. - web-runtime moved here (from appfw layer to allow console-only builds with appfw) - adapted packagegroups and agl-features v2: squashed with commit on sandbox to form single commit (tnx, Scott) v3: inclusion of old packagegroup-agl-image-ivi (TODO: refactor and include in profile packagegroups. Tnx, Stephane) v4: base packagegroup-agl-demo-platform on packagegroup-agl-profile-graphical-qt5 v5: fix MOST_DRIVERS_append (disable due to FTBS) v6: re-add RDEPENDS for virtual/pulseaudio-config Bug-AGL: SPEC-145 Bug-AGL: SPEC-1422 Change-Id: I20bd5b9a957ea54a7ecd08bd4f8b99a32266c9c8 Signed-off-by: Jan-Simon Möller --- diff --git a/recipes-core/.gitkeep b/recipes-core/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/recipes-core/packagegroups/packagegroup-ivi-common-core-multimedia.bbappend b/recipes-core/packagegroups/packagegroup-ivi-common-core-multimedia.bbappend deleted file mode 100644 index 412cd62cd..000000000 --- a/recipes-core/packagegroups/packagegroup-ivi-common-core-multimedia.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -RDEPENDS_${PN} += "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'agl-audio-4a-framework', '' , 'virtual/pulseaudio-config', d)} \ - " diff --git a/recipes-demo-hmi/.gitkeep b/recipes-demo-hmi/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch b/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch new file mode 100644 index 000000000..5bf6bf88e --- /dev/null +++ b/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch @@ -0,0 +1,30 @@ +From 8080b7395c1638baee60fb3c46667f21e00b87fb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Erik=20Bot=C3=B6?= +Date: Fri, 4 Apr 2014 10:59:18 +0200 +Subject: [PATCH 1/4] Fix build with systemd >= 209 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [Configuration Specific] +Signed-off-by: Erik Botö +--- + src/system/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/system/CMakeLists.txt b/src/system/CMakeLists.txt +index ce87914..1d0d224 100644 +--- a/src/system/CMakeLists.txt ++++ b/src/system/CMakeLists.txt +@@ -23,7 +23,7 @@ set(dlt_system_SRCS dlt-system.c dlt-system-options.c dlt-system-process-handlin + dlt-system-syslog.c dlt-system-watchdog.c dlt-system-journal.c) + add_executable(dlt-system ${dlt_system_SRCS} ${systemd_SRCS}) + if(WITH_SYSTEMD_JOURNAL) +- target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES} systemd-journal systemd-id128) ++ target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES} systemd) + else(WITH_SYSTEMD_JOURNAL) + target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES}) + endif(WITH_SYSTEMD_JOURNAL) +-- +1.9.3 + diff --git a/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch b/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch new file mode 100644 index 000000000..168847990 --- /dev/null +++ b/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch @@ -0,0 +1,81 @@ +From bcca4c99394ba422d03a5e76f2a0023ef248824a Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Tue, 18 Nov 2014 15:47:22 +0100 +Subject: [PATCH 2/4] Don't execute processes as a specific user. + +Upstream-Status: Inappropriate [Configuration Specific] +Signed-off-by: Andrei Gherzan +--- + systemd/dlt-adaptor-udp.service.cmake | 1 - + systemd/dlt-example-user.service.cmake | 1 - + systemd/dlt-receive.service.cmake | 1 - + systemd/dlt-system.service.cmake | 1 - + systemd/dlt.service.cmake | 1 - + 5 files changed, 5 deletions(-) + +diff --git a/systemd/dlt-adaptor-udp.service.cmake b/systemd/dlt-adaptor-udp.service.cmake +index 8dac1f2..ecf9f9e 100644 +--- a/systemd/dlt-adaptor-udp.service.cmake ++++ b/systemd/dlt-adaptor-udp.service.cmake +@@ -21,9 +21,8 @@ Wants=dlt.service + + [Service] + Type=simple +-User=@DLT_USER@ + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-adaptor-udp -a @DLT_ADAPTOR_UDP_APPID@ -c @DLT_ADAPTOR_UDP_CTID@ -p @DLT_ADAPTOR_UDP_PORT@ + LimitCORE=infinity + + [Install] +-WantedBy=multi-user.target +\ No newline at end of file ++WantedBy=multi-user.target +diff --git a/systemd/dlt-example-user.service.cmake b/systemd/dlt-example-user.service.cmake +index b665742..35009b0 100644 +--- a/systemd/dlt-example-user.service.cmake ++++ b/systemd/dlt-example-user.service.cmake +@@ -21,6 +21,5 @@ Wants=dlt.service + + [Service] + Type=simple +-User=@DLT_USER@ + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from GENIVI DLT example user application" +-LimitCORE=infinity +\ No newline at end of file ++LimitCORE=infinity +diff --git a/systemd/dlt-receive.service.cmake b/systemd/dlt-receive.service.cmake +index c07d447..8f88f00 100644 +--- a/systemd/dlt-receive.service.cmake ++++ b/systemd/dlt-receive.service.cmake +@@ -22,6 +22,5 @@ Wants=dlt.service + + [Service] + Type=simple +-User=@DLT_USER@ + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-receive -o /tmp/dlt_receive_log.dlt localhost +-LimitCORE=infinity +\ No newline at end of file ++LimitCORE=infinity +diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake +index 0e91f42..1a5b913 100755 +--- a/systemd/dlt-system.service.cmake ++++ b/systemd/dlt-system.service.cmake +@@ -22,7 +22,6 @@ Wants=dlt.service + + [Service] + Type=simple +-User=@DLT_USER@ + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system + WatchdogSec=@DLT_WatchdogSec@ + NotifyAccess=main +diff --git a/systemd/dlt.service.cmake b/systemd/dlt.service.cmake +index 0b3ee2c..e4753a2 100755 +--- a/systemd/dlt.service.cmake ++++ b/systemd/dlt.service.cmake +@@ -21,7 +21,6 @@ Documentation=man:dlt-daemon(1) man:dlt.conf(5) + + [Service] + Type=simple +-User=@DLT_USER@ + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-daemon + WatchdogSec=@DLT_WatchdogSec@ + NotifyAccess=main diff --git a/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch b/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch new file mode 100644 index 000000000..691a50027 --- /dev/null +++ b/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch @@ -0,0 +1,98 @@ +From 6804c68ed61f4436818c58cb0abe1c21b4d48aea Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Tue, 18 Nov 2014 15:48:50 +0100 +Subject: [PATCH 3/4] systemd/*: unit type should be in lowercase, so use + Type=simple + +Upstream-Status: Submitted [http://lists.genivi.org/pipermail/genivi-diagnostic-log-and-trace/2014-October/000546.html] +Signed-off-by: Andrei Gherzan +--- + systemd/dlt-adaptor-udp.service.cmake | 2 +- + systemd/dlt-dbus.service.cmake | 2 +- + systemd/dlt-example-user.service.cmake | 2 +- + systemd/dlt-receive.service.cmake | 2 +- + systemd/dlt-system.service.cmake | 2 +- + systemd/dlt.service.cmake | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/systemd/dlt-adaptor-udp.service.cmake b/systemd/dlt-adaptor-udp.service.cmake +index f446757..81a7158 100644 +--- a/systemd/dlt-adaptor-udp.service.cmake ++++ b/systemd/dlt-adaptor-udp.service.cmake +@@ -19,7 +19,7 @@ Description=GENIVI DLT adaptor stdin. Adaptor for forwarding received UDP messag + Wants=dlt.service + + [Service] +-Type=Simple ++Type=simple + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-adaptor-udp -a @DLT_ADAPTOR_UDP_APPID@ -c @DLT_ADAPTOR_UDP_CTID@ -p @DLT_ADAPTOR_UDP_PORT@ + LimitCORE=infinity + +diff --git a/systemd/dlt-dbus.service.cmake b/systemd/dlt-dbus.service.cmake +index d1e3b12..75dcdc3 100755 +--- a/systemd/dlt-dbus.service.cmake ++++ b/systemd/dlt-dbus.service.cmake +@@ -20,7 +20,7 @@ Documentation=man:dlt-dbus(1) man:dlt-dbus.conf(5) + Wants=dlt.service + + [Service] +-Type=Simple ++Type=simple + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-dbus + WatchdogSec=@DLT_WatchdogSec@ + NotifyAccess=main +diff --git a/systemd/dlt-example-user.service.cmake b/systemd/dlt-example-user.service.cmake +index b67a83c..fe9c567 100644 +--- a/systemd/dlt-example-user.service.cmake ++++ b/systemd/dlt-example-user.service.cmake +@@ -19,6 +19,6 @@ Description=GENIVI DLT example user. Generate DLT messages and store them to fil + Wants=dlt.service + + [Service] +-Type=Simple ++Type=simple + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from GENIVI DLT example user application" + LimitCORE=infinity +\ No newline at end of file +diff --git a/systemd/dlt-receive.service.cmake b/systemd/dlt-receive.service.cmake +index 4bbdfc2..3b47dd3 100644 +--- a/systemd/dlt-receive.service.cmake ++++ b/systemd/dlt-receive.service.cmake +@@ -20,6 +20,6 @@ Documentation=man:dlt-receive(1) + Wants=dlt.service + + [Service] +-Type=Simple ++Type=simple + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-receive -o /tmp/dlt_receive_log.dlt localhost + LimitCORE=infinity +\ No newline at end of file +diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake +index 7ec995c..d4a4c96 100755 +--- a/systemd/dlt-system.service.cmake ++++ b/systemd/dlt-system.service.cmake +@@ -20,7 +20,7 @@ Documentation=man:dlt-system(1) man:dlt-system.conf(5) + Wants=dlt.service + + [Service] +-Type=Simple ++Type=simple + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system + WatchdogSec=@DLT_WatchdogSec@ + NotifyAccess=main +diff --git a/systemd/dlt.service.cmake b/systemd/dlt.service.cmake +index 7bb05bc..5386ffd 100755 +--- a/systemd/dlt.service.cmake ++++ b/systemd/dlt.service.cmake +@@ -19,7 +19,7 @@ Description=GENIVI DLT logging daemon + Documentation=man:dlt-daemon(1) man:dlt.conf(5) + + [Service] +-Type=Simple ++Type=simple + ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-daemon + WatchdogSec=@DLT_WatchdogSec@ + NotifyAccess=main +-- +1.9.3 + diff --git a/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch b/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch new file mode 100644 index 000000000..685dfcddc --- /dev/null +++ b/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch @@ -0,0 +1,24 @@ +From 9a5e655cf57301008cd61d53c8a410a7f397e650 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Tue, 18 Nov 2014 15:51:30 +0100 +Subject: [PATCH 4/4] Modify systemd config directory + +Upstream-Status: Inappropriate [Configuration Specific] +Signed-off-by: Andrei Gherzan +--- + systemd/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e6b44a2..0e885bf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -175,7 +175,7 @@ if(WITH_SYSTEMD OR WITH_SYSTEMD_WATCHDOG OR WITH_SYSTEMD_JOURNAL) + + set( systemd_SRCS ${CMAKE_SOURCE_DIR}/systemd/3rdparty/sd-daemon.c) + +- set(SYSTEMD_UNITDIR "${CMAKE_INSTALL_PREFIX}/lib/systemd/system" CACHE PATH ++ set(SYSTEMD_UNITDIR "/lib/systemd/system" CACHE PATH + "Set directory to install systemd unit files") + + add_subdirectory( systemd ) diff --git a/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb b/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb new file mode 100644 index 000000000..b521bca91 --- /dev/null +++ b/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb @@ -0,0 +1,54 @@ +SUMMARY = "Diagnostic Log and Trace" +DESCRIPTION = "This component provides a standardised log and trace interface, \ +based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \ +This component can be used by GENIVI components and other applications as \ +logging facility providing: \ +- the DLT shared library \ +- the DLT daemon, including startup scripts \ +- the DLT daemon adaptors- the DLT client console utilities \ +- the DLT test applications" +HOMEPAGE = "https://www.genivi.org/" +SECTION = "console/utils" +LICENSE = "MPLv2" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=99ba60c3fad7eaf8c56bca6dd75cba09 \ + file://MPL.txt;md5=ccdb2761cef70c8b2612624c323f89dc" + +DEPENDS = "dbus zlib pigz-native" +do_unpack[depends] += "pigz-native:do_populate_sysroot" + +# FIX ME +# This should be TAG = "v${PV}" but yocto doesn't support lightweight tags for now +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=6881 +TAG = "b8b3ea3a31f7deb681941a19878c82e7b7350ae7" +BRANCH = "v2.11.x" +SRC_URI = "git://git.projects.genivi.org/${PN}.git;branch=${BRANCH};tag=${TAG} \ + file://0001-Fix-build-with-systemd-209.patch \ + file://0002-Don-t-execute-processes-as-a-specific-user.patch \ + file://0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch \ + file://0004-Modify-systemd-config-directory.patch" +S = "${WORKDIR}/git" + +inherit autotools gettext cmake systemd + +# -fPIC is needed to prevent relocation errors when we compile gtest with +# Yocto security flags. See this issue for more details: +# +# https://github.com/google/googletest/issues/854 +# +# If that issue is fixed, we can probably remove the manual -fPIC flags here. +OECMAKE_C_FLAGS += "-fPIC" +OECMAKE_CXX_FLAGS += "-fPIC" + +PACKAGES += "${PN}-systemd" +SYSTEMD_PACKAGES = "${PN} ${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "dlt-system.service dlt.service" +SYSTEMD_AUTO_ENABLE_${PN} = "enable" +SYSTEMD_SERVICE_${PN}-systemd = "dlt-example-user.service \ + dlt-dbus.service \ + dlt-adaptor-udp.service \ + dlt-receive.service" +SYSTEMD_AUTO_ENABLE_${PN}-systemd = "disable" + +EXTRA_OECMAKE = "-DWITH_SYSTEMD=ON" + +FILES_${PN}-doc += "/usr/share/dlt-filetransfer" diff --git a/recipes-extended/dlt-daemon/dlt-daemon_2.15.0.bb b/recipes-extended/dlt-daemon/dlt-daemon_2.15.0.bb new file mode 100644 index 000000000..dbc87c9ac --- /dev/null +++ b/recipes-extended/dlt-daemon/dlt-daemon_2.15.0.bb @@ -0,0 +1,52 @@ +SUMMARY = "Diagnostic Log and Trace" +DESCRIPTION = "This component provides a standardised log and trace interface, \ +based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \ +This component can be used by GENIVI components and other applications as \ +logging facility providing: \ +- the DLT shared library \ +- the DLT daemon, including startup scripts \ +- the DLT daemon adaptors- the DLT client console utilities \ +- the DLT test applications" +HOMEPAGE = "https://www.genivi.org/" +SECTION = "console/utils" +LICENSE = "MPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8184208060df880fe3137b93eb88aeea" + +DEPENDS = "dbus zlib pigz-native" +do_unpack[depends] += "pigz-native:do_populate_sysroot" + +SRCREV = "e9a486a08fff6d3cc7133a350cec3ee10f463207" +SRC_URI = "git://git.projects.genivi.org/${BPN}.git;protocol=http \ + file://0002-Don-t-execute-processes-as-a-specific-user.patch \ + file://0004-Modify-systemd-config-directory.patch \ + " +S = "${WORKDIR}/git" + +inherit autotools gettext cmake systemd + +# -fPIC is needed to prevent relocation errors when we compile gtest with +# Yocto security flags. See this issue for more details: +# +# https://github.com/google/googletest/issues/854 +# +# If that issue is fixed, we can probably remove the manual -fPIC flags here. +OECMAKE_C_FLAGS += "-fPIC" +OECMAKE_CXX_FLAGS += "-fPIC" + +PACKAGES += "${PN}-systemd" +SYSTEMD_PACKAGES = "${PN} ${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "dlt-system.service dlt.service" +SYSTEMD_AUTO_ENABLE_${PN} = "enable" +SYSTEMD_SERVICE_${PN}-systemd = "dlt-example-user.service \ + dlt-dbus.service \ + dlt-adaptor-udp.service \ + dlt-receive.service" +SYSTEMD_AUTO_ENABLE_${PN}-systemd = "disable" + +EXTRA_OECMAKE = "-DWITH_SYSTEMD=ON" + +FILES_${PN}-doc += "/usr/share/dlt-filetransfer" + +do_install_append() { + rm -f ${D}${bindir}/dlt-test-* +} diff --git a/recipes-graphics/wayland/wayland-ivi-extension/0001-Resolve-weston-crush-when-repeat-touching-very-quick.patch b/recipes-graphics/wayland/wayland-ivi-extension/0001-Resolve-weston-crush-when-repeat-touching-very-quick.patch new file mode 100644 index 000000000..636ecf1b9 --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension/0001-Resolve-weston-crush-when-repeat-touching-very-quick.patch @@ -0,0 +1,31 @@ +From 97af4843a4705cd7d5b6b69abb9002fd974a5b94 Mon Sep 17 00:00:00 2001 +From: Tadao Tanikawa +Date: Fri, 12 Jan 2018 01:53:01 +0900 +Subject: [PATCH] Resolve weston cursh when repeat touching very quickly + +Weston sometimes crush while the user repeat touching very +quickly icons/shortcuts on HomeScreen. + +Signed-off-by: Tadao Tanikawa +--- + ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c b/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c +index b0fe37d..f1a31d0 100644 +--- a/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c ++++ b/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c +@@ -557,6 +557,10 @@ touch_grab_up(struct weston_touch_grab *grab, uint32_t time, int touch_id) + const struct ivi_layout_interface *interface = + seat->input_ctx->ivi_layout_interface; + ++ /* if touch device has no focused view, there is nothing to do*/ ++ if (grab->touch->focus == NULL) ++ return; ++ + /* For each surface_ctx, check for focus and send */ + wl_list_for_each(surf_ctx, &seat->input_ctx->surface_list, link) { + struct weston_surface *surf, *send_surf; +-- +2.7.4 + diff --git a/recipes-graphics/wayland/wayland-ivi-extension/0001-simple-id-agent-initial-commit.patch b/recipes-graphics/wayland/wayland-ivi-extension/0001-simple-id-agent-initial-commit.patch new file mode 100644 index 000000000..9e95167ed --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension/0001-simple-id-agent-initial-commit.patch @@ -0,0 +1,264 @@ +From 8f67f40f7c6b6f62e094f0bdc5044793ae76b1c7 Mon Sep 17 00:00:00 2001 +From: Emre Ucan +Date: Fri, 24 Nov 2017 16:24:51 +0100 +Subject: [PATCH 1/2] simple-id-agent: initial commit + +it is a very simple id-agent plugin. +It is possible to configure default surface id +offset. Assigned ids would start +from the given id offset. + +Please check the example weston.ini for loading +and configuring the simple-id-agent + +Signed-off-by: Emre Ucan +--- + CMakeLists.txt | 1 + + id-agent-modules/simple-id-agent/CMakeLists.txt | 72 ++++++++++++ + .../simple-id-agent/src/simple-id-agent.c | 124 +++++++++++++++++++++ + id-agent-modules/simple-id-agent/weston.ini.in | 11 ++ + 4 files changed, 208 insertions(+) + create mode 100644 id-agent-modules/simple-id-agent/CMakeLists.txt + create mode 100644 id-agent-modules/simple-id-agent/src/simple-id-agent.c + create mode 100644 id-agent-modules/simple-id-agent/weston.ini.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bad85df..d07abf5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,6 +35,7 @@ add_subdirectory(ivi-layermanagement-api/ilmClient) + add_subdirectory(ivi-layermanagement-api/ilmControl) + add_subdirectory(ivi-layermanagement-api/test) + add_subdirectory(ivi-layermanagement-examples) ++add_subdirectory(id-agent-modules/simple-id-agent) + + if(WITH_ILM_INPUT) + add_subdirectory(ivi-input-api/ilmInput) +diff --git a/id-agent-modules/simple-id-agent/CMakeLists.txt b/id-agent-modules/simple-id-agent/CMakeLists.txt +new file mode 100644 +index 0000000..8290722 +--- /dev/null ++++ b/id-agent-modules/simple-id-agent/CMakeLists.txt +@@ -0,0 +1,72 @@ ++############################################################################ ++# ++# Copyright (C) 2013 DENSO CORPORATION ++# Copyright 2014 BMW Car IT GmbH ++# ++# ++# Licensed under the Apache License, Version 2.0 (the "License"); ++# you may not use this file except in compliance with the License. ++# You may obtain a copy of the License at ++# ++# http://www.apache.org/licenses/LICENSE-2.0 ++# ++# Unless required by applicable law or agreed to in writing, software ++# distributed under the License is distributed on an "AS IS" BASIS, ++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++# See the License for the specific language governing permissions and ++# limitations under the License. ++# ++############################################################################ ++ ++cmake_minimum_required (VERSION 2.6) ++ ++project(simple-id-agent) ++ ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(WAYLAND_SERVER wayland-server>=1.13.0 REQUIRED) ++pkg_check_modules(WESTON weston>=2.0.0 REQUIRED) ++pkg_check_modules(PIXMAN pixman-1 REQUIRED) ++ ++find_package(Threads REQUIRED) ++ ++GET_TARGET_PROPERTY(IVI_EXTENSION_INCLUDE_DIRS ivi-extension-protocol INCLUDE_DIRECTORIES) ++ ++include_directories( ++ src ++ ${IVI_EXTENSION_INCLUDE_DIRS} ++ ${WAYLAND_SERVER_INCLUDE_DIRS} ++ ${WESTON_INCLUDE_DIRS} ++ ${PIXMAN_INCLUDE_DIRS} ++) ++ ++link_directories( ++ ${WAYLAND_SERVER_LIBRARY_DIRS} ++ ${PIXMAN_LIBRARY_DIRS} ++) ++ ++add_library(${PROJECT_NAME} MODULE ++ src/simple-id-agent.c ++) ++ ++set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "") ++ ++add_dependencies(${PROJECT_NAME} ++ ivi-extension-protocol ++ ${WAYLAND_SERVER_LIBRARIES} ++ ${PIXMAN_LIBRARIES} ++) ++ ++set(LIBS ++ ${LIBS} ++ ivi-extension-protocol ++ ${WAYLAND_SERVER_LIBRARIES} ++) ++ ++set(CMAKE_C_LDFLAGS "-module -avoid-version") ++ ++target_link_libraries(${PROJECT_NAME} ${LIBS}) ++ ++install ( ++ TARGETS ${PROJECT_NAME} ++ LIBRARY DESTINATION lib${LIB_SUFFIX}/weston ++) +diff --git a/id-agent-modules/simple-id-agent/src/simple-id-agent.c b/id-agent-modules/simple-id-agent/src/simple-id-agent.c +new file mode 100644 +index 0000000..3c9e989 +--- /dev/null ++++ b/id-agent-modules/simple-id-agent/src/simple-id-agent.c +@@ -0,0 +1,124 @@ ++/* ++ * Copyright (C) 2017 Advanced Driver Information Technology Joint Venture GmbH ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and ++ * its documentation for any purpose is hereby granted without fee, provided ++ * that the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of the copyright holders not be used in ++ * advertising or publicity pertaining to distribution of the software ++ * without specific, written prior permission. The copyright holders make ++ * no representations about the suitability of this software for any ++ * purpose. It is provided "as is" without express or implied warranty. ++ * ++ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS ++ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND ++ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY ++ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ++ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF ++ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN ++ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++struct ivi_id_agent ++{ ++ uint32_t default_id_offset; ++ uint32_t last_assigned_id; ++ struct weston_compositor *compositor; ++ const struct ivi_layout_interface *interface; ++ struct wl_listener desktop_surface_configured; ++}; ++ ++static void ++desktop_surface_event_configure(struct wl_listener *listener, ++ void *data) ++{ ++ struct ivi_id_agent *ida = wl_container_of(listener, ida, ++ desktop_surface_configured); ++ struct ivi_layout_surface *layout_surface = ++ (struct ivi_layout_surface *) data; ++ uint32_t tmp_id; ++ ++ tmp_id = ++ida->last_assigned_id; ++ ++ /* Find an unused id */ ++ while(ida->interface->get_surface_from_id(tmp_id)) { ++ weston_log("simple-id-agent: surface id: %d is already used\n", tmp_id); ++ tmp_id++; ++ } ++ ++ ida->last_assigned_id = tmp_id; ++ ++ if (ida->interface->surface_set_id(layout_surface, ida->last_assigned_id) != 0) ++ weston_log("simple-id-agent: failed to set surface id :%d\n", ida->last_assigned_id); ++} ++ ++static void ++deinit(struct ivi_id_agent *ida) ++{ ++ wl_list_remove(&ida->desktop_surface_configured.link); ++ free(ida); ++} ++ ++static int32_t ++read_config(struct ivi_id_agent *ida) ++{ ++ struct weston_config *config = NULL; ++ struct weston_config_section *section = NULL; ++ const char *name = NULL; ++ ++ config = wet_get_config(ida->compositor); ++ if (!config) ++ return -1; ++ ++ section = weston_config_get_section(config, "id-agent", NULL, NULL); ++ ++ if (section) { ++ ++ weston_config_section_get_uint(section, "default-id-offset", ++ &ida->default_id_offset, 0); ++ ++ } else { ++ ida->default_id_offset = 0; ++ } ++ ++ return 0; ++} ++ ++WL_EXPORT int32_t ++id_agent_module_init(struct weston_compositor *ec, ++ const struct ivi_layout_interface *interface, ++ size_t interface_version) ++{ ++ struct ivi_id_agent *ida; ++ ++ ida = calloc(1, sizeof *ida); ++ if (ida == NULL) { ++ weston_log("failed to allocate ivi_id_agent\n"); ++ return -1; ++ } ++ ++ ida->compositor = ec; ++ ida->interface = interface; ++ ida->desktop_surface_configured.notify = desktop_surface_event_configure; ++ ida->interface->add_listener_configure_desktop_surface(&ida->desktop_surface_configured); ++ ++ if(read_config(ida) != 0) { ++ deinit(ida); ++ return -1; ++ } ++ ++ ida->last_assigned_id = ida->default_id_offset; ++ ++ weston_log("id_agent_module_init: success\n"); ++ ++ return 0; ++} +diff --git a/id-agent-modules/simple-id-agent/weston.ini.in b/id-agent-modules/simple-id-agent/weston.ini.in +new file mode 100644 +index 0000000..b5e5fa1 +--- /dev/null ++++ b/id-agent-modules/simple-id-agent/weston.ini.in +@@ -0,0 +1,11 @@ ++[core] ++shell=ivi-shell.so ++require-input=false ++ ++[ivi-shell] ++ivi-module=ivi-controller.so ++ivi-input-module=ivi-input-controller.so ++id-agent-module=simple-id-agent.so ++ ++[id-agent] ++default-id-offset=10 +-- +2.13.6 + diff --git a/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-controller-load-id-agent-module.patch b/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-controller-load-id-agent-module.patch new file mode 100644 index 000000000..f44786a36 --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-controller-load-id-agent-module.patch @@ -0,0 +1,69 @@ +From 26f2f7ce78ba2002809048b227ad9c35921a9cd8 Mon Sep 17 00:00:00 2001 +From: Emre Ucan +Date: Fri, 24 Nov 2017 16:27:01 +0100 +Subject: [PATCH 2/2] ivi-controller: load id-agent module + +Signed-off-by: Emre Ucan +--- + weston-ivi-shell/src/ivi-controller.c | 39 +++++++++++++++++++++++++++++++++++ + 1 file changed, 39 insertions(+) + +diff --git a/weston-ivi-shell/src/ivi-controller.c b/weston-ivi-shell/src/ivi-controller.c +index 312a978..47b6de2 100644 +--- a/weston-ivi-shell/src/ivi-controller.c ++++ b/weston-ivi-shell/src/ivi-controller.c +@@ -1518,6 +1518,40 @@ load_input_module(struct weston_compositor *ec, + return 0; + } + ++static int load_id_agent_module(struct weston_compositor *ec, ++ const struct ivi_layout_interface *interface, ++ size_t interface_version) ++{ ++ struct weston_config *config = wet_get_config(ec); ++ struct weston_config_section *section; ++ char *id_agent_module = NULL; ++ ++ int (*id_agent_module_init)(struct weston_compositor *ec, ++ const struct ivi_layout_interface *interface, ++ size_t interface_version); ++ ++ section = weston_config_get_section(config, "ivi-shell", NULL, NULL); ++ ++ if (weston_config_section_get_string(section, "id-agent-module", ++ &id_agent_module, NULL) < 0) { ++ weston_log("ivi-controller: No id-agent-module set\n"); ++ return 0; ++ } ++ ++ id_agent_module_init = wet_load_module_entrypoint(id_agent_module, "id_agent_module_init"); ++ if (!id_agent_module_init) ++ return -1; ++ ++ if (id_agent_module_init(ec, interface, ++ sizeof(struct ivi_layout_interface)) != 0) { ++ weston_log("ivi-controller: Initialization of id agent module fails\n"); ++ return -1; ++ } ++ ++ free(id_agent_module); ++ return 0; ++} ++ + WL_EXPORT int + controller_module_init(struct weston_compositor *compositor, + int *argc, char *argv[], +@@ -1555,5 +1589,10 @@ controller_module_init(struct weston_compositor *compositor, + return -1; + } + ++ if (load_id_agent_module(compositor, interface, interface_version) < 0) { ++ free(shell); ++ return -1; ++ } ++ + return 0; + } +-- +2.13.6 + diff --git a/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch b/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch new file mode 100644 index 000000000..d2d027256 --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch @@ -0,0 +1,62 @@ +From 525b5bf65303d661f44c01b11bafd5ba90976850 Mon Sep 17 00:00:00 2001 +From: Wataru Mizuno +Date: Wed, 6 Dec 2017 19:35:51 +0900 +Subject: [PATCH] ivi-controller: add resize setting suit to surface size + +The ivi-controller resizes surface size like desktop usecase. + +When window manager swicths the half size window to full size, +resize was not working correctly. +This patch fixs this issue by changing surface source region at +the same timing of destination region is changed. + +This patch is not necessary later version of wayland-ivi-extension +2.0 since this resize function has already been implemented by +appropriate manner. + +Signed-off-by: Wataru Mizuno +--- + weston-ivi-shell/src/ivi-controller.c | 17 ++++++++++++++--- + 1 file changed, 14 insertions(+), 3 deletions(-) + +diff --git a/weston-ivi-shell/src/ivi-controller.c b/weston-ivi-shell/src/ivi-controller.c +index 312a978..9450cf2 100644 +--- a/weston-ivi-shell/src/ivi-controller.c ++++ b/weston-ivi-shell/src/ivi-controller.c +@@ -1334,7 +1334,7 @@ surface_event_configure(struct wl_listener *listener, void *data) + struct ivisurface *ivisurf = NULL; + struct ivi_layout_surface *layout_surface = + (struct ivi_layout_surface *) data; +- const struct ivi_layout_surface_properties *prop; ++ struct weston_surface *w_surface; + + ivisurf = get_surface(&shell->list_surface, layout_surface); + if (ivisurf == NULL) { +@@ -1342,11 +1342,22 @@ surface_event_configure(struct wl_listener *listener, void *data) + return; + } + +- prop = lyt->get_properties_of_surface(layout_surface); ++ w_surface = lyt->surface_get_weston_surface(layout_surface); ++ lyt->surface_set_destination_rectangle(layout_surface, ++ ivisurf->prop->dest_x, ++ ivisurf->prop->dest_y, ++ w_surface->width, ++ w_surface->height); ++ lyt->surface_set_source_rectangle(layout_surface, ++ 0, ++ 0, ++ w_surface->width, ++ w_surface->height); ++ lyt->commit_changes(); + + wl_resource_for_each(resource, &ivisurf->resource_list) { + send_surface_event(resource, ivisurf, +- prop, IVI_NOTIFICATION_CONFIGURE); ++ ivisurf->prop, IVI_NOTIFICATION_CONFIGURE); + } + } + +-- +2.7.4 + diff --git a/recipes-graphics/wayland/wayland-ivi-extension/cmake-find-gtest.patch b/recipes-graphics/wayland/wayland-ivi-extension/cmake-find-gtest.patch new file mode 100644 index 000000000..5371174d5 --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension/cmake-find-gtest.patch @@ -0,0 +1,22 @@ +diff -Naur old/ivi-input-api/test/CMakeLists.txt new/ivi-input-api/test/CMakeLists.txt +--- old/ivi-input-api/test/CMakeLists.txt 2015-10-19 23:31:13.000000000 +1000 ++++ new/ivi-input-api/test/CMakeLists.txt 2015-10-19 23:30:32.000000000 +1000 +@@ -18,6 +18,7 @@ + ############################################################################ + + CMAKE_MINIMUM_REQUIRED(VERSION 2.6) ++SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/modules) + + FIND_PACKAGE(gtest) + +diff -Naur old/ivi-layermanagement-api/test/CMakeLists.txt new/ivi-layermanagement-api/test/CMakeLists.txt +--- old/ivi-layermanagement-api/test/CMakeLists.txt 2015-10-19 23:31:20.000000000 +1000 ++++ new/ivi-layermanagement-api/test/CMakeLists.txt 2015-10-19 23:30:48.000000000 +1000 +@@ -18,6 +18,7 @@ + ############################################################################ + + CMAKE_MINIMUM_REQUIRED(VERSION 2.6) ++SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/modules) + + FIND_PACKAGE(gtest) + diff --git a/recipes-graphics/wayland/wayland-ivi-extension/disable-sanitizer-tests.patch b/recipes-graphics/wayland/wayland-ivi-extension/disable-sanitizer-tests.patch new file mode 100644 index 000000000..df5d616fd --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension/disable-sanitizer-tests.patch @@ -0,0 +1,13 @@ +Index: git/ivi-layermanagement-api/test/CMakeLists.txt +=================================================================== +--- git.orig/ivi-layermanagement-api/test/CMakeLists.txt ++++ git/ivi-layermanagement-api/test/CMakeLists.txt +@@ -58,7 +58,7 @@ IF(BUILD_ILM_API_TESTS) + ) + + SET(GCC_SANITIZER_COMPILE_FLAGS "-fsanitize=address -fsanitize=undefined -fno-sanitize-recover -fstack-protector-all") +- SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_SANITIZER_COMPILE_FLAGS}" ) ++ SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" ) + SET( CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -static-libasan -static-libubsan" ) + + ADD_EXECUTABLE(${PROJECT_NAME} ${SRC_FILES}) diff --git a/recipes-graphics/wayland/wayland-ivi-extension/test-path.patch b/recipes-graphics/wayland/wayland-ivi-extension/test-path.patch new file mode 100644 index 000000000..251bc58f0 --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension/test-path.patch @@ -0,0 +1,55 @@ +From fbe0d0fd35ff79561dc2da853f1b0903bfde428d Mon Sep 17 00:00:00 2001 +From: Changhyeok Bae +Date: Thu, 1 Jun 2017 07:45:20 +0000 +Subject: [PATCH] test patch + +--- + ivi-input-api/test/CMakeLists.txt | 9 +++++---- + ivi-layermanagement-api/test/CMakeLists.txt | 7 ++++--- + 2 files changed, 9 insertions(+), 7 deletions(-) + +diff --git a/ivi-input-api/test/CMakeLists.txt b/ivi-input-api/test/CMakeLists.txt +index db05d0f..db3b745 100644 +--- a/ivi-input-api/test/CMakeLists.txt ++++ b/ivi-input-api/test/CMakeLists.txt +@@ -65,12 +65,13 @@ IF(BUILD_ILM_API_TESTS) + + ADD_DEPENDENCIES(${PROJECT_NAME} ${LIBS}) + +- INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin) ++ INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/test) ++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CTestTestfile.cmake DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/test/ivi-layermanagement-api) + + # use CTest + ENABLE_TESTING() +- ADD_TEST(ilmCommon ${PROJECT_NAME}) +- ADD_TEST(ilmControl ${PROJECT_NAME}) +- ADD_TEST(ilmInput ${PROJECT_NAME}) ++ ADD_TEST(ilmCommon {CMAKE_INSTALL_LIBEXECDIR}/test/${PROJECT_NAME}) ++ ADD_TEST(ilmControl {CMAKE_INSTALL_LIBEXECDIR}/test/${PROJECT_NAME}) ++ ADD_TEST(ilmInput {CMAKE_INSTALL_LIBEXECDIR}/test/${PROJECT_NAME}) + + ENDIF() +diff --git a/ivi-layermanagement-api/test/CMakeLists.txt b/ivi-layermanagement-api/test/CMakeLists.txt +index fe9a0a4..090d734 100644 +--- a/ivi-layermanagement-api/test/CMakeLists.txt ++++ b/ivi-layermanagement-api/test/CMakeLists.txt +@@ -63,11 +63,12 @@ IF(BUILD_ILM_API_TESTS) + + ADD_DEPENDENCIES(${PROJECT_NAME} ${LIBS}) + +- INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin) ++ INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/test) ++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CTestTestfile.cmake DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/test/ivi-layermanagement-api) + + # use CTest + ENABLE_TESTING() +- ADD_TEST(ilmCommon ${PROJECT_NAME}) +- ADD_TEST(ilmControl ${PROJECT_NAME}) ++ ADD_TEST(ilmCommon ${CMAKE_INSTALL_LIBEXECDIR}/test/${PROJECT_NAME}) ++ ADD_TEST(ilmControl ${CMAKE_INSTALL_LIBEXECDIR}/test/${PROJECT_NAME}) + + ENDIF() +-- +2.7.4 + diff --git a/recipes-graphics/wayland/wayland-ivi-extension/wandboard_fix_build.patch b/recipes-graphics/wayland/wayland-ivi-extension/wandboard_fix_build.patch new file mode 100644 index 000000000..86b448be1 --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension/wandboard_fix_build.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3610fa9..8b4614d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,7 +34,7 @@ add_subdirectory(ivi-layermanagement-api/ilmCommon) + add_subdirectory(ivi-layermanagement-api/ilmClient) + add_subdirectory(ivi-layermanagement-api/ilmControl) + add_subdirectory(ivi-layermanagement-api/test) +-add_subdirectory(ivi-layermanagement-examples) ++#add_subdirectory(ivi-layermanagement-examples) + + if(WITH_ILM_INPUT) + add_subdirectory(ivi-input-api/ilmInput) diff --git a/recipes-graphics/wayland/wayland-ivi-extension_1.1%.bbappend b/recipes-graphics/wayland/wayland-ivi-extension_1.1%.bbappend new file mode 100644 index 000000000..9c29dee47 --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension_1.1%.bbappend @@ -0,0 +1,27 @@ +FILESEXTRAPATHS_append := ":${THISDIR}/${PN}" + +ENABLE_TEST = "-DBUILD_ILM_API_TESTS:BOOL=TRUE \ + -DINSTALL_ILM_API_TESTS:BOOL=TRUE \ + " + +DISABLE_TEST = "-DBUILD_ILM_API_TESTS:BOOL=FALSE \ + -DINSTALL_ILM_API_TESTS:BOOL=FALSE \ + " + +PACKAGECONFIG ??= "test" +PACKAGECONFIG[test] = "${ENABLE_TEST},${DISABLE_TEST},gtest" + +SRC_URI_append = "\ + file://cmake-find-gtest.patch \ + file://test-path.patch \ + " + +PACKAGES =+ "${PN}-test" + +FILES_${PN}-test = "${libdir}/${PN}/test/*/CTestTestfile.cmake \ + ${libdir}/${PN}/test/ivi-layermanagement-api-test \ + ${libdir}/${PN}/test/ivi-input-api-test \ + " +FILES_${PN}-dbg += "${libdir}/${PN}/test/.debug" + +RDEPENDS_${PN}-test += "cmake" diff --git a/recipes-graphics/wayland/wayland-ivi-extension_1.13.0.bb b/recipes-graphics/wayland/wayland-ivi-extension_1.13.0.bb new file mode 100644 index 000000000..68e92adb5 --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension_1.13.0.bb @@ -0,0 +1,33 @@ +SUMMARY = "Wayland IVI Extension" +DESCRIPTION = "GENIVI Layer Management API based on Wayland IVI Extension" +HOMEPAGE = "http://projects.genivi.org/wayland-ivi-extension" +BUGTRACKER = "http://bugs.genivi.org/enter_bug.cgi?product=Wayland%20IVI%20Extension" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1f1a56bb2dadf5f2be8eb342acf4ed79" + +SRCREV = "ede33c1c898eeaf673dd2c275e92763a5aabd066" +SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=http \ + file://0001-simple-id-agent-initial-commit.patch;patch=1 \ + file://0002-ivi-controller-load-id-agent-module.patch;patch=1 \ + file://0003-ivi-controller-add-resize-setting-suit-to-surface-si.patch \ + file://0001-Resolve-weston-crush-when-repeat-touching-very-quick.patch \ +" +S = "${WORKDIR}/git" + +DEPENDS = "weston virtual/libgles2 pixman wayland-native" + +inherit cmake + +EXTRA_OECMAKE := "-DWITH_ILM_INPUT=1" + +FILES_${PN} += "${libdir}/weston/*" +FILES_${PN}-dbg += "${libdir}/weston/.debug/*" + +EXTRA_OECMAKE += "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}" + +FILESEXTRAPATHS_prepend := ":${THISDIR}/wayland-ivi-extension:" + +SRC_URI_append_wandboard = " file://wandboard_fix_build.patch" + +# workaround paralellism issue: +PARALLEL_MAKE = "" diff --git a/recipes-graphics/wayland/wayland-ivi-extension_2.0.2.bb b/recipes-graphics/wayland/wayland-ivi-extension_2.0.2.bb new file mode 100644 index 000000000..ea74e384c --- /dev/null +++ b/recipes-graphics/wayland/wayland-ivi-extension_2.0.2.bb @@ -0,0 +1,31 @@ +SUMMARY = "Wayland IVI Extension" +DESCRIPTION = "GENIVI Layer Management API based on Wayland IVI Extension" +HOMEPAGE = "http://projects.genivi.org/wayland-ivi-extension" +BUGTRACKER = "http://bugs.genivi.org/enter_bug.cgi?product=Wayland%20IVI%20Extension" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1f1a56bb2dadf5f2be8eb342acf4ed79" + +SRCREV = "ff067a640451de46836200624ece7ac777977c30" +SRC_URI = "git://github.com/GENIVI/${BPN}.git;branch=2.0;protocol=http \ + " +SRC_URI_append_wandboard = " file://wandboard_fix_build.patch" + +S = "${WORKDIR}/git" + +DEPENDS = "weston virtual/libgles2 pixman wayland-native" + +FILESEXTRAPATHS_prepend := ":${THISDIR}/wayland-ivi-extension:" + +# workaround paralellism issue: +PARALLEL_MAKE = "" + +inherit cmake + +EXTRA_OECMAKE := "-DWITH_ILM_INPUT=1" + +FILES_${PN} += "${libdir}/weston/*" +FILES_${PN} += "${datadir}/wayland-protocols/stable/ivi-application/*" + +FILES_${PN}-dbg += "${libdir}/weston/.debug/*" + +EXTRA_OECMAKE += "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}" diff --git a/recipes-graphics/web-runtime/web-runtime/web-runtime b/recipes-graphics/web-runtime/web-runtime/web-runtime new file mode 100755 index 000000000..80685eb81 --- /dev/null +++ b/recipes-graphics/web-runtime/web-runtime/web-runtime @@ -0,0 +1,2 @@ +#!/bin/sh +exec /usr/bin/qt5/qmlscene "$1" /usr/bin/web-runtime.qml diff --git a/recipes-graphics/web-runtime/web-runtime/web-runtime-webkit.qml b/recipes-graphics/web-runtime/web-runtime/web-runtime-webkit.qml new file mode 100644 index 000000000..d18b672cd --- /dev/null +++ b/recipes-graphics/web-runtime/web-runtime/web-runtime-webkit.qml @@ -0,0 +1,13 @@ +import QtQuick 2.1 +import QtQuick.Controls 1.1 +import QtWebKit 3.0 + +ApplicationWindow { + width: 1024 + height: 768 + visible: true + WebView { + url: Qt.application.arguments[1] + anchors.fill: parent + } +} diff --git a/recipes-graphics/web-runtime/web-runtime/web-runtime.qml b/recipes-graphics/web-runtime/web-runtime/web-runtime.qml new file mode 100644 index 000000000..852567a49 --- /dev/null +++ b/recipes-graphics/web-runtime/web-runtime/web-runtime.qml @@ -0,0 +1,14 @@ +import QtQuick 2.1 +import QtQuick.Controls 1.1 +import QtWebEngine 1.1 + +ApplicationWindow { + width: 1024 + height: 768 + visible: true + flags: Qt.WindowFullScreen | Qt.FramelessWindowHint + WebEngineView { + url: Qt.application.arguments[1] + anchors.fill: parent + } +} diff --git a/recipes-graphics/web-runtime/web-runtime_0.1.bb b/recipes-graphics/web-runtime/web-runtime_0.1.bb new file mode 100644 index 000000000..75077b696 --- /dev/null +++ b/recipes-graphics/web-runtime/web-runtime_0.1.bb @@ -0,0 +1,42 @@ +inherit allarch + +SUMMARY = "Provides the 'web-runtime' command" +DESCRIPTION = "The command 'web-runtime' is an abstraction that allows to " + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "\ + file://web-runtime;md5sum=2245be1e6029b30966f0842e3fee75ea \ + file://web-runtime.qml;md5sum=922aeae6d596d7c83af01abca266f0df \ + file://web-runtime-webkit.qml;md5sum=4daf9df39078634c27a7923d37e82e3d \ +" + +RDEPENDS_${PN} = "\ + qtdeclarative-tools \ + qtwayland-qmlplugins \ + qtquickcontrols-qmlplugins \ +" + +PROVIDES += "virtual/webruntime" +# add also RPROVIDES to satisfy the packagegroup +RPROVIDES_${PN} += "virtual/webruntime" + +do_configure() { + : +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/web-runtime ${D}${bindir}/web-runtime + install -m 0644 ${WORKDIR}/web-runtime.qml ${D}${bindir}/web-runtime.qml + install -m 0644 ${WORKDIR}/web-runtime-webkit.qml ${D}${bindir}/web-runtime-webkit.qml +} + +do_install_append_rcar-gen2() { + # workaround for porter board: force the use of libEGL provided by mesa at runtime + # otherwise, the proprietary libEGL is used and a problem then occurs due to a missing EGL function + sed -i 's|^\(exec /usr/bin/qt5/qmlscene\)|LD_PRELOAD=/usr/lib/libEGL.so \1|g' ${D}${bindir}/web-runtime +} + + diff --git a/recipes-kernel/mocca-usb/mocca-usb.bb b/recipes-kernel/mocca-usb/mocca-usb.bb new file mode 100644 index 000000000..cf4e5856b --- /dev/null +++ b/recipes-kernel/mocca-usb/mocca-usb.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Build USB driver for MOCCA box" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" + +inherit module + +PV = "0.1" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/can-lin/;protocol=https;branch=${AGL_BRANCH}" +S = "${WORKDIR}/git/Usb-Driver" +SRCREV = "02ba272c0eb51b06160307b6cb71f91684772c8c" + +# The inherit of module.bbclass will automatically name module packages with +# "kernel-module-" prefix as required by the oe-core build environment. + +do_install_append () { + # modprobe automatically at boot + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${sysconfdir}/modules-load.d + echo "mocca_usb" > ${D}${sysconfdir}/modules-load.d/mocca_usb.conf + fi +} diff --git a/recipes-multimedia/audiomanager/audiomanager/0001-Fix-duplicated-command-line-arg-t.patch b/recipes-multimedia/audiomanager/audiomanager/0001-Fix-duplicated-command-line-arg-t.patch new file mode 100644 index 000000000..fcdf9c540 --- /dev/null +++ b/recipes-multimedia/audiomanager/audiomanager/0001-Fix-duplicated-command-line-arg-t.patch @@ -0,0 +1,25 @@ +From c4b6030f575e38dfc9cca7dfd029d207f3af6a13 Mon Sep 17 00:00:00 2001 +From: "Andre Moreira Magalhaes (andrunko)" +Date: Thu, 5 May 2016 00:01:19 -0300 +Subject: [PATCH] Fix duplicated command line arg -t. + +--- + AudioManagerDaemon/src/main.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/AudioManagerDaemon/src/main.cpp b/AudioManagerDaemon/src/main.cpp +index 795795d..67c0977 100755 +--- a/AudioManagerDaemon/src/main.cpp ++++ b/AudioManagerDaemon/src/main.cpp +@@ -87,7 +87,7 @@ TCLAP::ValueArg commandPluginDir("l","CommandPluginDir","path for l + TCLAP::ValueArg databasePath ("p","databasePath","path for sqlite database (default is in memory)",false,":memory:","string"); + TCLAP::ValueArg telnetPort ("t","telnetport","The port that is used for telnet",false,DEFAULT_TELNETPORT,"int"); + TCLAP::ValueArg maxConnections ("m","maxConnections","Maximal number of connections for telnet",false,MAX_TELNETCONNECTIONS,"int"); +-TCLAP::SwitchArg dbusWrapperTypeBool ("t","dbusType","DbusType to be used by CAmDbusWrapper: if option is selected, DBUS_SYSTEM is used otherwise DBUS_SESSION",false); ++TCLAP::SwitchArg dbusWrapperTypeBool ("T","dbusType","DbusType to be used by CAmDbusWrapper: if option is selected, DBUS_SYSTEM is used otherwise DBUS_SESSION",false); + TCLAP::SwitchArg enableNoDLTDebug ("V","logDlt","print DLT logs to stdout",false); + TCLAP::SwitchArg currentSettings("i","currentSettings","print current settings and exit",false); + TCLAP::SwitchArg daemonizeAM("d","daemonize","daemonize Audiomanager. Better use systemd...",false); +-- +2.5.0 + diff --git a/recipes-multimedia/audiomanager/audiomanager/audiomanager.service b/recipes-multimedia/audiomanager/audiomanager/audiomanager.service new file mode 100644 index 000000000..2210a377b --- /dev/null +++ b/recipes-multimedia/audiomanager/audiomanager/audiomanager.service @@ -0,0 +1,17 @@ +# AudioManager systemd service file + +[Unit] +Description=GENIVI AudioManager +Requires=dbus.service +After=dbus.service +Before=pulseaudio.service + +[Service] +Type=notify +ExecStart=/usr/bin/AudioManager -T +Restart=always +TimeoutSec=2 +WatchdogSec=2 + +[Install] +WantedBy=multi-user.target diff --git a/recipes-multimedia/audiomanager/audiomanager_7.4.bb b/recipes-multimedia/audiomanager/audiomanager_7.4.bb new file mode 100644 index 000000000..15eb36252 --- /dev/null +++ b/recipes-multimedia/audiomanager/audiomanager_7.4.bb @@ -0,0 +1,56 @@ +DESCRIPTION = "GENIVI Audio Manager" +HOMEPAGE = "http://projects.genivi.org/audio-manager/home" +LICENSE = "MPLv2" +SECTION = "multimedia" +DEPENDS = "dbus dlt-daemon systemd" +LIC_FILES_CHKSUM = "file://LICENCE;md5=f164349b56ed530a6642e9b9f244eec5" + +SRC_URI = " \ + git://github.com/GENIVI/AudioManager.git;protocol=https;branch=master \ + file://audiomanager.service \ +" +RDEPENDS_${PN} = "audiomanager-plugins module-router" +SRCREV = "daf851ee7a41d1b0572c0c95e15f61e427ce97f1" + +S = "${WORKDIR}/git" +inherit cmake systemd +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "audiomanager.service" +SYSTEMD_AUTO_ENABLE = "enable" + +EXTRA_OECMAKE = " \ + -DWITH_TESTS=OFF \ + -DWITH_DOCUMENTATION=OFF \ + -DWITH_DLT=ON \ + -DWITH_TELNET=OFF \ + -DWITH_SYSTEMD_WATCHDOG=ON \ + -DGLIB_DBUS_TYPES_TOLERANT=ON \ + -DWITH_CAPI_WRAPPER=OFF \ + -DWITH_DBUS_WRAPPER=ON \ + -DWITH_SHARED_UTILITIES=ON \ + -DWITH_SHARED_CORE=ON \ +" + +FILES_${PN} = " \ + ${bindir}/AudioManager \ + ${libdir}/libAudioManagerCore.so.7 \ + ${libdir}/libAudioManagerCore.so.7.4 \ + ${libdir}/libAudioManagerCore.so.7.4.12 \ + ${libdir}/libAudioManagerUtilities.so.7 \ + ${libdir}/libAudioManagerUtilities.so.7.4 \ + ${libdir}/libAudioManagerUtilities.so.7.4.12 \ + ${systemd_unitdir}/audiomanager.service \ +" + +FILES_${PN}-dev = " \ + ${includedir}/audiomanager/* \ + ${libdir}/cmake/* \ + ${libdir}/pkgconfig/* \ + ${libdir}/libAudioManagerCore.so \ + ${libdir}/libAudioManagerUtilities.so \ +" + +do_install_append() { + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/audiomanager.service ${D}${systemd_unitdir}/system/ +} diff --git a/recipes-multimedia/pulseaudio/files/10-unload-modules.pa b/recipes-multimedia/pulseaudio/files/10-unload-modules.pa deleted file mode 100644 index 1f8b723e2..000000000 --- a/recipes-multimedia/pulseaudio/files/10-unload-modules.pa +++ /dev/null @@ -1,4 +0,0 @@ -unload-module module-role-cork -unload-module module-device-restore -unload-module module-stream-restore -unload-module module-card-restore diff --git a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend deleted file mode 100644 index 30ef4f7e8..000000000 --- a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend +++ /dev/null @@ -1,10 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" - -SRC_URI += "file://10-unload-modules.pa" - -# Add .include directive to default.pa so optional configuration can be added -do_install_append () { - echo ".include ${sysconfdir}/pulse/default.d" >> ${D}${sysconfdir}/pulse/default.pa - install -d ${D}${sysconfdir}/pulse/default.d - install -m 0644 ${WORKDIR}/10-unload-modules.pa ${D}${sysconfdir}/pulse/default.d/ -} diff --git a/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.service b/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.service deleted file mode 100644 index 2c8648475..000000000 --- a/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=HTML5 runtime for OpenIVI Mobility applications -Requires=afm-user-daemon.service InputEventManager.service -After=afm-user-daemon.service InputEventManager.service -ConditionKernelCommandLine=!agl.nogfx - -[Service] -Type=dbus -BusName=org.agl.openivi -ExecStart=/usr/bin/openivi-html5.sh -Restart=on-failure -RestartSec=5 -TimeoutStopSec=1 - -[Install] -WantedBy=default.target diff --git a/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.sh b/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.sh deleted file mode 100644 index a318214ad..000000000 --- a/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh - -if test -z "$XDG_CONFIG_DIRS"; then - export XDG_CONFIG_DIRS=/etc/xdg/ -fi - -if test -z "$XDG_RUNTIME_DIR"; then - export XDG_RUNTIME_DIR=/run/user/$UID - mkdir --parents $XDG_RUNTIME_DIR - chmod 0700 $XDG_RUNTIME_DIR -fi - -# Default homescreen -HOMESCREEN=/usr/share/openivi/example/cluster/index.html - -# Read configuration -HOMESCREEN_CONFIG=$XDG_CONFIG_DIRS/openivi-html5/openivi-html5.ini -if [ -e "$HOMESCREEN_CONFIG" ] ; then - HTML=`sed -n '/^homescreen=\(.*\)$/s//\1/p' < $HOMESCREEN_CONFIG` - if [ -n "$HTML" ] ; then - HOMESCREEN=$HTML - fi -fi - -#the following value shall be modified for your display side -SCREEN_W=1080 -SCREEN_H=1920 - -# Demo is configured to FullHD -QT_W=1080 -QT_H=1920 - -QT_IVI_SURFACE_ID=4194304 QT_WAYLAND_SHELL_INTEGRATION=ivi-shell /usr/bin/openivi-html5 -f -u $HOMESCREEN & - -# qmlscene create 2 surfaces -# 0x80000000 : for off screen buffer ? -# 0x80000001 : visible -# -SURFACE_ID_QML=0x80000001 - -# -# layer-add-surfaces wait till 2 surfaces are created. -# -layer-add-surfaces 1000 2 - -/usr/bin/LayerManagerControl set surface $SURFACE_ID_QML destination region 0 0 $SCREEN_W $SCREEN_H -/usr/bin/LayerManagerControl set surface $SURFACE_ID_QML source region 0 0 $QT_W $QT_H -/usr/bin/LayerManagerControl set layer 1000 render order $SURFACE_ID_QML -/usr/bin/LayerManagerControl set surfaces $SURFACE_ID_QML input focus keyboard -/usr/bin/LayerManagerControl set screen 0 render order 1000 diff --git a/recipes-openivi/openivi-html5/openivi-html5_git.bb b/recipes-openivi/openivi-html5/openivi-html5_git.bb deleted file mode 100644 index 168b98c78..000000000 --- a/recipes-openivi/openivi-html5/openivi-html5_git.bb +++ /dev/null @@ -1,43 +0,0 @@ -DESCRIPTION = "OpenIVI Mobility HTML5 environment" -HOMEPAGE = "https://openivimobility.github.io/" -SECTION = "base" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4641e94ec96f98fabc56ff9cc48be14b" -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI = " \ - git://github.com/openivimobility/openivi-html5.git;branch=master;tag=0b370eea8c7c852365bd717013a523b678abbdba \ - file://openivi-html5.sh \ - file://openivi-html5.service \ -" - -inherit pkgconfig cmake_qt5 externalsrc systemd -PV = "0.1" - -S = "${WORKDIR}/git" - -RDEPENDS_${PN} = "qtbase qtwebkit inputeventmanager windowmanager" -DEPENDS = "qtbase-native qtbase qtwebkit" - -EXTRA_OECMAKE = " -DCMAKE_DISABLE_FIND_PACKAGE_X11=TRUE " - -FILES_${PN} = "/usr/bin/openivi-html5 /usr/share/openivi/*" - -do_install() { - install -d ${D}${bindir} - install -m 0755 openivi-html5 ${D}${bindir} - - install -d ${D}${datadir}/openivi/ - cp -r ${S}/example ${D}${datadir}/openivi/ - - install -p -D ${WORKDIR}/openivi-html5.sh ${D}${bindir}/openivi-html5.sh - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_user_unitdir} - install -p -D ${WORKDIR}/openivi-html5.service ${D}${systemd_user_unitdir}/openivi-html5.service - install -d ${D}${sysconfdir}/systemd/user/default.target.wants - ln -sf ${systemd_user_unitdir}/openivi-html5.service ${D}${sysconfdir}/systemd/user/default.target.wants - fi -} - -FILES_${PN} += " ${prefix}/bin/openivi-html5.sh ${systemd_user_unitdir} ${sysconfdir}" diff --git a/recipes-platform/images/agl-demo-platform-html5.bb b/recipes-platform/images/agl-demo-platform-html5.bb deleted file mode 100644 index c9247a854..000000000 --- a/recipes-platform/images/agl-demo-platform-html5.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "AGL Demo Platform image currently contains a simple HMI and \ -demos." - -LICENSE = "MIT" - -require agl-demo-platform-html5.inc - -IMAGE_INSTALL_append = "\ - packagegroup-agl-demo-platform-html5 \ - " diff --git a/recipes-platform/images/agl-demo-platform-html5.inc b/recipes-platform/images/agl-demo-platform-html5.inc deleted file mode 100644 index 3005abeb0..000000000 --- a/recipes-platform/images/agl-demo-platform-html5.inc +++ /dev/null @@ -1,2 +0,0 @@ -# Base image -require recipes-ivi/images/agl-image-ivi.inc diff --git a/recipes-platform/images/agl-demo-platform.inc b/recipes-platform/images/agl-demo-platform.inc index 973291309..203fcc077 100644 --- a/recipes-platform/images/agl-demo-platform.inc +++ b/recipes-platform/images/agl-demo-platform.inc @@ -1,3 +1,3 @@ # Base image -require recipes-ivi/images/agl-image-ivi.inc +require recipes-platform/images/agl-image-ivi.inc diff --git a/recipes-platform/images/agl-image-ivi-crosssdk.bb b/recipes-platform/images/agl-image-ivi-crosssdk.bb new file mode 100644 index 000000000..0303d051d --- /dev/null +++ b/recipes-platform/images/agl-image-ivi-crosssdk.bb @@ -0,0 +1,19 @@ +SUMMARY = "Cross SDK of AGL Distribution for IVI profile" + +DESCRIPTION = "Basic image for baseline of AGL Distribution for IVI profile. \ +It includes the full meta-toolchain, plus developement headers and libraries \ +to form a standalone cross SDK." + +require agl-image-ivi.bb + +LICENSE = "MIT" + +IMAGE_FEATURES += "dev-pkgs" +IMAGE_INSTALL += "kernel-dev" + +inherit populate_sdk + +# Task do_populate_sdk and do_rootfs can't be exec simultaneously. +# Both exec "createrepo" on the same directory, and so one of them +# can failed (randomly). +addtask do_populate_sdk after do_rootfs diff --git a/recipes-platform/images/agl-image-ivi-qa.bb b/recipes-platform/images/agl-image-ivi-qa.bb new file mode 100644 index 000000000..017439454 --- /dev/null +++ b/recipes-platform/images/agl-image-ivi-qa.bb @@ -0,0 +1,14 @@ +SUMMARY = "A basic system of AGL distribution of IVI profile for Quality Assurance(QA)" + +DESCRIPTION = "A basic set of AGL Distribution. This image also has additional \ +packages (e.g. commandline tools) for Quality Assurance(QA)." + +require agl-image-ivi.bb + +LICENSE = "MIT" + +IMAGE_INSTALL_append = " \ + packagegroup-agl-test \ + packagegroup-ivi-common-test \ + " + diff --git a/recipes-platform/images/agl-image-ivi.bb b/recipes-platform/images/agl-image-ivi.bb new file mode 100644 index 000000000..dd4f89b15 --- /dev/null +++ b/recipes-platform/images/agl-image-ivi.bb @@ -0,0 +1,17 @@ +SUMMARY = "A basic system of AGL distribution of IVI profile" + +DESCRIPTION = "Basic image for baseline of AGL Distribution for IVI profile." + +require agl-image-ivi.inc + +LICENSE = "MIT" + +IMAGE_INSTALL_append = "\ + packagegroup-agl-image-ivi \ + " + +DISTRO_FEATURES_append = " agl-core-image-profile" + +IMAGE_INSTALL += "\ + agl-desktop-config \ + " diff --git a/recipes-platform/images/agl-image-ivi.inc b/recipes-platform/images/agl-image-ivi.inc new file mode 100644 index 000000000..610d4e464 --- /dev/null +++ b/recipes-platform/images/agl-image-ivi.inc @@ -0,0 +1,3 @@ +require recipes-platform/images/agl-image-minimal.inc + +IMAGE_FEATURES += "splash package-management ssh-server-dropbear" diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb deleted file mode 100644 index 9092b1872..000000000 --- a/recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "The software for DEMO platform of AGL IVI profile" -DESCRIPTION = "A set of packages belong to AGL Demo Platform" - -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-demo-platform-html5 \ - " - -ALLOW_EMPTY_${PN} = "1" - -RDEPENDS_${PN} += "\ - packagegroup-agl-image-ivi \ - " - -# add packages for demo platform (include demo apps) here -RDEPENDS_${PN} += " \ - packagegroup-agl-demo \ - " - -# add packages for OpenIVI-HTML5 demo -RDEPENDS_${PN} += " \ - openivi-html5 \ - " diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb index f1ba6cd20..4ab64d0bb 100755 --- a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb @@ -16,13 +16,12 @@ RDEPENDS_${PN} += "\ " RDEPENDS_${PN} += "\ - packagegroup-agl-image-weston \ + packagegroup-agl-profile-graphical-qt5 \ packagegroup-agl-demo \ " MOST_DRIVERS = " " -# temporarily disabled on rocko to fix the build -MOST_DRIVERS_append_fixbrokenrocko = " \ +MOST_DRIVERS_append_BROKENonIntelQemuRpi3 = " \ mocca-usb \ most \ " diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo.bb b/recipes-platform/packagegroups/packagegroup-agl-demo.bb index 0b37113fe..5cf826bdb 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-demo.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-demo.bb @@ -25,13 +25,14 @@ AUDIO-OLD = "audiomanager" AUDIO-NEW = "packagegroup-agl-audio" RDEPENDS_${PN} += "\ - packagegroup-agl-appfw \ libqtappfw \ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-hmi-framework', '${HOMESCREEN-NEW}', '${HOMESCREEN-OLD}', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-audio-4a-framework', '${AUDIO-NEW}', '${AUDIO-OLD}', d)} \ udisks \ ${SMARTDEVICELINK} \ " +# packagegroup-agl-appfw \ +# # fonts TTF_FONTS = " \ @@ -62,4 +63,7 @@ RDEPENDS_${PN} += " \ dhcp-client \ ${TTF_FONTS} \ ${EXTRA_APPS} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'webruntime', 'virtual/webruntime', '', d)} \ " + + diff --git a/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb b/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb new file mode 100644 index 000000000..0edc600ca --- /dev/null +++ b/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb @@ -0,0 +1,32 @@ +SUMMARY = "The middlewares for AGL IVI profile" +DESCRIPTION = "The set of packages required for AGL Distribution" +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "\ + packagegroup-agl-image-ivi \ + " + +ALLOW_EMPTY_${PN} = "1" + +RDEPENDS_${PN} += "\ + packagegroup-agl-image-minimal \ +" + +RDEPENDS_${PN} += "\ + packagegroup-agl-ivi-connectivity \ + packagegroup-agl-ivi-graphics \ + packagegroup-agl-ivi-multimedia \ + " +# packagegroup-agl-ivi-automotive \ +# packagegroup-agl-ivi-speech-services \ +# packagegroup-agl-ivi-navi-lbs \ +# packagegroup-agl-ivi-security \ +# packagegroup-agl-ivi-os-commonlibs \ +# packagegroup-agl-ivi-kernel \ +# + +RDEPENDS_${PN} += "\ + agl-login-manager \ + " diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-connectivity.bb b/recipes-platform/packagegroups/packagegroup-agl-ivi-connectivity.bb new file mode 100644 index 000000000..2d45986de --- /dev/null +++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-connectivity.bb @@ -0,0 +1,15 @@ +SUMMARY = "The middlewares for AGL IVI profile" +DESCRIPTION = "The set of packages required by Connectivity Subsystem" +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "\ + packagegroup-agl-ivi-connectivity \ + " + +ALLOW_EMPTY_${PN} = "1" + +RDEPENDS_${PN} += "\ + ofono \ + " diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-graphics.bb b/recipes-platform/packagegroups/packagegroup-agl-ivi-graphics.bb new file mode 100644 index 000000000..8831e10a1 --- /dev/null +++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-graphics.bb @@ -0,0 +1,15 @@ +SUMMARY = "The middlewares for AGL IVI profile" +DESCRIPTION = "The set of packages required by Graphics Subsystem" +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "\ + packagegroup-agl-ivi-graphics \ + " + +ALLOW_EMPTY_${PN} = "1" + +RDEPENDS_${PN} += "\ + opencv \ + " diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia.bb b/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia.bb new file mode 100644 index 000000000..3b7cf78ac --- /dev/null +++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia.bb @@ -0,0 +1,21 @@ +SUMMARY = "The middlewares for AGL IVI profile" +DESCRIPTION = "The set of packages required by Multimedia Subsystem" +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "\ + packagegroup-agl-ivi-multimedia \ + " + +ALLOW_EMPTY_${PN} = "1" + +RDEPENDS_${PN} += "\ + gstreamer1.0-plugins-base-meta \ + gstreamer1.0-plugins-good-meta \ + lightmediascanner-meta \ + " + +RDEPENDS_${PN} += "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'agl-audio-4a-framework', '' , 'virtual/pulseaudio-config', d)} \ + " diff --git a/recipes-sdl/packagegroups/packagegroup-agl-smartdevicelink.bb b/recipes-sdl/packagegroups/packagegroup-agl-smartdevicelink.bb new file mode 100644 index 000000000..7d135356a --- /dev/null +++ b/recipes-sdl/packagegroups/packagegroup-agl-smartdevicelink.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Set of packages for SmartDeviceLink" +LICENSE = "MIT" + +inherit packagegroup + +PACKAGES = "\ + packagegroup-agl-smartdevicelink \ + " + +ALLOW_EMPTY_${PN} = "1" + +RDEPENDS_${PN} += "\ + sdl-core \ + " + +# Porter does not have the required gstreamer version +RDEPENDS_${PN}_porter := "" diff --git a/recipes-webruntime/webkitforwayland/webkitforwayland_git.bb b/recipes-webruntime/webkitforwayland/webkitforwayland_git.bb deleted file mode 100644 index 24f6055b6..000000000 --- a/recipes-webruntime/webkitforwayland/webkitforwayland_git.bb +++ /dev/null @@ -1,74 +0,0 @@ -SUMMARY = "WebKit for Wayland port pairs the WebKit engine with the Wayland display protocol, \ - allowing embedders to create simple and performant systems based on Web platform technologies. \ - It is designed with hardware acceleration in mind, relying on EGL, the Wayland EGL platform, and OpenGL ES." -HOMEPAGE = "http://www.webkitforwayland.org/" -LICENSE = "BSD & LGPLv2+" -LIC_FILES_CHKSUM = "file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 " - -# you need harfbuzz with icu enabled, you can add this to your config: -# PACKAGECONFIG_append_pn-harfbuzz = " icu" if you are having problems -# with the do_configure step and harfbuzz. -DEPENDS = "zlib enchant libsoup-2.4 curl libxml2 cairo libxslt libidn gnutls \ - gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native icu \ - gperf-native perl-native ruby-native sqlite3 \ - libwebp harfbuzz virtual/libgles2 wayland weston mesa" - - -REQUIRED_DISTRO_FEATURES = "wayland" - -inherit cmake pkgconfig perlnative pythonnative - -# -# We download a tarball from github instead of cloning the git repository because -# requires less resources (network bandwidth and disk space) on the build machine. -# -# PV is the release or tag version (from https://github.com/WebKitForWayland/webkit/releases) -PV = "wpe-20160519" -S = "${WORKDIR}/webkit-${PV}/" - -SRC_URI = "\ - https://github.com/WebKitForWayland/webkit/archive/${PV}.tar.gz \ -" - -SRC_URI[md5sum] = "2b5f254c426ec74d62a72e136cf5e274" -SRC_URI[sha256sum] = "f4f5076b2f7e17e86976bb14dffc750b446392b1e68946eea9dd0d733ec5f5f2" - -EXTRA_OECMAKE = " \ - -DPORT=WPE \ - -DCMAKE_BUILD_TYPE=Release \ - " - -# Javascript JIT is not supported on powerpc -EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF " - -# ARM JIT code does not build on ARMv5/6 anymore, apparently they test only on v7 onwards -EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " - -# binutils 2.25.1 has a bug on aarch64: -# https://sourceware.org/bugzilla/show_bug.cgi?id=18430 -EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF " - -# JIT not supported on MIPS either -EXTRA_OECMAKE_append_mips = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_mips64 = " -DENABLE_JIT=OFF " - -# We manually set the includes files for the binary and dev package here, -# (overriding the default settings) because some libraries (libWPE and -# libWPEWebInspectorResources) are not versioned, so we must include -# the .so file in the binary package instead of the dev one. -FILES_${PN}-dev = " \ -${includedir} \ -${libdir}/libWPE.so \ -${libdir}/libWPEWebKit.so \ -${libdir}/pkgconfig \ -" -FILES_${PN} = " \ -${bindir} \ -${libdir}/libWPE.so.* \ -${libdir}/libWPEWebInspectorResources.so \ -${libdir}/libWPEWebKit.so.* \ -" - -RRECOMMENDS_${PN} += "ca-certificates" diff --git a/templates/feature/agl-demo/50_bblayers.conf.inc b/templates/feature/agl-demo/50_bblayers.conf.inc index 07c20d3aa..7e85c574e 100644 --- a/templates/feature/agl-demo/50_bblayers.conf.inc +++ b/templates/feature/agl-demo/50_bblayers.conf.inc @@ -3,10 +3,3 @@ BBLAYERS =+ " \ ${METADIR}/meta-agl-demo \ " - -# These are the dependencies of the AGL DEMO Layer -#------------------------------------------------- -BBLAYERS =+ " \ - ${METADIR}/meta-qt5 \ -" - diff --git a/templates/feature/agl-demo/included.dep b/templates/feature/agl-demo/included.dep index 2fbc7ce12..d8774985c 100644 --- a/templates/feature/agl-demo/included.dep +++ b/templates/feature/agl-demo/included.dep @@ -1 +1 @@ -agl-appfw-smack agl-hmi-framework +agl-appfw-smack agl-hmi-framework agl-profile-graphical-qt5