This is the last larger commit in this series and deals with the graphical part.
We introduce the graphical profiles:
- meta-agl-profile-graphical
-- meta-agl-profile-graphical-html5
-- meta-agl-profile-graphical-qt5
Notable changes:
- weston-ini-conf moved to the meta-agl-bsp layer. Most BSPs have bbappends, so we need to have the recipes present (but unused) even in the console images.
- new image: agl-image-boot = terminal-only + network + package-manaager. Ready for using package-feeds
- new image/sdk: agl-image-minimal-crosssdk
- agl-service-mediaplayer has a dependency on weston, thus it cannot be in the 'core'. Moved it to profile-graphical.
- The wayland-ivi-extension moved to the agl-demo-platform.
- The app-framework layer included and pulled 'web-runtime' as dependency. This broke console-only images. This has been moved to be in meta-agl-demo only for now.
- added and massaged the agl-features.
- found and added a useful script 'oe-depends-dot' that helps to work with the dot files (produced with bitbake -g)
Todo:
- we'll need another pass through the packagegroups. The dependencies for the layers/profiles are now sorted-out but we might have to add/shuffle a few packages.
For further details, see meta-agl/docs/profiles.md.
v2: fix meta-agl/meta-security/conf/layer.conf - the immediate expansion previously used in there caused some recipes not being added to BBFILES.
v3: fix packagegroup renaming (packagegroup-agl-devel -> packagegroup-agl-core-devel)
v4: fix missing packagegroup inclusion (tnx Jose, Scott, Stephane)
v5: fix missing packagegroup inclusion
v6: explicitely put profile-graphical-qt5 on-top of profile-graphical
v7: re-add 'procps' when agl-devel feature is on
Bug-AGL: SPEC-145
Change-Id: I24cdcd1118932758d0c55d333338238f2a770877
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
--- /dev/null
+# AGL Profiles
+
+The AGL Profiles cover the different use-cases that the AGL platform serves. This ranges from minimal systems without display, telematic systems, HUD, IVI, ADAS and more. Common to all of them is the use of the AGL APIs (agl-service-*).
+
+All systems have the 'core' profile in common. This small set of libraries and binaries is the essential set including the AGL APIs that every AGL system needs. All other profiles reuse the 'core' profile.
+
+The other profiles and their dependencies are currently:
+
+ * agl-profile-core
+ * agl-profile-telematics
+ * agl-profile-hud
+ * agl-profile-graphical
+ * agl-profile-graphical-html5
+ * agl-profile-graphical-qt5
+ * agl-demo-platform
+
+
+
+## agl-profile-core
+This profile contains the following images:
+* agl-image-boot
+ * agl-image-minimal
+ * agl-image-minimal-crosssdk
+
+### agl-image-boot
+This image is only meant to boot the target device and provide network, package-management and a shell.
+All other functionality needs to be installed at runtime through 'dnf' using the provided package feeds and package-groups (e.g. dnf install profile-graphical-qt5)
+
+### agl-image-minimal
+This is the smallest image that includes all (non-graphical) AGL APIs.
+
+### agl-image-minimal-crosssdk
+This is the SDK for systems without display including the AGL APIs.
+
+## agl-profile-telematics
+N.N.
+
+## agl-profile-hud
+N.N.
+
+## agl-profile-graphical
+This profile contains a basic graphical system with wayland/weston. It is used as a base for the more targeted profiles:
+* agl-profile-graphical-html5
+* agl-profile-graphical-qt5
+
+Part of this layer are the following images:
+* agl-image-weston
+
+### agl-image-weston
+Pure wayland + weston image but with all AGL service APIs.
+
+## agl-profile-graphical-html5
+This profile contains all components to build a html5 / web-based system and should be used as a base layer for further projects.
+All AGL APIs are included.
+
+## agl-profile-graphical-qt5
+This profile is used as base for all projects that build on qt5 like the agl-demo-platform.
+Part of this layer are the ffollowing images:
+* agl-image-graphical-qt5
+* agl-image-graphical-qt5-crosssdk (THIS IS THE SDK TARGET WE AIM TO USE FOR AGL-DEMO-PLATFORM IN THE END)
+
+All AGL APIs are included.
+
+
+All AGL APIs are included.
+
+### agl-image-graphical-qt5
+Image with wayland/weston and the qt5 packages installed.
+
+### agl-image-graphical-qt5-crosssdk
+SDK based on agl-image-graphical-qt5 suitable for development under qt5.
+
+
+
+## agl-demo-platform
+This layer builds on-top of agl-profile-graphical-qt5 and builds the full AGL demonstrator image.
+It hosts these images:
+* agl-demo-platform
+* agl-demo-platform-crosssdk
+* agl-demo-platform-qa
+
+
+
+
+TLDR:
+
+```
+meta-agl/meta-agl-profile-core/recipes-platform
+|-- images
+| |-- agl-image-boot.bb
+| |-- agl-image-boot.inc
+| |-- agl-image-minimal-crosssdk.bb
+| |-- agl-image-minimal-qa.bb
+| |-- agl-image-minimal.bb
+| `-- agl-image-minimal.inc
+`-- packagegroups
+ |-- packagegroup-agl-core-boot.bb
+ |-- packagegroup-agl-core-connectivity.bb
+ |-- packagegroup-agl-core-multimedia.bb
+ |-- packagegroup-agl-core-navigation.bb
+ |-- packagegroup-agl-core-os-commonlibs.bb
+ |-- packagegroup-agl-core-security.bb
+ |-- packagegroup-agl-core-services.bb
+ |-- packagegroup-agl-image-boot.bb
+ `-- packagegroup-agl-image-minimal.bb
+
+ meta-agl/meta-agl-profile-graphical/recipes-platform
+|-- images
+| |-- agl-image-weston.bb
+| `-- agl-image-weston.inc
+`-- packagegroups
+ |-- packagegroup-agl-graphical-services.bb
+ `-- packagegroup-agl-image-weston.bb
+
+ meta-agl/meta-agl-profile-graphical-html5/recipes-platform
+|-- images
+| |-- agl-demo-platform-html5-crosssdk.bb
+| |-- agl-demo-platform-html5.bb
+| `-- agl-demo-platform-html5.inc
+`-- packagegroups
+ `-- packagegroup-agl-demo-platform-html5.bb
+
+ meta-agl/meta-agl-profile-graphical-qt5/recipes-platform
+|-- images
+| |-- agl-image-graphical-qt5-crosssdk.bb
+| |-- agl-image-graphical-qt5.bb
+| `-- agl-image-graphical-qt5.inc
+`-- packagegroups
+ |-- packagegroup-agl-appfw-native-qt5.bb
+ |-- packagegroup-agl-demo-qt-examples.bb
+ |-- packagegroup-agl-profile-graphical-qt5.bb
+ `-- packagegroup-qt5-toolchain-target.bbappend
+```
+
OSTREE_KERNEL = "Image"
IMAGE_BOOT_FILES_sota = "m3ulcb-ota-bootfiles/* Image-r8a7796-m3ulcb.dtb"
OSTREE_BOOTLOADER ?= "u-boot"
-
-# HOTFIX during layer reorg
-BBMASK .= "|meta-agl/meta-agl-profile-demo/recipes-qt/"
\ No newline at end of file
DISTRO_FEATURES_append = " sota"
# Image support
-AGL_EXTRA_IMAGE_FSTYPES = "wic.vmdk"
+AGL_EXTRA_IMAGE_FSTYPES = "ext4 wic.vmdk"
IMAGE_BOOT_FILES_sota = "u-boot-qemux86-64.rom"
# Root device
--- /dev/null
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+# OVERRIDES save us some c'n'p below ...
+OVERRIDES_prepend_qemux86 = "virtualmachine:"
+OVERRIDES_prepend_qemux86-64 = "virtualmachine:"
+
+# Switch to the Virtual section that we have when a valid DRM device is found
+SRC_URI_remove_virtualmachine = "file://hdmi-a-1-270.cfg"
+SRC_URI_append_virtualmachine = " file://virtual.cfg"
-FILES_${PN}_append_rcar-gen3 = " \
- ${libexecdir}/weston-screenshooter \
- ${libexecdir}/weston-ivi-shell-user-interface \
- ${libexecdir}/weston-keyboard \
- ${libexecdir}/weston-simple-im \
- ${libexecdir}/weston-desktop-shell \
-"
+DEPENDS_append_ulcb = " gstreamer1.0-plugins-base"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-# OVERRIDES save us some c'n'p below ...
-OVERRIDES_prepend_qemux86 = "virtualmachine:"
-OVERRIDES_prepend_qemux86-64 = "virtualmachine:"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+#
+SRC_URI += "${@bb.utils.contains("DISTRO_FEATURES", "virtual-display", "file://virtualoutput.cfg", "",d)}"
+
+do_configure_append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'virtual-display', 'true', 'false', d)}; then
+ echo virtual=1 >> ${WORKDIR}/core.cfg
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'gst-record', 'true', 'false', d)}; then
+ echo recorder=true >> ${WORKDIR}/virtualoutput.cfg
+ fi
+}
-# Switch to the Virtual section that we have when a valid DRM device is found
-SRC_URI_remove_virtualmachine = "file://hdmi-a-1-270.cfg"
-SRC_URI_append_virtualmachine = " file://virtual.cfg"
# THE FUTURE is 'wic'
# IMAGE_FSTYPES_append = " wic"
+# enable the packagemanagement
+IMAGE_FEATURES =+ "package-management"
+PACKAGE_FEED_URIS = "http://192.168.7.1:8000/tmp/deploy/"
+PACKAGE_FEED_BASE_PATHS = "rpm"
+PACKAGE_FEED_ARCHS = ""
+#${PACKAGE_ARCHS}"
+
# Fix for rpm metadata clash between nativesdk-cmake and nativesdk-qtbase-tools
# (revalidate after 2017-10-15)
-DIRFILES_pn-nativesdk-cmake = "1"
-
+#DIRFILES_pn-nativesdk-cmake = "1"
--- /dev/null
+#!/usr/bin/env python3
+#
+# Copyright (C) 2018 Wind River Systems, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+import os
+import sys
+import argparse
+import logging
+import re
+
+class Dot(object):
+ def __init__(self):
+ parser = argparse.ArgumentParser(
+ description="Analyse recipe-depends.dot generated by bitbake -g",
+ epilog="Use %(prog)s --help to get help")
+ parser.add_argument("dotfile",
+ help = "Specify the dotfile", nargs = 1, action='store', default='')
+ parser.add_argument("-k", "--key",
+ help = "Specify the key, e.g., recipe name",
+ action="store", default='')
+ parser.add_argument("-d", "--depends",
+ help = "Print the key's dependencies",
+ action="store_true", default=False)
+ parser.add_argument("-w", "--why",
+ help = "Print why the key is built",
+ action="store_true", default=False)
+ parser.add_argument("-r", "--remove",
+ help = "Remove duplicated dependencies to reduce the size of the dot files."
+ " For example, A->B, B->C, A->C, then A->C can be removed.",
+ action="store_true", default=False)
+
+ self.args = parser.parse_args()
+
+ if len(sys.argv) != 3 and len(sys.argv) < 5:
+ print('ERROR: Not enough args, see --help for usage')
+
+ def main(self):
+ #print(self.args.dotfile[0])
+ # The format is {key: depends}
+ depends = {}
+ with open(self.args.dotfile[0], 'r') as f:
+ for line in f.readlines():
+ if ' -> ' not in line:
+ continue
+ line_no_quotes = line.replace('"', '')
+ m = re.match("(.*) -> (.*)", line_no_quotes)
+ if not m:
+ print('WARNING: Found unexpected line: %s' % line)
+ continue
+ key = m.group(1)
+ if key == "meta-world-pkgdata":
+ continue
+ dep = m.group(2)
+ if key in depends:
+ if not key in depends[key]:
+ depends[key].add(dep)
+ else:
+ print('WARNING: Fonud duplicated line: %s' % line)
+ else:
+ depends[key] = set()
+ depends[key].add(dep)
+
+ if self.args.remove:
+ reduced_depends = {}
+ for k, deps in depends.items():
+ child_deps = set()
+ added = set()
+ # Both direct and indirect depends are already in the dict, so
+ # we don't have to do this recursively.
+ for dep in deps:
+ if dep in depends:
+ child_deps |= depends[dep]
+
+ reduced_depends[k] = deps - child_deps
+ outfile= '%s-reduced%s' % (self.args.dotfile[0][:-4], self.args.dotfile[0][-4:])
+ with open(outfile, 'w') as f:
+ print('Saving reduced dot file to %s' % outfile)
+ f.write('digraph depends {\n')
+ for k, v in reduced_depends.items():
+ for dep in v:
+ f.write('"%s" -> "%s"\n' % (k, dep))
+ f.write('}\n')
+ sys.exit(0)
+
+ if self.args.key not in depends:
+ print("ERROR: Can't find key %s in %s" % (self.args.key, self.args.dotfile[0]))
+ sys.exit(1)
+
+ if self.args.depends:
+ if self.args.key in depends:
+ print('Depends: %s' % ' '.join(depends[self.args.key]))
+
+ reverse_deps = []
+ if self.args.why:
+ for k, v in depends.items():
+ if self.args.key in v and not k in reverse_deps:
+ reverse_deps.append(k)
+ print('Because: %s' % ' '.join(reverse_deps))
+
+if __name__ == "__main__":
+ try:
+ dot = Dot()
+ ret = dot.main()
+ except Exception as esc:
+ ret = 1
+ import traceback
+ traceback.print_exc()
+ sys.exit(ret)
IMAGE_FEATURES =+ "debug-tweaks eclipse-debug tools-debug tools-profile"
-#IMAGE_INSTALL_append = " \
-# packagegroup-agl-core-devel \
-#"
+IMAGE_INSTALL_append = " \
+ packagegroup-agl-core-devel \
+"
IMAGE_INSTALL_append = "${@bb.utils.contains('IMAGE_FSTYPES', 'wic.vmdk', ' open-vm-tools vboxguestdrivers', '', d)}"
+++ /dev/null
-DESCRIPTION = "The minimal set of packages for Automotive Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-core-automotive \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-DESCRIPTION = "The minimal set of packages for Graphics Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-core-graphics \
- "
-
-ALLOW_EMPTY_${PN} = "1"
+++ /dev/null
-DESCRIPTION = "The minimal set of packages for Kernel Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-core-kernel \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-DESCRIPTION = "The minimal set of packages for Multimedia Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-core-multimedia \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-DESCRIPTION = "The minimal set of packages for Navigation and Location Based Services Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-core-navi-lbs \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-DESCRIPTION = "The minimal set of packages for Security Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-core-security \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-DESCRIPTION = "The minimal set of packages for Speech Services Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-core-speech-services \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
rsync \
tree \
pstree \
+ procps \
"
+++ /dev/null
-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 \
- "
-
+++ /dev/null
-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 \
- "
+++ /dev/null
-require recipes-core/images/agl-image-minimal.inc
-
-IMAGE_FEATURES += "splash package-management ssh-server-dropbear"
+++ /dev/null
-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-automotive \
- packagegroup-agl-ivi-connectivity \
- packagegroup-agl-ivi-graphics \
- packagegroup-agl-ivi-multimedia \
- packagegroup-agl-ivi-navi-lbs \
- packagegroup-agl-ivi-os-commonlibs \
- packagegroup-agl-ivi-speech-services \
- packagegroup-agl-ivi-security \
- packagegroup-agl-ivi-kernel \
- "
-
-RDEPENDS_${PN} += "\
- agl-login-manager \
- "
+++ /dev/null
-SUMMARY = "The middlewares for AGL IVI profile"
-DESCRIPTION = "The set of packages required by Automotive Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-ivi-automotive \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-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 \
- rtl-sdr \
- rygel \
- rygel-plugin-media-export \
- rygel-plugin-lms \
- "
+++ /dev/null
-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} += "\
- "
+++ /dev/null
-SUMMARY = "The middlewares for AGL IVI profile"
-DESCRIPTION = "The set of packages required by Kernel Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-ivi-kernel \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-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 \
- "
+++ /dev/null
-SUMMARY = "The packages of middlewares for AGL IVI profile"
-DESCRIPTION = "The set of packages required by Navigation and Location Based Services Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-ivi-navi-lbs \
- "
-
-RDEPENDS_${PN} += "\
- gpsd \
- geoclue \
- "
+++ /dev/null
-SUMMARY = "The packages of middlewares for AGL IVI profile"
-DESCRIPTION = "The set of packages required by Security Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-ivi-security \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-SUMMARY = "The packages of middlewares for AGL IVI profile"
-DESCRIPTION = "The set of packages required by Speech Services Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-ivi-speech-services \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
--- /dev/null
+unload-module module-role-cork
+unload-module module-device-restore
+unload-module module-stream-restore
+unload-module module-card-restore
FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
+
+SRC_URI += "file://10-unload-modules.pa"
+
inherit systemd
+
+# 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/
+}
+
+
do_install_append() {
# Install pulseaudio systemd service
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_user_unitdir}/pulseaudio.service', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_user_unitdir}/default.target.wants/pulseaudio.service', '', d)} \
"
+
-SUMMARY = "Cross SDK of AGL Distribution for IVI profile"
+SUMMARY = "Cross SDK of Full AGL Distribution for core profile"
-DESCRIPTION = "Basic image for baseline of AGL Distribution for IVI profile. \
+DESCRIPTION = "SDK image for full 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
+require agl-image-minimal.bb
LICENSE = "MIT"
-IMAGE_FEATURES += "dev-pkgs"
-IMAGE_INSTALL += "kernel-dev"
+IMAGE_FEATURES_append = " dev-pkgs"
+IMAGE_INSTALL_append = " kernel-dev kernel-devsrc"
inherit populate_sdk
# Both exec "createrepo" on the same directory, and so one of them
# can failed (randomly).
addtask do_populate_sdk after do_rootfs
+
RDEPENDS_${PN} += "\
dhcp-server \
${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','connman','connman connman-client connman-tests connman-tools connman-ncurses','',d)} \
+ rtl-sdr \
"
--- /dev/null
+SUMMARY = "The software for application framework of AGL IVI profile"
+DESCRIPTION = "A set of packages belong to AGL application framework which required by \
+Multimedia Subsystem"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-core-multimedia \
+ "
+
+RDEPENDS_${PN} += "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-audio-4a-framework', '' , 'agl-audio-plugin', d)} \
+ alsa-utils \
+ pulseaudio-server \
+ pulseaudio-misc \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '\
+ pulseaudio-module-bluetooth-discover \
+ pulseaudio-module-bluetooth-policy \
+ pulseaudio-module-bluez5-discover \
+ pulseaudio-module-bluez5-device \
+ pulseaudio-module-switch-on-connect \
+ pulseaudio-module-loopback \
+ ','', d)} \
+ gstreamer1.0-meta-base \
+ "
inherit packagegroup
PACKAGES = "\
- packagegroup-agl-appfw-navi-lbs \
+ packagegroup-agl-core-navigation \
"
RDEPENDS_${PN} += "\
- agl-service-gps \
- agl-service-geoclue \
- agl-service-geofence \
+ gpsd \
+ geoclue \
"
-DESCRIPTION = "The minimal set of packages for Operating System and Common libraries Subsystem"
+SUMMARY = "The packages of middlewares for AGL IVI profile"
+DESCRIPTION = "The set of packages required by Operating System and Common libraries Subsystem"
LICENSE = "MIT"
inherit packagegroup
inherit packagegroup
PACKAGES = "\
- packagegroup-agl-ivi-os-commonlibs \
+ packagegroup-agl-core-security \
"
ALLOW_EMPTY_${PN} = "1"
--- /dev/null
+DESCRIPTION = "The minimal set of packages for Connectivity Subsystem"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-core-services \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+agl-service-bluetooth \
+agl-service-can-low-level \
+agl-service-data-persistence \
+agl-service-geoclue \
+agl-service-geofence \
+agl-service-gps \
+agl-service-identity-agent \
+agl-service-mediascanner \
+agl-service-navigation \
+agl-service-nfc \
+agl-service-radio \
+agl-service-signal-composer \
+agl-service-steering-wheel \
+agl-service-unicens \
+agl-service-weather \
+agl-service-wifi \
+high-level-viwi-service \
+ "
ALLOW_EMPTY_${PN} = "1"
RDEPENDS_${PN} += "\
- packagegroup-core-boot-agl \
+ packagegroup-agl-core-boot \
"
PACKAGES = "\
packagegroup-agl-image-minimal \
+ profile-agl-minimal \
"
ALLOW_EMPTY_${PN} = "1"
RDEPENDS_${PN} += "\
- packagegroup-core-boot-agl \
+ packagegroup-agl-core-boot \
"
RDEPENDS_${PN} += "\
- packagegroup-agl-core-automotive \
packagegroup-agl-core-connectivity \
- packagegroup-agl-core-graphics \
+ packagegroup-agl-core-navigation \
packagegroup-agl-core-multimedia \
- packagegroup-agl-core-navi-lbs \
packagegroup-agl-core-os-commonlibs \
- packagegroup-agl-core-speech-services \
+ packagegroup-agl-core-services \
packagegroup-agl-core-security \
- packagegroup-agl-core-kernel \
"
+
+RDEPENDS_profile-agl-minimal = "${PN}"
+++ /dev/null
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-AGL App Fw Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-agl \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Automotive Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-automotive \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Connectivity Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-connectivity \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
-
-AGL_APPS = " \
- "
-# restricted due to dependency on Kernel >= 4.8 which is not available in all repositories
-AGL_APPS_append_m3ulcb = " agl-service-can-low-level "
-AGL_APPS_append_intel-corei7-64 = " agl-service-can-low-level "
-AGL_APPS_append_qemux86-64 = " agl-service-can-low-level "
-
-RDEPENDS_${PN}_append = " \
- ${AGL_APPS} \
- "
-
+++ /dev/null
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Graphics Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-graphics \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- opencv \
- "
+++ /dev/null
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Multimedia Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-multimedia \
- "
-
-RDEPENDS_${PN} += "\
- agl-service-mediaplayer \
- "
+++ /dev/null
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Security Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-security \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Speech Services Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-speech-services \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- packagegroup-agl-appfw-automotive \
- packagegroup-agl-appfw-connectivity \
- packagegroup-agl-appfw-graphics \
- packagegroup-agl-appfw-multimedia \
- packagegroup-agl-appfw-navi-lbs \
- packagegroup-agl-appfw-agl \
- packagegroup-agl-appfw-native \
- packagegroup-agl-appfw-web \
- packagegroup-agl-appfw-security \
- packagegroup-agl-appfw-speech-services \
- "
+++ /dev/null
-From 10602ca53b1c1231e96d8d446904617528c11dae Mon Sep 17 00:00:00 2001
-From: Ronan Le Martret <ronan.lemartret@iot.bzh>
-Date: Mon, 13 Mar 2017 15:31:41 +0100
-Subject: [PATCH] Fix missing link to unistring for lms plugin
-
-Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
----
- configure.ac | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index c5cbc00..2f7dc78 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -248,6 +248,10 @@ AS_IF([test "x$enable_lms_plugin" = "xyes"],
- gio-2.0 >= $GIO_REQUIRED
- sqlite3 >= $LIBSQLITE3_REQUIRED])
- RYGEL_PLUGIN_LMS_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gio-2.0 --pkg gee-0.8 --pkg sqlite3"
-+ AS_IF([test "x$have_unistring" = "xyes"],
-+ [
-+ RYGEL_PLUGIN_LMS_DEPS_LIBS="$RYGEL_PLUGIN_LMS_DEPS_LIBS -lunistring"
-+ ])
- AC_SUBST([RYGEL_PLUGIN_LMS_DEPS_VALAFLAGS])
- ])
-
---
-2.6.6
-
+++ /dev/null
-[Unit]
-Description=Rygel
-After=lightmediascanner.service
-Requires=lightmediascanner.service
-
-[Service]
-Type=dbus
-BusName=org.gnome.Rygel1
-ExecStart=/usr/bin/rygel -c /etc/rygel.conf
-
-[Install]
-WantedBy=default.target
-Alias=dbus-org.gnome.Rygel1.service
+++ /dev/null
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-# Disable everything but the media-export plugin, add the lms plugin
-PACKAGECONFIG = "media-export lms"
-PACKAGECONFIG[lms] = "--enable-lms-plugin,--disable-lms-plugin,sqlite3"
-
-# LightMediaScanner plugin patches
-SRC_URI += "\
- file://0001-Fix-missing-link-to-unistring-for-lms-plugin.patch \
- file://rygel.service \
-"
-
-do_install_prepend() {
- # Install rygel systemd service
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -m 644 -p -D ${WORKDIR}/rygel.service ${D}${systemd_user_unitdir}/rygel.service
-
- # Execute these manually on behalf of systemctl script (from systemd-systemctl-native.bb)
- # because it does not support systemd's user mode.
- # However, systemctl --global should be checked
- #mkdir -p ${D}/etc/systemd/user/default.target.wants/
- #ln -sf ${systemd_user_unitdir}/rygel.service ${D}/etc/systemd/user/dbus-org.gnome.Rygel1.service
- #ln -sf ${systemd_user_unitdir}/rygel.service ${D}/etc/systemd/user/default.target.wants/rygel.service
- fi
-}
+++ /dev/null
-DESCRIPTION = "The minimal set of packages for Multimedia Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-ivi-common-core-multimedia \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
+++ /dev/null
-From 8080b7395c1638baee60fb3c46667f21e00b87fb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Erik=20Bot=C3=B6?= <erik.boto@pelagicore.com>
-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ö <erik.boto@pelagicore.com>
----
- 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
-
+++ /dev/null
-From bcca4c99394ba422d03a5e76f2a0023ef248824a Mon Sep 17 00:00:00 2001
-From: Andrei Gherzan <andrei.gherzan@windriver.com>
-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 <andrei.gherzan@windriver.com>
----
- 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
+++ /dev/null
-From 6804c68ed61f4436818c58cb0abe1c21b4d48aea Mon Sep 17 00:00:00 2001
-From: Andrei Gherzan <andrei.gherzan@windriver.com>
-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 <andrei.gherzan@windriver.com>
----
- 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\r
- \r
- [Service]\r
--Type=Simple\r
-+Type=simple\r
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-dbus\r
- WatchdogSec=@DLT_WatchdogSec@\r
- NotifyAccess=main\r
-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\r
- \r
- [Service]\r
--Type=Simple\r
-+Type=simple\r
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system\r
- WatchdogSec=@DLT_WatchdogSec@\r
- NotifyAccess=main\r
-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
-
+++ /dev/null
-From 9a5e655cf57301008cd61d53c8a410a7f397e650 Mon Sep 17 00:00:00 2001
-From: Andrei Gherzan <andrei.gherzan@windriver.com>
-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 <andrei.gherzan@windriver.com>
----
- 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 )
+++ /dev/null
-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"
+++ /dev/null
-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-*
-}
+++ /dev/null
-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
-}
+++ /dev/null
-From c4b6030f575e38dfc9cca7dfd029d207f3af6a13 Mon Sep 17 00:00:00 2001
-From: "Andre Moreira Magalhaes (andrunko)" <andre.magalhaes@collabora.co.uk>
-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<std::string> commandPluginDir("l","CommandPluginDir","path for l
- TCLAP::ValueArg<std::string> databasePath ("p","databasePath","path for sqlite database (default is in memory)",false,":memory:","string");
- TCLAP::ValueArg<unsigned int> telnetPort ("t","telnetport","The port that is used for telnet",false,DEFAULT_TELNETPORT,"int");
- TCLAP::ValueArg<unsigned int> 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
-
+++ /dev/null
-# 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
+++ /dev/null
-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/
-}
--- /dev/null
+# We have a conf and classes directory, add to BBPATH
+BBPATH =. "${LAYERDIR}:"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "aglprofilegraphicalhtml5"
+BBFILE_PATTERN_aglprofilegraphicalhtml5 = "^${LAYERDIR}/"
+BBFILE_PRIORITY_aglprofilegraphicalhtml5 = "70"
--- /dev/null
+[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
--- /dev/null
+#!/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
--- /dev/null
+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}"
--- /dev/null
+SUMMARY = "Cross SDK of Full AGL Distribution for IVI profile"
+
+DESCRIPTION = "SDK image for full AGL Distribution for IVI profile. \
+It includes the full meta-toolchain, plus developement headers and libraries \
+to form a standalone cross SDK."
+
+require agl-demo-platform-html5.bb
+
+LICENSE = "MIT"
+
+IMAGE_FEATURES_append = " dev-pkgs"
+IMAGE_INSTALL_append = " kernel-dev kernel-devsrc"
+
+inherit populate_sdk populate_sdk_qt5
+
+# 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
+
+# native tools to support Chromium build inside SDK (SPEC-942)
+TOOLCHAIN_HOST_TASK += " \
+ nativesdk-gn \
+ nativesdk-ninja \
+ nativesdk-gperf \
+ nativesdk-zlib \
+ nativesdk-xz \
+ nativesdk-nspr-dev \
+ nativesdk-nss-dev \
+ nativesdk-lua \
+ "
+
+# required dependencies for Chromium build inside SDK (SPEC-942)
+TOOLCHAIN_TARGET_TASK += " \
+ pciutils-dev \
+ pulseaudio-dev \
+ cairo-dev \
+ nss-dev \
+ cups-dev \
+ gconf-dev \
+ libexif-dev \
+ pango-dev \
+ libdrm-dev \
+ libssp-dev \
+ lua-dev \
+ lua-staticdev \
+ ${@bb.utils.contains('LICENSE_FLAGS_WHITELIST', 'commercial', 'ffmpeg-dev', '', d)} \
+ "
+
+# Add wayland-scanner to SDK (SPEC-945)
+# Use TOOLCHAIN_HOST_TASK instead of adding to the packagegroup
+# wayland-scanner is in nativesdk-wayland-dev !
+# option: add also nativesdk-qtwayland-tools
+TOOLCHAIN_HOST_TASK_append = " nativesdk-wayland nativesdk-wayland-dev"
+
+TOOLCHAIN_HOST_TASK_append = " nativesdk-perl-modules "
--- /dev/null
+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 \
+ "
--- /dev/null
+# Base image
+require recipes-ivi/images/agl-image-ivi.inc
--- /dev/null
+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 \
+ "
--- /dev/null
+# We have a conf and classes directory, add to BBPATH
+BBPATH =. "${LAYERDIR}:"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "aglprofilegraphicalqt5"
+BBFILE_PATTERN_aglprofilegraphicalqt5 = "^${LAYERDIR}/"
+BBFILE_PRIORITY_aglprofilegraphicalqt5 = "70"
SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Web App Fw Subsystem"
+DESCRIPTION = "A set of packages belong to AGL application framework"
LICENSE = "MIT"
inherit packagegroup
PACKAGES = "\
- packagegroup-agl-appfw-web \
+ packagegroup-agl-appfw-qt5 \
"
ALLOW_EMPTY_${PN} = "1"
RDEPENDS_${PN} += "\
- "
+ packagegroup-agl-appfw-native \
+"
\ No newline at end of file
--- /dev/null
+SUMMARY = "Cross SDK of Full AGL Distribution for IVI profile"
+
+DESCRIPTION = "SDK image for full 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-graphical-qt5.bb
+
+LICENSE = "MIT"
+
+IMAGE_FEATURES_append = " dev-pkgs"
+IMAGE_INSTALL_append = " kernel-dev kernel-devsrc"
+
+inherit populate_sdk populate_sdk_qt5
+
+# 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
+
+# native tools to support Chromium build inside SDK (SPEC-942)
+TOOLCHAIN_HOST_TASK += " \
+ nativesdk-gn \
+ nativesdk-ninja \
+ nativesdk-gperf \
+ nativesdk-zlib \
+ nativesdk-xz \
+ nativesdk-nspr-dev \
+ nativesdk-nss-dev \
+ nativesdk-lua \
+ "
+
+# required dependencies for Chromium build inside SDK (SPEC-942)
+TOOLCHAIN_TARGET_TASK += " \
+ pciutils-dev \
+ pulseaudio-dev \
+ cairo-dev \
+ nss-dev \
+ cups-dev \
+ gconf-dev \
+ libexif-dev \
+ pango-dev \
+ libdrm-dev \
+ libssp-dev \
+ lua-dev \
+ lua-staticdev \
+ ${@bb.utils.contains('LICENSE_FLAGS_WHITELIST', 'commercial', 'ffmpeg-dev', '', d)} \
+ "
+
+# Add wayland-scanner to SDK (SPEC-945)
+# Use TOOLCHAIN_HOST_TASK instead of adding to the packagegroup
+# wayland-scanner is in nativesdk-wayland-dev !
+# option: add also nativesdk-qtwayland-tools
+TOOLCHAIN_HOST_TASK_append = " nativesdk-wayland nativesdk-wayland-dev"
+
+TOOLCHAIN_HOST_TASK_append = " nativesdk-perl-modules "
SUMMARY = "A very basic Wayland image with a terminal"
-require agl-image-weston.inc
+require agl-image-graphical-qt5.inc
LICENSE = "MIT"
packagegroup-agl-image-weston \
"
-DISTRO_FEATURES_append = " agl-core-image-profile"
-IMAGE_INSTALL_append = " agl-desktop-config"
--- /dev/null
+require recipes-platform/images/agl-image-minimal.inc
+
+IMAGE_FEATURES += "splash package-management ssh-server-dropbear"
+
+inherit distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "wayland"
qtgraphicaleffects-qmlplugins \
qtvirtualkeyboard \
"
-RDEPENDS_${PN}_checkforkrogoth += "\
- qtwayland-examples \
- "
--- /dev/null
+SUMMARY = "The middlewares for AGL IVI profile"
+DESCRIPTION = "The set of packages required for AGL Distribution"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-profile-graphical-qt5 \
+ profile-graphical-qt5 \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-profile-graphical \
+ packagegroup-agl-appfw-native-qt5 \
+"
+
+RDEPENDS_${PN} += "\
+ agl-login-manager \
+ "
+
+RDEPENDS_profile-graphical-qt5 = "${PN}"
+++ /dev/null
-DESCRIPTION = "The minimal set of packages required for basic Wayland image"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-image-weston \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "weston weston-init weston-ini-conf weston-examples"
-RDEPENDS_${PN} += "agl-login-manager"
-
-RDEPENDS_${PN} += "\
- packagegroup-agl-image-minimal \
- "
+++ /dev/null
-From 97af4843a4705cd7d5b6b69abb9002fd974a5b94 Mon Sep 17 00:00:00 2001
-From: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
-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 <tanikawa.tadao@jp.panasonic.com>
----
- 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
-
+++ /dev/null
-From 8f67f40f7c6b6f62e094f0bdc5044793ae76b1c7 Mon Sep 17 00:00:00 2001
-From: Emre Ucan <eucan@de.adit-jv.com>
-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 <eucan@de.adit-jv.com>
----
- 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 <stdlib.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <limits.h>
-+
-+#include <weston.h>
-+#include <weston/ivi-layout-export.h>
-+
-+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
-
+++ /dev/null
-From 26f2f7ce78ba2002809048b227ad9c35921a9cd8 Mon Sep 17 00:00:00 2001
-From: Emre Ucan <eucan@de.adit-jv.com>
-Date: Fri, 24 Nov 2017 16:27:01 +0100
-Subject: [PATCH 2/2] ivi-controller: load id-agent module
-
-Signed-off-by: Emre Ucan <eucan@de.adit-jv.com>
----
- 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
-
+++ /dev/null
-From 525b5bf65303d661f44c01b11bafd5ba90976850 Mon Sep 17 00:00:00 2001
-From: Wataru Mizuno <wmizuno@jp.adit-jv.com>
-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 <wmizuno@jp.adit-jv.com>
----
- 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
-
+++ /dev/null
-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)
-
+++ /dev/null
-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})
+++ /dev/null
-From fbe0d0fd35ff79561dc2da853f1b0903bfde428d Mon Sep 17 00:00:00 2001
-From: Changhyeok Bae <changhyeok.bae@gmail.com>
-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
-
+++ /dev/null
-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)
+++ /dev/null
-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"
+++ /dev/null
-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 = ""
+++ /dev/null
-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', '')}"
+++ /dev/null
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-#
-SRC_URI += "${@bb.utils.contains("DISTRO_FEATURES", "virtual-display", "file://virtualoutput.cfg", "",d)}"
-
-do_configure_append() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'virtual-display', 'true', 'false', d)}; then
- echo virtual=1 >> ${WORKDIR}/core.cfg
- fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'gst-record', 'true', 'false', d)}; then
- echo recorder=true >> ${WORKDIR}/virtualoutput.cfg
- fi
-}
-
+++ /dev/null
-DEPENDS_append_ulcb = " gstreamer1.0-plugins-base"
--- /dev/null
+SUMMARY = "A very basic Wayland image with a terminal"
+
+require agl-image-weston.inc
+
+LICENSE = "MIT"
+
+IMAGE_INSTALL_append = "\
+ profile-agl-graphical \
+ "
-require recipes-core/images/agl-image-minimal.inc
+require recipes-platform/images/agl-image-minimal.inc
IMAGE_FEATURES += "splash package-management ssh-server-dropbear"
--- /dev/null
+DESCRIPTION = "The minimal set of packages for Connectivity Subsystem"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-graphical-services \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+agl-service-mediaplayer \
+ "
--- /dev/null
+DESCRIPTION = "The minimal set of packages required for basic Wayland image"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-image-weston \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += " \
+ weston \
+ weston-init \
+ weston-ini-conf \
+ weston-examples \
+ agl-login-manager \
+ agl-desktop-config \
+ packagegroup-agl-graphical-services \
+ profile-agl-minimal \
+ "
+
--- /dev/null
+SUMMARY = "The middlewares for AGL IVI profile"
+DESCRIPTION = "The set of packages required for AGL Distribution"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-profile-graphical \
+ profile-graphical \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-image-minimal \
+ packagegroup-agl-image-weston \
+ packagegroup-agl-graphical-services \
+"
+
+RDEPENDS_profile-graphical = "${PN}"
+++ /dev/null
-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 := ""
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
-BBFILE_COLLECTIONS += "aglprofiledemo"
-BBFILE_PATTERN_aglprofiledemo = "^${LAYERDIR}/"
-BBFILE_PRIORITY_aglprofiledemo = "70"
+BBFILE_COLLECTIONS += "aglprofilehud"
+BBFILE_PATTERN_aglprofilehud = "^${LAYERDIR}/"
+BBFILE_PRIORITY_aglprofilehud = "70"
--- /dev/null
+# We have a conf and classes directory, add to BBPATH
+BBPATH =. "${LAYERDIR}:"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "aglprofiletelematics"
+BBFILE_PATTERN_aglprofiletelematics = "^${LAYERDIR}/"
+BBFILE_PRIORITY_aglprofiletelematics = "70"
libafbwsc \
af-main \
systemd-agl-sync \
- ${@bb.utils.contains('DISTRO_FEATURES', 'webruntime', 'virtual/webruntime', '', d)} \
"
+++ /dev/null
-#!/bin/sh
-exec /usr/bin/qt5/qmlscene "$1" /usr/bin/web-runtime.qml
+++ /dev/null
-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
- }
-}
+++ /dev/null
-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
- }
-}
+++ /dev/null
-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
-}
-
-
--- /dev/null
+RDEPENDS_${PN} += "\
+ packagegroup-agl-app-framework \
+ "
BBPATH =. "${LAYERDIR}:"
# We have a packages directory, add to BBFILES
-BBFILES := "${BBFILES} \
- ${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
+BBFILES += " ${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend \
+ "
# Must prioritize our rpm recipe over the default ones.
BBFILE_COLLECTIONS += "security-smack"
${METADIR}/meta-openembedded/meta-filesystems \
"
-# temporary ... to avoid build breakage. To move to upper layers.
-AGL_TEMP_GFX_LAYERS = " \
- ${METADIR}/meta-agl/meta-agl-profile-graphical \
- ${METADIR}/meta-agl/meta-agl-profile-demo \
- "
-
-
####################
# Combine the layers
BBLAYERS ?= " \
${AGL_CORE_DEPENDENCY_LAYERS} \
${AGL_CORE_LAYERS} \
${AGL_APPFW_LAYERS} \
- ${AGL_TEMP_GFX_LAYERS} \
${YOCTO_LAYERS} \
"
--- /dev/null
+BBLAYERS =+ " \
+ ${METADIR}/meta-agl/meta-agl-profile-graphical-html5 \
+"
--- /dev/null
+agl-profile-graphical
\ No newline at end of file
--- /dev/null
+BBLAYERS =+ " \
+ ${METADIR}/meta-agl/meta-agl-profile-graphical-qt5 \
+"
+
+# These are the dependencies
+#---------------------------
+BBLAYERS =+ " \
+ ${METADIR}/meta-qt5 \
+"
--- /dev/null
+agl-profile-graphical
\ No newline at end of file
--- /dev/null
+BBLAYERS =+ " \
+ ${METADIR}/meta-agl/meta-agl-profile-graphical \
+"
--- /dev/null
+BBLAYERS =+ " \
+ ${METADIR}/meta-agl/meta-agl-profile-hud \
+"
--- /dev/null
+BBLAYERS =+ " \
+ ${METADIR}/meta-agl/meta-agl-profile-telematics \
+"