Fixing broken links
[AGL/documentation.git] / docs / 04_Developer_Guides / 02_AGL_Layers / 03_meta_agl_demo.md
1 ---
2 title: meta-agl-demo
3 ---
4
5 ## Introduction
6
7 The `meta-agl-demo` layer is the reference user interface layer for the DEMO
8 platform of Automotive Grade Linux (AGL).
9 The layer provides a reference platform and applications.
10 The BitBake target name for the DEMO platform is `agl-demo-platform`, which is
11 the full DEMO platform image.
12
13 ## Layer Dependencies
14
15 This section describes dependencies for the `meta-agl-demo` layer.
16 Dependencies are grouped into base, hardware, and feature dependencies.
17
18 ### Base Dependencies
19
20 The `meta-agl-demo` layer has the following base dependencies:
21
22 - Yocto Project Release:
23
24     - URI: git://git.yoctoproject.org/poky
25     - Branch: "thud"
26     - Tested Revision: See the
27       [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
28       manifest file for the `AGL-repo` repository for revision information.
29
30 - AGL `meta-agl` Layer:
31
32     - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
33     - Branch: "master"
34
35 - OpenEmbedded `meta-openembedded` Layer:
36
37     - Branch: "thud"
38     - Tested Revision: See the
39       [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
40       manifest file for the `AGL-repo` repository for revision information.
41
42     Specifically, out of `meta-openembedded`, these sub-layers are used:
43
44     - `meta-oe`
45     - `meta-multimedia`
46     - `meta-networking`
47     - `meta-python`
48
49 - Yocto Project `meta-qt5` Layer from the
50   [OpenEmbedded Layer Index](https://layers.openembedded.org/layerindex/branch/master/layers/):
51
52     - URI: https://github.com/meta-qt5/meta-qt5.git
53     - Branch: "thud"
54     - Tested Revision: See the
55       [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
56       manifest file for the `AGL-repo` repository for revision information.
57
58 ### Hardware Dependencies
59
60 Aside from the previously listed base dependencies, if you are using a
61 [supported Renesas board](/01_Getting_Started/02_Building_AGL_Image/09_Building_for_Supported_Renesas_Boards.md), these dependencies exist:
62
63 - AGL's `meta-renesas` Layer:
64
65     - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas
66
67 ### Feature Dependencies
68
69 The `meta-agl-demo` layer has the following AGL [feature](/01_Getting_Started/02_Building_AGL_Image/04_Initializing_Your_Build_Environment/#agl-features)
70 dependencies:
71
72 - Yocto Project `meta-security` Layer:
73
74     - URI: https://git.yoctoproject.org/cgit/cgit.cgi/meta-security
75     - Branch: "master"
76     - Tested Revision: See the
77       [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
78       manifest file for the `AGL-repo` repository for revision information.
79
80 - AGL's `meta-app-framework` Layer within the `meta-agl` Layer:
81
82     - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
83     - Branch: "master"
84
85 **The `agl-sota` Feature:**
86
87 - Here Technologies' `meta-updater` Layer:
88
89     - URI: https://github.com/advancedtelematic/meta-updater/
90     - Branch: "thud"
91
92 - Here Technologies' `meta-updater-qemux86-64` Layer:
93
94     - URI: https://github.com/advancedtelematic/meta-updater-qemux86-64/
95     - Branch: "thud"
96
97 - OpenEmbedded's `meta-openembedded` Layer:
98
99     - URI: https://github.com/openembedded/meta-openembedded
100     - Branch: "thud"
101     - Tested Revision: See the
102       [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
103       manifest file for the `AGL-repo` repository for revision information.
104
105     Specifically, out of `meta-openembedded`, these sub-layers are used:
106
107     - `meta-filesystems`
108     - `meta-oe`
109     - `meta-python`
110
111 **The `agl-netboot` Feature:**
112
113 - AGL's `meta-netboot` Layer within the `meta-agl` Layer:
114
115     - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
116     - Branch: "master"
117
118
119 ## Packagegroups
120
121 AGL DEMO Platform's [packagegroups](https://www.yoctoproject.org/docs/3.1.4/dev-manual/dev-manual.html#usingpoky-extend-customimage-customtasks)
122 consist of the following:
123
124 - packagegroup-agl-demo-platform
125
126     This packagegroup is used for generating the `agl-demo-platform` image,
127     which is the full image for the AGL distributions IVI profile. You can see the
128     recipe (i.e. `agl-demo-platform.bb`) that installs the
129     `packagegroup-agl-demo-platform` packagegroup [here](https://git.automotivelinux.org/AGL/meta-agl-demo/tree/recipes-platform/images/agl-demo-platform.bb).
130
131     As meta-agl's design of packagegroups, the `agl-demo-platform.bb` recipe installs
132     only `packagegroup-agl-demo-platform` and the packages of the DEMO applications.
133
134     ``agl-demo-platform`` contains the following three packagegroups:
135
136       * `packagegroup-agl-image-minimal`
137       * `packagegroup-agl-image-ivi`
138       * `packagegroup-agl-demo-platform`
139
140 - packagegroup-agl-appfw*
141
142     These packagegroups contain packages for the AGL distribution's
143     Application Framework. Subsystem should maintain
144     `packagegroup-agl-appfw-[subsystem].bb`, which should hold sufficient packages
145     for the Application Framework.
146
147     Subsystems also can maintain their own packagegroups using appropriate
148     `recipes-*/`.
149
150     For example, Qt5 has two packagegroups in `meta-agl-demo`:
151     `packagegroup-agl-appfw-native-qt5` and `packagegroup-agl-demo-qt-examples`,
152     which are under `recipes-qt/`.
153
154     The `packagegroup-agl-appfw-native-qt5` is included by `packagegroup-agl-appfw-native` because Qt5 belongs to native application framework of AGL Distro.
155
156     Because the `packagegroup-agl-demo-qt-examples` is not mandatory for the AGL
157     Application Framework and the AGL DEMO, the packagegroup is added to the layer's
158     `local.conf` file only when needed.