summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xagl-layers-overview.md25
-rw-r--r--docs/devguides-book.yml8
-rw-r--r--meta-agl-profile-telematics/recipes-core/systemd/files/0001-networkd-link-link_configure-factor-out-link_configu.patch59
-rw-r--r--meta-agl-profile-telematics/recipes-core/systemd/files/0002-networkd-link-link_up_can-move-function-upwards.patch82
-rw-r--r--meta-agl-profile-telematics/recipes-core/systemd/files/0003-networkd-link-add-support-to-configure-CAN-interface.patch305
-rw-r--r--meta-agl-profile-telematics/recipes-core/systemd/systemd_234.bbappend7
-rwxr-xr-xmeta-agl.md142
-rw-r--r--meta-app-framework/recipes-core/af-binder/af-binder_git.inc2
8 files changed, 172 insertions, 458 deletions
diff --git a/agl-layers-overview.md b/agl-layers-overview.md
new file mode 100755
index 000000000..409eae529
--- /dev/null
+++ b/agl-layers-overview.md
@@ -0,0 +1,25 @@
+Overview
+========
+
+The
+[AGL Project](https://www.automotivelinux.org/) is an automotive-specific
+development environment that provides a Linux distribution
+[(AGL UCB](https://www.automotivelinux.org/software/unified-code-base)).
+
+AGL uses layers designed to be compatible with the
+[Yocto Project](https://www.yoctoproject.org) and the
+[OpenEmbedded Project (OE)](https://www.openembedded.org/wiki/Main_Page).
+
+This section provides information about the layers used by the AGL Project:
+
+* **`meta-agl`**: Minimal set of software needed to create an AGL distribution
+ used to boot a system.
+ AGL profiles are built on top of this minimal set of software.
+
+* **`meta-agl-demo`**: Provides a reference or demo platform and applications
+ for the AGL Distribution.
+ The reference UI is part of the `meta-agl-demo` layer.
+
+* **`meta-agl-devel`**: Contains components under development or being tested.
+ This layer also contains software packages that OEMs need but do not exist
+ in AGL.
diff --git a/docs/devguides-book.yml b/docs/devguides-book.yml
index 7db084043..227e59e1f 100644
--- a/docs/devguides-book.yml
+++ b/docs/devguides-book.yml
@@ -2,14 +2,14 @@ type: books
books:
-
id: meta-agl
- title: Meta AGL
+ title: AGL Layers
description: Meta AGL documentation
keywords:
author: "AGL"
version: master
chapters:
- - url: ../README-AGL.md
+ - url: ../agl-layers-overview.md
name: AGL Overview
- - url: ../README.md
+ - url: ../meta-agl.md
destination: meta-agl.md
- name: meta-agl \ No newline at end of file
+ name: meta-agl
diff --git a/meta-agl-profile-telematics/recipes-core/systemd/files/0001-networkd-link-link_configure-factor-out-link_configu.patch b/meta-agl-profile-telematics/recipes-core/systemd/files/0001-networkd-link-link_configure-factor-out-link_configu.patch
deleted file mode 100644
index d2117f652..000000000
--- a/meta-agl-profile-telematics/recipes-core/systemd/files/0001-networkd-link-link_configure-factor-out-link_configu.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 249a124d84e586f43aa47682d512a83a4322fb4b Mon Sep 17 00:00:00 2001
-From: Marc Kleine-Budde <mkl@pengutronix.de>
-Date: Wed, 30 May 2018 11:47:23 +0200
-Subject: [PATCH 1/3] networkd-link: link_configure(); factor out
- link_configure_can() into separate function
-
----
- src/network/networkd-link.c | 28 ++++++++++++++++------------
- 1 file changed, 16 insertions(+), 12 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 4c57fa1793..c29ae30ef0 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -2509,6 +2509,20 @@ static int link_update_lldp(Link *link) {
- return r;
- }
-
-+static int link_configure_can(Link *link) {
-+ int r;
-+
-+ if (!(link->flags & IFF_UP)) {
-+ r = link_up_can(link);
-+ if (r < 0) {
-+ link_enter_failed(link);
-+ return r;
-+ }
-+ }
-+
-+ return 0;
-+}
-+
- static int link_configure(Link *link) {
- int r;
-
-@@ -2516,18 +2530,8 @@ static int link_configure(Link *link) {
- assert(link->network);
- assert(link->state == LINK_STATE_PENDING);
-
-- if (streq_ptr(link->kind, "vcan")) {
--
-- if (!(link->flags & IFF_UP)) {
-- r = link_up_can(link);
-- if (r < 0) {
-- link_enter_failed(link);
-- return r;
-- }
-- }
--
-- return 0;
-- }
-+ if (streq_ptr(link->kind, "vcan"))
-+ return link_configure_can(link);
-
- /* Drop foreign config, but ignore loopback or critical devices.
- * We do not want to remove loopback address or addresses used for root NFS. */
---
-2.17.1
-
diff --git a/meta-agl-profile-telematics/recipes-core/systemd/files/0002-networkd-link-link_up_can-move-function-upwards.patch b/meta-agl-profile-telematics/recipes-core/systemd/files/0002-networkd-link-link_up_can-move-function-upwards.patch
deleted file mode 100644
index 6e2f4109c..000000000
--- a/meta-agl-profile-telematics/recipes-core/systemd/files/0002-networkd-link-link_up_can-move-function-upwards.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 833fbbe448fca5f7047708db2d0d91778aabbb93 Mon Sep 17 00:00:00 2001
-From: Marc Kleine-Budde <mkl@pengutronix.de>
-Date: Wed, 30 May 2018 16:31:59 +0200
-Subject: [PATCH 2/3] networkd-link: link_up_can(): move function upwards
-
-This patch is a preparation patch, to avoid forward declarations in the
-next patch.
----
- src/network/networkd-link.c | 50 ++++++++++++++++++-------------------
- 1 file changed, 25 insertions(+), 25 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index c29ae30ef0..a736dc1a74 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -1780,6 +1780,31 @@ int link_up(Link *link) {
- return 0;
- }
-
-+static int link_up_can(Link *link) {
-+ _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *req = NULL;
-+ int r;
-+
-+ assert(link);
-+
-+ log_link_debug(link, "Bringing CAN link up");
-+
-+ r = sd_rtnl_message_new_link(link->manager->rtnl, &req, RTM_SETLINK, link->ifindex);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Could not allocate RTM_SETLINK message: %m");
-+
-+ r = sd_rtnl_message_link_set_flags(req, IFF_UP, IFF_UP);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Could not set link flags: %m");
-+
-+ r = sd_netlink_call_async(link->manager->rtnl, req, link_up_handler, link, 0, NULL);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
-+
-+ link_ref(link);
-+
-+ return 0;
-+}
-+
- static int link_down_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) {
- _cleanup_link_unref_ Link *link = userdata;
- int r;
-@@ -1824,31 +1849,6 @@ int link_down(Link *link) {
- return 0;
- }
-
--static int link_up_can(Link *link) {
-- _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *req = NULL;
-- int r;
--
-- assert(link);
--
-- log_link_debug(link, "Bringing CAN link up");
--
-- r = sd_rtnl_message_new_link(link->manager->rtnl, &req, RTM_SETLINK, link->ifindex);
-- if (r < 0)
-- return log_link_error_errno(link, r, "Could not allocate RTM_SETLINK message: %m");
--
-- r = sd_rtnl_message_link_set_flags(req, IFF_UP, IFF_UP);
-- if (r < 0)
-- return log_link_error_errno(link, r, "Could not set link flags: %m");
--
-- r = sd_netlink_call_async(link->manager->rtnl, req, link_up_handler, link, 0, NULL);
-- if (r < 0)
-- return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
--
-- link_ref(link);
--
-- return 0;
--}
--
- static int link_handle_bound_to_list(Link *link) {
- Link *l;
- Iterator i;
---
-2.17.1
-
diff --git a/meta-agl-profile-telematics/recipes-core/systemd/files/0003-networkd-link-add-support-to-configure-CAN-interface.patch b/meta-agl-profile-telematics/recipes-core/systemd/files/0003-networkd-link-add-support-to-configure-CAN-interface.patch
deleted file mode 100644
index 594b4be96..000000000
--- a/meta-agl-profile-telematics/recipes-core/systemd/files/0003-networkd-link-add-support-to-configure-CAN-interface.patch
+++ /dev/null
@@ -1,305 +0,0 @@
-From c855f0b6042516632e4ad2020f8576de54366593 Mon Sep 17 00:00:00 2001
-From: Hiram van Paassen <hiram.van.paassen@mastervolt.com>
-Date: Tue, 10 Apr 2018 17:26:20 +0200
-Subject: [PATCH 3/3] networkd-link: add support to configure CAN interfaces
-
-This patch adds support for kind "can". Fixes: #4042.
----
- man/systemd.network.xml | 33 ++++++
- src/libsystemd/sd-netlink/netlink-types.c | 10 ++
- src/libsystemd/sd-netlink/netlink-types.h | 1 +
- src/network/networkd-link.c | 122 +++++++++++++++++++++-
- src/network/networkd-network-gperf.gperf | 3 +
- src/network/networkd-network.c | 3 +-
- src/network/networkd-network.h | 5 +
- 7 files changed, 175 insertions(+), 2 deletions(-)
-
-diff --git a/man/systemd.network.xml b/man/systemd.network.xml
-index 6b83a5b851..99ef84ac3d 100644
---- a/man/systemd.network.xml
-+++ b/man/systemd.network.xml
-@@ -1361,6 +1361,32 @@
- </varlistentry>
- </variablelist>
- </refsect1>
-+
-+ <refsect1>
-+ <title>[CAN] Section Options</title>
-+ <para>The <literal>[CAN]</literal> section manages the Controller Area Network (CAN bus) and accepts the
-+ following keys.</para>
-+ <variablelist class='network-directives'>
-+ <varlistentry>
-+ <term><varname>BitRate=</varname></term>
-+ <listitem>
-+ <para>The bitrate of CAN device in bits per second. The usual SI prefixes (K, M) with the base of 1000 can
-+ be used here.</para>
-+ </listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><varname>RestartSec=</varname></term>
-+ <listitem>
-+ <para>Automatic restart delay time. If set to a non-zero value, a restart of the CAN controller will be
-+ triggered automatically in case of a bus-off condition after the specified delay time. Subsecond delays can
-+ be specified using decimals (e.g. <literal>0.1s</literal>) or a <literal>ms</literal> or
-+ <literal>us</literal> postfix. Using <literal>infinity</literal> or <literal>0</literal> will turn the
-+ automatic restart off. By default automatic restart is disabled.</para>
-+ </listitem>
-+ </varlistentry>
-+ </variablelist>
-+ </refsect1>
-+
- <refsect1>
- <title>[BridgeVLAN] Section Options</title>
- <para>The <literal>[BridgeVLAN]</literal> section manages the VLAN ID configuration of a bridge port and accepts
-diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
-index 923f7dd10c..978277a2b9 100644
---- a/src/libsystemd/sd-netlink/netlink-types.c
-+++ b/src/libsystemd/sd-netlink/netlink-types.c
-@@ -300,6 +300,11 @@ static const NLType rtnl_link_info_data_geneve_types[] = {
- [IFLA_GENEVE_LABEL] = { .type = NETLINK_TYPE_U32 },
- };
-
-+static const NLType rtnl_link_info_data_can_types[] = {
-+ [IFLA_CAN_BITTIMING] = { .size = sizeof(struct can_bittiming) },
-+ [IFLA_CAN_RESTART_MS] = { .type = NETLINK_TYPE_U32 },
-+};
-+
- /* these strings must match the .kind entries in the kernel */
- static const char* const nl_union_link_info_data_table[] = {
- [NL_UNION_LINK_INFO_DATA_BOND] = "bond",
-@@ -323,6 +328,7 @@ static const char* const nl_union_link_info_data_table[] = {
- [NL_UNION_LINK_INFO_DATA_VRF] = "vrf",
- [NL_UNION_LINK_INFO_DATA_VCAN] = "vcan",
- [NL_UNION_LINK_INFO_DATA_GENEVE] = "geneve",
-+ [NL_UNION_LINK_INFO_DATA_CAN] = "can",
- };
-
- DEFINE_STRING_TABLE_LOOKUP(nl_union_link_info_data, NLUnionLinkInfoData);
-@@ -366,6 +372,8 @@ static const NLTypeSystem rtnl_link_info_data_type_systems[] = {
- .types = rtnl_link_info_data_vrf_types },
- [NL_UNION_LINK_INFO_DATA_GENEVE] = { .count = ELEMENTSOF(rtnl_link_info_data_geneve_types),
- .types = rtnl_link_info_data_geneve_types },
-+ [NL_UNION_LINK_INFO_DATA_CAN] = { .count = ELEMENTSOF(rtnl_link_info_data_can_types),
-+ .types = rtnl_link_info_data_can_types },
- };
-
- static const NLTypeSystemUnion rtnl_link_info_data_type_system_union = {
-diff --git a/src/libsystemd/sd-netlink/netlink-types.h b/src/libsystemd/sd-netlink/netlink-types.h
-index ae65c1d8e4..e7b8a292c2 100644
---- a/src/libsystemd/sd-netlink/netlink-types.h
-+++ b/src/libsystemd/sd-netlink/netlink-types.h
-@@ -89,6 +89,7 @@ typedef enum NLUnionLinkInfoData {
- NL_UNION_LINK_INFO_DATA_VRF,
- NL_UNION_LINK_INFO_DATA_VCAN,
- NL_UNION_LINK_INFO_DATA_GENEVE,
-+ NL_UNION_LINK_INFO_DATA_CAN,
- _NL_UNION_LINK_INFO_DATA_MAX,
- _NL_UNION_LINK_INFO_DATA_INVALID = -1
- } NLUnionLinkInfoData;
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index a736dc1a74..73602d60a7 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -19,6 +19,7 @@
-
- #include <netinet/ether.h>
- #include <linux/if.h>
-+#include <linux/can/netlink.h>
- #include <unistd.h>
-
- #include "alloc-util.h"
-@@ -1805,6 +1806,105 @@ static int link_up_can(Link *link) {
- return 0;
- }
-
-+static int link_set_can(Link *link) {
-+ _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL;
-+ int r;
-+
-+ assert(link);
-+ assert(link->network);
-+ assert(link->manager);
-+ assert(link->manager->rtnl);
-+
-+ log_link_debug(link, "link_set_can");
-+
-+ r = sd_rtnl_message_new_link(link->manager->rtnl, &m, RTM_NEWLINK, link->ifindex);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Failed to allocate netlink message: %m");
-+
-+ r = sd_netlink_message_set_flags(m, NLM_F_REQUEST | NLM_F_ACK);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Could not set netlink flags: %m");
-+
-+ r = sd_netlink_message_open_container(m, IFLA_LINKINFO);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Failed to open netlink container: %m");
-+
-+ r = sd_netlink_message_open_container_union(m, IFLA_INFO_DATA, link->kind);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Could not append IFLA_INFO_DATA attribute: %m");
-+
-+ if (link->network->can_bitrate > 0 || link->network->can_sample_point > 0) {
-+ struct can_bittiming bt = {
-+ .bitrate = link->network->can_bitrate,
-+ .sample_point = link->network->can_sample_point,
-+ };
-+
-+ if (link->network->can_bitrate > UINT32_MAX) {
-+ log_link_error(link, "bitrate (%zu) too big.", link->network->can_bitrate);
-+ return -ERANGE;
-+ }
-+
-+ log_link_debug(link, "Setting bitrate = %d bit/s", bt.bitrate);
-+ if (link->network->can_sample_point > 0)
-+ log_link_debug(link, "Setting sample point = %d.%d%%", bt.sample_point / 10, bt.sample_point % 10);
-+ else
-+ log_link_debug(link, "Using default sample point");
-+
-+ r = sd_netlink_message_append_data(m, IFLA_CAN_BITTIMING, &bt, sizeof(bt));
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Could not append IFLA_CAN_BITTIMING attribute: %m");
-+ }
-+
-+ if (link->network->can_restart_us > 0) {
-+ char time_string[FORMAT_TIMESPAN_MAX];
-+ uint64_t restart_ms;
-+
-+ if (link->network->can_restart_us == USEC_INFINITY)
-+ restart_ms = 0;
-+ else
-+ restart_ms = DIV_ROUND_UP(link->network->can_restart_us, USEC_PER_MSEC);
-+
-+ format_timespan(time_string, FORMAT_TIMESPAN_MAX, restart_ms * 1000, MSEC_PER_SEC);
-+
-+ if (restart_ms > UINT32_MAX) {
-+ log_link_error(link, "restart timeout (%s) too big.", time_string);
-+ return -ERANGE;
-+ }
-+
-+ log_link_debug(link, "Setting restart = %s", time_string);
-+
-+ r = sd_netlink_message_append_u32(m, IFLA_CAN_RESTART_MS, restart_ms);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Could not append IFLA_CAN_RESTART_MS attribute: %m");
-+ }
-+
-+ r = sd_netlink_message_close_container(m);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Failed to close netlink container: %m");
-+
-+ r = sd_netlink_message_close_container(m);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Failed to close netlink container: %m");
-+
-+ r = sd_netlink_call_async(link->manager->rtnl, m, link_set_handler, link, 0, NULL);
-+ if (r < 0)
-+ return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
-+
-+ link_ref(link);
-+
-+ if (!(link->flags & IFF_UP)) {
-+ r = link_up_can(link);
-+ if (r < 0) {
-+ link_enter_failed(link);
-+ return r;
-+ }
-+ }
-+
-+ log_link_debug(link, "link_set_can done");
-+
-+ return r;
-+}
-+
- static int link_down_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) {
- _cleanup_link_unref_ Link *link = userdata;
- int r;
-@@ -1818,6 +1918,11 @@ static int link_down_handler(sd_netlink *rtnl, sd_netlink_message *m, void *user
- if (r < 0)
- log_link_warning_errno(link, r, "Could not bring down interface: %m");
-
-+ if (streq_ptr(link->kind, "can")) {
-+ link_ref(link);
-+ link_set_can(link);
-+ }
-+
- return 1;
- }
-
-@@ -2512,6 +2617,21 @@ static int link_update_lldp(Link *link) {
- static int link_configure_can(Link *link) {
- int r;
-
-+ if (streq_ptr(link->kind, "can")) {
-+ /* The CAN interface must be down to configure bitrate, etc... */
-+ if ((link->flags & IFF_UP)) {
-+ r = link_down(link);
-+ if (r < 0) {
-+ link_enter_failed(link);
-+ return r;
-+ }
-+
-+ return 0;
-+ }
-+
-+ return link_set_can(link);
-+ }
-+
- if (!(link->flags & IFF_UP)) {
- r = link_up_can(link);
- if (r < 0) {
-@@ -2530,7 +2650,7 @@ static int link_configure(Link *link) {
- assert(link->network);
- assert(link->state == LINK_STATE_PENDING);
-
-- if (streq_ptr(link->kind, "vcan"))
-+ if (STRPTR_IN_SET(link->kind, "can", "vcan"))
- return link_configure_can(link);
-
- /* Drop foreign config, but ignore loopback or critical devices.
-diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf
-index a2d38501a5..95301f16e3 100644
---- a/src/network/networkd-network-gperf.gperf
-+++ b/src/network/networkd-network-gperf.gperf
-@@ -147,6 +147,8 @@ IPv6Prefix.OnLink, config_parse_prefix_flags,
- IPv6Prefix.AddressAutoconfiguration, config_parse_prefix_flags, 0, 0
- IPv6Prefix.ValidLifetimeSec, config_parse_prefix_lifetime, 0, 0
- IPv6Prefix.PreferredLifetimeSec, config_parse_prefix_lifetime, 0, 0
-+CAN.BitRate, config_parse_si_size, 0, offsetof(Network, can_bitrate)
-+CAN.RestartSec, config_parse_sec, 0, offsetof(Network, can_restart_us)
- /* backwards compatibility: do not add new entries to this section */
- Network.IPv4LL, config_parse_ipv4ll, 0, offsetof(Network, link_local)
- DHCPv4.UseDNS, config_parse_bool, 0, offsetof(Network, dhcp_use_dns)
-diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
-index 6f2ae66d40..65684e7915 100644
---- a/src/network/networkd-network.c
-+++ b/src/network/networkd-network.c
-@@ -214,7 +214,8 @@ static int network_load_one(Manager *manager, const char *filename) {
- "BridgeFDB\0"
- "BridgeVLAN\0"
- "IPv6PrefixDelegation\0"
-- "IPv6Prefix\0",
-+ "IPv6Prefix\0"
-+ "CAN\0",
- config_item_perf_lookup, network_network_gperf_lookup,
- false, network);
- if (r < 0)
-diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h
-index b31921947d..c4e1192cbe 100644
---- a/src/network/networkd-network.h
-+++ b/src/network/networkd-network.h
-@@ -179,6 +179,11 @@ struct Network {
- uint32_t br_vid_bitmap[BRIDGE_VLAN_BITMAP_LEN];
- uint32_t br_untagged_bitmap[BRIDGE_VLAN_BITMAP_LEN];
-
-+ /* CAN support */
-+ size_t can_bitrate;
-+ unsigned can_sample_point;
-+ usec_t can_restart_us;
-+
- AddressFamilyBoolean ip_forward;
- bool ip_masquerade;
-
---
-2.17.1
-
diff --git a/meta-agl-profile-telematics/recipes-core/systemd/systemd_234.bbappend b/meta-agl-profile-telematics/recipes-core/systemd/systemd_234.bbappend
deleted file mode 100644
index 7c49231b2..000000000
--- a/meta-agl-profile-telematics/recipes-core/systemd/systemd_234.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI_append = " \
- file://0001-networkd-link-link_configure-factor-out-link_configu.patch \
- file://0002-networkd-link-link_up_can-move-function-upwards.patch \
- file://0003-networkd-link-add-support-to-configure-CAN-interface.patch \
-"
diff --git a/meta-agl.md b/meta-agl.md
new file mode 100755
index 000000000..59167adfd
--- /dev/null
+++ b/meta-agl.md
@@ -0,0 +1,142 @@
+## Introduction
+
+The `meta-agl` layer provides the minimal set of software
+to boot an AGL Distribution system.
+You use this layer as the minimal core on which to build AGL profiles.
+
+**NOTE:** The `meta-agl` layer does not include a reference UI.
+ The reference UI is included as part of the
+ [`meta-agl-demo`](./meta-agl-demo.html) layer.
+ Furthermore, `meta-agl` does not include additional components, such
+ as security, which are part of the
+ [`meta-agl-extra`](./meta-agl-extra.html) layer.
+
+## Sub-Layers
+
+The `meta-agl` layer itself contains many sub-layers and files.
+Following is a "tree" look at the layer:
+
+```
+.
+├── docs
+├── meta-agl
+├── meta-agl-bsp
+├── meta-agl-distro
+├── meta-agl-profile-cluster
+├── meta-agl-profile-cluster-qt5
+├── meta-agl-profile-core
+├── meta-agl-profile-graphical
+├── meta-agl-profile-graphical-html5
+├── meta-agl-profile-graphical-qt5
+├── meta-agl-profile-hud
+├── meta-agl-profile-telematics
+├── meta-app-framework
+├── meta-netboot
+├── meta-security
+├── README-AGL.md
+├── README.md
+├── scripts
+├── templates
+```
+
+This list provides some overview information on the files and sub-layers
+in `meta-agl`:
+
+* `docs`: Contains files that support AGL documentation.
+* `meta-agl`: Contains layer configuration for the `meta-agl` layer.
+* `meta-agl-bsp`: Contains adaptations for recipes and required packages
+ to boot an AGL distribution on targeted hardware and emulation (i.e. QEMU).
+* `meta-agl-distro`: Contains distro configuration and supporting scripts.
+* `meta-agl-profile-cluster`: The middleware for the AGL cluster profile.
+ The set of packages required for AGL Cluster Distribution.
+ Profiles include support for Wayland images.
+* `meta-agl-profile-cluster-qt5`: The middleware for the AGL Qt5-based cluster profile.
+ The set of packages required for AGL Qt5-based Cluster Distribution.
+ Profiles include support for Wayland images with Qt5.
+* `meta-agl-profile-core`: Configuration and recipes for the AGL core profiles.
+* `meta-agl-profile-graphical`: Configuration and recipes supporting graphical user
+ interfaces.
+* `meta-agl-profile-graphical-html5`: Configuration and recipes supporting profiles
+ with HTML user interface support.
+* `meta-agl-profile-graphical-qt5`: Configuration and recipes supporting profiles
+ with Qt5-based user interface support.
+* `meta-agl-profile-hud`: Configuration and recipes supporting profiles with
+ Head-Up-Display (HUD) support.
+* `meta-agl-profile-telematics`: Configuration and recipes supporting profiles with
+ telematics support.
+* `meta-app-framework`: Configuration and recipes supporting the AGL Application
+ Framework.
+* `meta-netboot`: Contains recipes and configuration adjustments to allow network
+ boot through network block device (NBD) since network file system (NFS) does not
+ support security labels.
+* `meta-security`: Configuration and recipes supporting security applications.
+* `scripts`: AGL development setup and support scripts.
+* `templates`: Base, feature, and machine templates used in the AGL development
+ environment.
+
+## Packagegroups
+
+This section describes the AGL
+[packagegroup](https://yoctoproject.org/docs/2.4.4/dev-manual/dev-manual.html#usingpoky-extend-customimage-customtasks)
+design:
+
+* packagegroup-agl-image-minimal
+
+ packagegroup-agl-core-automotive.bb
+ packagegroup-agl-core-connectivity.bb
+ packagegroup-agl-core-graphics.bb
+ packagegroup-agl-core-kernel.bb
+ packagegroup-agl-core-multimedia.bb
+ packagegroup-agl-core-navi-lbs.bb
+ packagegroup-agl-core-os-commonlibs.bb
+ packagegroup-agl-core-security.bb
+ packagegroup-agl-core-speech-services.bb
+
+ The previous list of Packagegroups are used to create the `agl-image-minimal` image,
+ which is a small image just capable of allowing a device to boot.
+
+ Subsystem should maintain packagegroup-agl-core-[subsystem].bb which should
+ hold sufficient packages to build `agl-image-minimal`.
+
+* packagegroup-agl-image-ivi
+
+ packagegroup-agl-ivi-automotive.bb
+ packagegroup-agl-ivi-connectivity.bb
+ packagegroup-agl-ivi-graphics.bb
+ packagegroup-agl-ivi-kernel.bb
+ packagegroup-agl-ivi-multimedia.bb
+ packagegroup-agl-ivi-navi-lbs.bb
+ packagegroup-agl-ivi-os-commonlibs.bb
+ packagegroup-agl-ivi-security.bb
+ packagegroup-agl-ivi-speech-services.bb
+
+ The previous list of Packagegroups are used to create the `agl-image-ivi`
+ image, which is a baseline image (i.e. Service Layer and Operating System
+ Layer defined in AGL Spec v1.0) for the AGL profiles.
+
+* packagegroup-agl-test.bb
+
+ Additional tools used in QA tests (for agl-image*-qa).
+
+<!--
+* packagegroup-ivi-common*
+
+ packagegroup-ivi-common-core-automotive.bb
+ packagegroup-ivi-common-core.bb
+ packagegroup-ivi-common-core-connectivity.bb
+ packagegroup-ivi-common-core-graphics.bb
+ packagegroup-ivi-common-core-kernel.bb
+ packagegroup-ivi-common-core-multimedia.bb
+ packagegroup-ivi-common-core-navi-lbs.bb
+ packagegroup-ivi-common-core-os-commonlibs.bb
+ packagegroup-ivi-common-core-security.bb
+ packagegroup-ivi-common-core-speech-services.bb
+ packagegroup-ivi-common-test.bb
+
+The previous Packagegroups pick up some packages from upstream
+locations such as
+[GENIVI Alliance](https://www.genivi.org/) and others.
+The `meta-ivi-common` layer produces no image.
+All the Packagegroups in this layer are aggregated to `packagegroup-ivi-common-core`,
+which is included by the images and the two recipes `agl-image-ivi.bb` and `agl-demo-platform.bb`.
+-->
diff --git a/meta-app-framework/recipes-core/af-binder/af-binder_git.inc b/meta-app-framework/recipes-core/af-binder/af-binder_git.inc
index 0c07ff492..f1d3d0ba0 100644
--- a/meta-app-framework/recipes-core/af-binder/af-binder_git.inc
+++ b/meta-app-framework/recipes-core/af-binder/af-binder_git.inc
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/app-framework-binder;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "6f192ac5b7aeca2070a02e74397a2c97977147ca"
+SRCREV = "ce53d8ec8550965084304e975a0636b40d7e64a7"
PV = "${AGL_BRANCH}+git${SRCPV}"
S = "${WORKDIR}/git"