5e3321b7c3d579112169bc8872cf4fa079e6e801
[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"
22   - Tested Revision: TBD
23
24 * AGL `meta-agl` Layer:
25
26   - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
27   - Branch: "flounder"
28
29 * OpenEmbedded `meta-openembedded` Layer:
30
31   - Branch: "rocko"
32   - Tested Revision: TBD
33
34   Specifically, out of `meta-openembedded`, these sub-layers are used:
35
36   - `meta-oe`
37   - `meta-multimedia`
38   - `meta-efl`
39   - `meta-networking`
40   - `meta-python`
41   - `meta-ruby`
42
43 * Yocto Project `meta-qt5` Layer from the 
44   [OpenEmbedded Layer Index](https://layers.openembedded.org/layerindex/branch/master/layers/):
45
46   - URI: https://github.com/meta-qt5/meta-qt5.git
47   - Branch:   "rocko"
48   - Tested Revision: TBD
49
50 ### Hardware Dependencies
51
52 Aside from the previously listed base dependencies, if you are using a
53 [supported Renesas board](../../../../getting_started/en/dev/reference/machines/renesas.html)
54 supported Renesas board, these dependencies exist:
55
56 * AGL's `meta-renesas` Layer:
57
58   - URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-renesas
59   - Branch: "agl-1.0-bsp-1.8.0"
60   - Tested Revision: 82611ccadef36ab0b8a6fd6fb1cf055e115f1ef5 (or later)
61
62 ### Feature Dependencies
63
64 **The `agl-appfw-smack` Feature:**
65
66 <!--
67 * Yocto Project `meta-intel-iot-security` Layer from the OpenEmbedded Layer Index:
68
69   - URI: https://github.com/01org/meta-intel-iot-security
70   - Branch: "rocko"
71   - Tested Revision: TBD
72 -->
73
74 * Yocto Project `meta-security` Layer:
75
76   - URI: https://git.yoctoproject.org/cgit/cgit.cgi/meta-security
77   - Branch: "rocko"
78   - Tested Revision: TBD
79
80 * AGL's `meta-app-framework` Layer Within the `meta-agl-extra` Layer:
81
82   - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl-extra.git
83   - Branch: "master"
84
85 **The `agl-sota` Feature:**
86
87 * AGL's `meta-sota` Layer Within the `meta-agl-extra` Layer:
88
89   - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl-extra.git
90   - Branch: "master"
91
92 * OpenEmbedded's `meta-openembedded` Layer:
93
94   - URI: https://github.com/openembedded/meta-openembedded
95   - Branch: "rocko"
96   - Tested Version: TBD
97
98     In particular, the `meta-openembedded` layer depends on the following
99     sub-layers:
100
101       - `meta-filesystems`
102       - `meta-ruby`
103
104 * OpenEmbedded's `meta-rust` Layer:
105
106   - URI: https://github.com/meta-rust/meta-rust
107   - Branch: "rocko"
108   - Tested Revision: TBE
109
110 **The `agl-netboot` Feature:**
111
112 * AGL's `meta-netboot` Layer Within the `meta-agl` Layer:
113
114   - URI: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL/meta-agl.git
115   - Branch: "master"
116
117
118 ## Packagegroups
119
120 AGL DEMO Platform's 
121 [packagegroups](https://www.yoctoproject.org/docs/2.4.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.
128 You can see the recipe (i.e. `agl-demo-platform.bb`) that installs 
129 the `packagegroup-agl-demo-platform` packagegroup
130 [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 four packagegroups:
136
137   * `packagegroup-agl-image-minimal`
138   * `packagegroup-agl-image-ivi`
139   * `packagegroup-ivi-common-core`
140   * `packagegroup-agl-demo-platform`
141
142 ### packagegroup-agl-appfw*
143
144 These packagegroups contain packages for the AGL distribution's
145 Application Framework.
146 Subsystem should maintain `packagegroup-agl-appfw-[subsystem].bb`, which
147 should hold sufficient packages for the Application Framework.
148
149 Subsystems also can maintain their own packagegroups using appropriate
150 `recipes-*/`.
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
156 `packagegroup-agl-appfw-native` because Qt5 belongs to native application
157 framework of AGL Distro.
158
159 Because the `packagegroup-agl-demo-qt-examples` is not mandatory for
160 the AGL Application Framework and the AGL DEMO, the packagegroup is added
161 to the layer's `local.conf` file only when needed.