AGL Layers: Updated "meta-agl-demo" (guppy)
[AGL/meta-agl-demo.git] / meta-agl-demo.md
1 ## Introduction
2
3 The `meta-agl-demo` layer is the reference user interface layer for the DEMO
4 platform of Automotive Grade Linux (AGL).
5 The layer provides a reference platform and applications.
6 The BitBake target name for the DEMO platform is `agl-demo-platform`, which is
7 the full DEMO platform image.
8
9 ## Layer Dependencies
10
11 This section describes dependencies for the `meta-agl-demo` layer.
12 Dependencies are grouped into base, hardware, and feature dependencies.
13
14 ### Base Dependencies
15
16 The `meta-agl-demo` layer has the following base dependencies:
17
18 * Yocto Project Release:
19
20   - URI: git://git.yoctoproject.org/poky
21   - Branch: "rocko"<br/><br/>
22
23 * AGL `meta-agl` Layer:
24
25   - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
26   - Branch: "guppy"<br/><br/>
27
28 * OpenEmbedded `meta-openembedded` Layer:
29
30   - Branch: "rocko"
31
32     Specifically, out of `meta-openembedded`, these sub-layers are used:
33
34     - `meta-oe`
35     - `meta-multimedia`
36     - `meta-networking`
37     - `meta-python`<br/><br/>
38
39 * Yocto Project `meta-qt5` Layer from the
40   [OpenEmbedded Layer Index](https://layers.openembedded.org/layerindex/branch/master/layers/):
41
42   - URI: https://github.com/meta-qt5/meta-qt5.git
43   - Branch:   "rocko"
44
45 ### Hardware Dependencies
46
47 Aside from the previously listed base dependencies, if you are using a
48 [supported Renesas board](../../../../getting_started/en/dev/reference/machines/renesas.html)
49 supported Renesas board, these dependencies exist:
50
51 * AGL's `meta-renesas` Layer:
52
53   - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas
54
55 ### Feature Dependencies
56
57 The `meta-agl-demo` layer has the following AGL
58 [feature](../getting_started/reference/getting-started/image-workflow-initialize-build-environment.html#agl-features)
59 dependencies:
60
61 * Yocto Project `meta-security` Layer:
62
63   - URI: https://git.yoctoproject.org/cgit/cgit.cgi/meta-security
64   - Branch: "rocko"<br/><br/>
65
66 * AGL's `meta-app-framework` Layer Within the `meta-agl` Layer:
67
68   - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
69   - Branch: "guppy"
70
71 **The `agl-sota` Feature:**
72
73 * AGL's `meta-sota` Layer Within the `meta-agl-extra` Layer:
74
75   - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl-extra.git
76   - Branch: "guppy"<br/><br/>
77
78 * OpenEmbedded's `meta-openembedded` Layer:
79
80   - URI: https://github.com/openembedded/meta-openembedded
81   - Branch: "rocko"
82
83     In particular, the `meta-openembedded` layer depends on the
84     `meta-filesystems` sub-layer.
85
86 **The `agl-netboot` Feature:**
87
88 * AGL's `meta-netboot` Layer Within the `meta-agl` Layer:
89
90   - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
91   - Branch: "guppy"
92
93
94 ## Packagegroups
95
96 AGL DEMO Platform's 
97 [packagegroups](https://www.yoctoproject.org/docs/2.4.4/dev-manual/dev-manual.html#usingpoky-extend-customimage-customtasks)
98 consist of the following:
99
100 ### packagegroup-agl-demo-platform
101
102 This packagegroup is used for generating the `agl-demo-platform` image,
103 which is the full image for the AGL distributions IVI profile.
104 You can see the recipe (i.e. `agl-demo-platform.bb`) that installs 
105 the `packagegroup-agl-demo-platform` packagegroup
106 [here](https://git.automotivelinux.org/AGL/meta-agl-demo/tree/recipes-platform/images/agl-demo-platform.bb).
107
108 As meta-agl's design of packagegroups, the `agl-demo-platform.bb` recipe installs
109 only `packagegroup-agl-demo-platform` and the packages of the DEMO applications.
110
111 ``agl-demo-platform`` contains the following four packagegroups:
112
113   * `packagegroup-agl-image-minimal`
114   * `packagegroup-agl-image-ivi`
115   * `packagegroup-agl-demo-platform`
116
117 ### packagegroup-agl-appfw*
118
119 These packagegroups contain packages for the AGL distribution's
120 Application Framework.
121 Subsystem should maintain `packagegroup-agl-appfw-[subsystem].bb`, which
122 should hold sufficient packages for the Application Framework.
123
124 Subsystems also can maintain their own packagegroups using appropriate
125 `recipes-*/`.
126 For example, Qt5 has two packagegroups in `meta-agl-demo`:
127 `packagegroup-agl-appfw-native-qt5` and `packagegroup-agl-demo-qt-examples`,
128 which are under `recipes-qt/`.
129
130 The `packagegroup-agl-appfw-native-qt5` is included by
131 `packagegroup-agl-appfw-native` because Qt5 belongs to native application
132 framework of AGL Distro.
133
134 Because the `packagegroup-agl-demo-qt-examples` is not mandatory for
135 the AGL Application Framework and the AGL DEMO, the packagegroup is added
136 to the layer's `local.conf` file only when needed.