c560989c32c6935915bcf07f1a36c15c48c5d9db
[AGL/documentation.git] / docs / 3_Developer_Guides / 6_AGL_Layers / 3_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](../../0_Getting_Started/2_Building_AGL_Image/5_3_RCar_Gen_3.md)
62 supported Renesas board, these dependencies exist:
63
64 - AGL's `meta-renesas` Layer:
65
66     - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas
67
68 ### Feature Dependencies
69
70 The `meta-agl-demo` layer has the following AGL [feature](../../0_Getting_Started/2_Building_AGL_Image/3_Initializing_Your_Build_Environment.md#agl-features)
71 dependencies:
72
73 - Yocto Project `meta-security` Layer:
74
75     - URI: https://git.yoctoproject.org/cgit/cgit.cgi/meta-security
76     - Branch: "master"
77     - Tested Revision: See the
78       [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
79       manifest file for the `AGL-repo` repository for revision information.
80
81 - AGL's `meta-app-framework` Layer within the `meta-agl` Layer:
82
83     - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
84     - Branch: "master"
85
86 **The `agl-sota` Feature:**
87
88 - Here Technologies' `meta-updater` Layer:
89
90     - URI: https://github.com/advancedtelematic/meta-updater/
91     - Branch: "thud"
92
93 - Here Technologies' `meta-updater-qemux86-64` Layer:
94
95     - URI: https://github.com/advancedtelematic/meta-updater-qemux86-64/
96     - Branch: "thud"
97
98 - OpenEmbedded's `meta-openembedded` Layer:
99
100     - URI: https://github.com/openembedded/meta-openembedded
101     - Branch: "thud"
102     - Tested Revision: See the
103       [`default.xml`](https://github.com/leon-anavi/AGL-repo/blob/master/default.xml)
104       manifest file for the `AGL-repo` repository for revision information.
105
106     Specifically, out of `meta-openembedded`, these sub-layers are used:
107
108     - `meta-filesystems`
109     - `meta-oe`
110     - `meta-python`
111
112 **The `agl-netboot` Feature:**
113
114 - AGL's `meta-netboot` Layer within the `meta-agl` Layer:
115
116     - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
117     - Branch: "master"
118
119
120 ## Packagegroups
121
122 AGL DEMO Platform's [packagegroups](https://www.yoctoproject.org/docs/3.1.4/dev-manual/dev-manual.html#usingpoky-extend-customimage-customtasks)
123 consist of the following:
124
125 - packagegroup-agl-demo-platform
126
127     This packagegroup is used for generating the `agl-demo-platform` image,
128     which is the full image for the AGL distributions IVI profile. You can see the
129     recipe (i.e. `agl-demo-platform.bb`) that installs the
130     `packagegroup-agl-demo-platform` packagegroup [here](https://git.automotivelinux.org/AGL/meta-agl-demo/tree/recipes-platform/images/agl-demo-platform.bb).
131
132     As meta-agl's design of packagegroups, the `agl-demo-platform.bb` recipe installs
133     only `packagegroup-agl-demo-platform` and the packages of the DEMO applications.
134
135     ``agl-demo-platform`` contains the following three packagegroups:
136
137       * `packagegroup-agl-image-minimal`
138       * `packagegroup-agl-image-ivi`
139       * `packagegroup-agl-demo-platform`
140
141 - packagegroup-agl-appfw*
142
143     These packagegroups contain packages for the AGL distribution's
144     Application Framework. Subsystem should maintain
145     `packagegroup-agl-appfw-[subsystem].bb`, which should hold sufficient packages
146     for the Application Framework.
147
148     Subsystems also can maintain their own packagegroups using appropriate
149     `recipes-*/`.
150
151     For example, Qt5 has two packagegroups in `meta-agl-demo`:
152     `packagegroup-agl-appfw-native-qt5` and `packagegroup-agl-demo-qt-examples`,
153     which are under `recipes-qt/`.
154
155     The `packagegroup-agl-appfw-native-qt5` is included by `packagegroup-agl-appfw-native` because Qt5 belongs to native application framework of AGL Distro.
156
157     Because the `packagegroup-agl-demo-qt-examples` is not mandatory for the AGL
158     Application Framework and the AGL DEMO, the packagegroup is added to the layer's
159     `local.conf` file only when needed.