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