3rd part of the layer/profile rework [1/2]
[AGL/meta-agl.git] / docs / profiles.md
1 # AGL Profiles
2
3 The AGL Profiles cover the different use-cases that the AGL platform serves. This ranges from minimal systems without display, telematic systems, HUD, IVI, ADAS and more. Common to all of them is the use of the AGL APIs (agl-service-*).
4
5 All systems have the 'core' profile in common. This small set of libraries and binaries is the essential set including the AGL APIs that every AGL system needs. All other profiles reuse the 'core' profile.
6
7 The other profiles and their dependencies are currently:
8
9  * agl-profile-core
10     * agl-profile-telematics
11     * agl-profile-hud
12     * agl-profile-graphical
13         * agl-profile-graphical-html5
14         * agl-profile-graphical-qt5
15             * agl-demo-platform
16
17
18
19 ## agl-profile-core
20 This profile contains the following images:
21 * agl-image-boot
22     * agl-image-minimal
23         * agl-image-minimal-crosssdk
24
25 ### agl-image-boot
26 This image is only meant to boot the target device and provide network, package-management and a shell.
27 All other functionality needs to be installed at runtime through 'dnf' using the provided package feeds and package-groups (e.g. dnf install profile-graphical-qt5)
28
29 ### agl-image-minimal
30 This is the smallest image that includes all (non-graphical) AGL APIs.
31
32 ### agl-image-minimal-crosssdk
33 This is the SDK for systems without display including the AGL APIs.
34
35 ## agl-profile-telematics
36 N.N.
37
38 ## agl-profile-hud
39 N.N.
40
41 ## agl-profile-graphical
42 This profile contains a basic graphical system with wayland/weston. It is used as a base for the more targeted profiles:
43 * agl-profile-graphical-html5
44 * agl-profile-graphical-qt5
45
46 Part of this layer are the following images:
47 * agl-image-weston
48
49 ### agl-image-weston
50 Pure wayland + weston image but with all AGL service APIs.
51
52 ## agl-profile-graphical-html5
53 This profile contains all components to build a html5 / web-based system and should be used as a base layer for further projects.
54 All AGL APIs are included.
55
56 ## agl-profile-graphical-qt5
57 This profile is used as base for all projects that build on qt5 like the agl-demo-platform.
58 Part of this layer are the ffollowing images:
59 * agl-image-graphical-qt5
60 * agl-image-graphical-qt5-crosssdk    (THIS IS THE SDK TARGET WE AIM TO USE FOR AGL-DEMO-PLATFORM IN THE END)
61
62 All AGL APIs are included.
63
64
65 All AGL APIs are included.
66
67 ### agl-image-graphical-qt5
68 Image with wayland/weston and the qt5 packages installed.
69
70 ### agl-image-graphical-qt5-crosssdk
71 SDK based on agl-image-graphical-qt5 suitable for development under qt5.
72
73
74
75 ## agl-demo-platform
76 This layer builds on-top of agl-profile-graphical-qt5 and builds the full AGL demonstrator image.
77 It hosts these images:
78 * agl-demo-platform
79 * agl-demo-platform-crosssdk
80 * agl-demo-platform-qa
81
82
83
84
85 TLDR:
86
87 ```
88 meta-agl/meta-agl-profile-core/recipes-platform
89 |-- images
90 |   |-- agl-image-boot.bb
91 |   |-- agl-image-boot.inc
92 |   |-- agl-image-minimal-crosssdk.bb
93 |   |-- agl-image-minimal-qa.bb
94 |   |-- agl-image-minimal.bb
95 |   `-- agl-image-minimal.inc
96 `-- packagegroups
97     |-- packagegroup-agl-core-boot.bb
98     |-- packagegroup-agl-core-connectivity.bb
99     |-- packagegroup-agl-core-multimedia.bb
100     |-- packagegroup-agl-core-navigation.bb
101     |-- packagegroup-agl-core-os-commonlibs.bb
102     |-- packagegroup-agl-core-security.bb
103     |-- packagegroup-agl-core-services.bb
104     |-- packagegroup-agl-image-boot.bb
105     `-- packagegroup-agl-image-minimal.bb
106
107     meta-agl/meta-agl-profile-graphical/recipes-platform
108 |-- images
109 |   |-- agl-image-weston.bb
110 |   `-- agl-image-weston.inc
111 `-- packagegroups
112     |-- packagegroup-agl-graphical-services.bb
113     `-- packagegroup-agl-image-weston.bb
114
115     meta-agl/meta-agl-profile-graphical-html5/recipes-platform
116 |-- images
117 |   |-- agl-demo-platform-html5-crosssdk.bb
118 |   |-- agl-demo-platform-html5.bb
119 |   `-- agl-demo-platform-html5.inc
120 `-- packagegroups
121     `-- packagegroup-agl-demo-platform-html5.bb
122
123     meta-agl/meta-agl-profile-graphical-qt5/recipes-platform
124 |-- images
125 |   |-- agl-image-graphical-qt5-crosssdk.bb
126 |   |-- agl-image-graphical-qt5.bb
127 |   `-- agl-image-graphical-qt5.inc
128 `-- packagegroups
129     |-- packagegroup-agl-appfw-native-qt5.bb
130     |-- packagegroup-agl-demo-qt-examples.bb
131     |-- packagegroup-agl-profile-graphical-qt5.bb
132     `-- packagegroup-qt5-toolchain-target.bbappend
133 ```
134