Basic strategy of reworking: staging/toyota.git
- Trial Period
- As a basic principle, the recipe of meta-agl-basesystem in staging/toyota.git will be maintained as it is. However, the following items need to be fixed.
- Features are redundant and too detailed
- Some recipes include source code (and header) files inside (e.g. meta-agl-basesystem/recipes-core/kernel-module-evklib)
- Create sub meta layer direcotry, 'meta-agl-basesystem' in
OEM layer (new) orAGL/meta-agl-devel.git as the starting point
- As a basic principle, the recipe of meta-agl-basesystem in staging/toyota.git will be maintained as it is. However, the following items need to be fixed.
- 1st Release
- Reorganize the package structure and recipes
- carefully reintegrate them one by one into meta-agl-toyota or migrate them to meta-agl-ivi/meta-agl-basesystem (TBD)
OEM Layer: meta-agl-toyota
Not yet introduced (under development)
There are 2 approaches,
Case ACreate OEM/meta-agl-toyota.git at AGL gerrit
- Case B
- Create sub directory
meta-agl-toyotameta-oem-productready at AGL/meta-agl-devel.git as a starting point (Trial Period) - Migrate to OEM/meta-agl-toyota.git or meta-agl.git after refactoring meta-agl (e.g. introducing meta-agl-ivi/meta-agl-ic) is completed (1st Release)
- Create sub directory
Today's AGL UCB layer structure
├── bsp
├── external
├── meta-agl
├── meta-agl-cluster-demo
├── meta-agl-demo
├── meta-agl-devel
├── meta-agl-extra
└── meta-agl-telematics-demo
Tasks of Trial Period (baseline)
- Create
meta-agl-toyota/meta-agl-basesystemTBD: createing new repository orreusing meta-agl-devel.git
- Reorganize features that are redundant and too detailed (e.g. ns-xxx, os-xxx, ps-xxx, ss-xxx, vs-xxx)
Task list (case A or B) is depend on the format of OEM layer:meta-agl-toyota (git repository) or sub directory of meta-agl-devel.git
Task list (Case A: Creating new repository)
Create OEM/meta-agl-toyota.git at AGL gerritCreate sub directory into meta-agl-toyota.git${TOPDIR}/meta-agl-basesystem
Put meta-agl-basesystem/* of staging/toyota.git under meta-agl-basesystem/Remove redundant features
Layer structure will be
Repository: OEM/meta-agl-toyota.git
Directory tree:
${TOPDIR of OEM/meta-agl-toyota.git}
├── meta-agl-basesystem└── templates
└── feature
└── agl-basesystem
Task list (Case B: Reusing meta-agl-devel.git)
- Create sub directory meta-agl-basesystem
- Put meta-agl-basesystem/* of staging/toyota.git under meta-agl-basesystem/
- Remove redundant features
Layer structure will be
Repository: AGL/meta-agl-devel.git
Directory tree:
${TOPDIR of AGL/meta-agl-devel.git}
├── docs
├── meta-agl-jailhouse
├──meta-oem-production-readiness
└── meta-agl-basesystem
├── meta-speech-framework
└── templates
└── feature
└── agl-basesystem
Appendix: Analysis packages's dependency of staging/toyota.git which was uploaded at
Appendix: Analysis of staging/toyota.git which was uploaded at
- meta-agl/meta-agl-basesystem was added
- several features of meta-agl-basesystem were added, but agl-basesystem feature requires all packages, so
features that specify individual packages are considered redundant- agl-basesystem requires conf/include/agl-basesystem-base.inc
- agl-basesystem-base.inc adds packagegroup-agl-basesystem to IMAGE_INSTALL
- packagegroup-agl-basesystem includes following sub packagegroups
- packagegroup-agl-basesystem-core
- packagegroup-agl-basesystem-graphics add following packages as RDEPENDS
- ns-commonlibrary
- ns-loglibrary
- ns-frameworkunified
- ns-backupmanager
- os-eventlibrary
- os-posixbasedos001legacylibrary
- os-vehicleparameterlibrary
- os-rpclibrary
- ps-communication
- ss-versionlibrary
- ss-romaccesslibrary
- ss-config
- ss-interfaceunified
- ss-resourcemanager
- ss-taskmanager
- vs-positioning
- vs-positioningbaselibrary
- packagegroup-agl-basesystem-service add following packages as RDEPENDS
- agl-service-ns-backupmanager
- agl-service-ns-notificationpersistent
- agl-service-ps-communication
- agl-service-ss-loggerservice
- agl-service-ss-powerservice
- agl-service-ss-resourcemanager
- agl-service-ss-taskmanager
- agl-service-vs-positioning
- agl-service-ss-systemmanager
${TOPDIR of repo sync}
├── bsp
├── external
├── meta-agl
├── docs
├── meta-agl
├── meta-agl-basesystem
├── ...
├── scripts
└── templates
├── base
├── feature
├── agl-all-features
├── agl-appfw-smack
├── agl-archiver
├── agl-basesystem
├── agl-buildstats
├── ...
├── ns-backupmanager
├── ns-commonlibrary
├── ns-frameworkunified
├── ns-loglibrary
├── ns-notificationpersistent
├── os-eventlibrary
├── os-posixbasedos001legacylibrary
├── os-rpclibrary
├── os-vehicleparameterlibrary
├── ps-communication
├── ss-config
├── ss-interfaceunified
├── ss-loggerservice
├── ss-powerservice
├── ss-resourcemanager
├── ss-romaccesslibrary
├── ss-systemmanager
├── ss-taskmanager
├── ss-versionlibrary
├── vs-positioning
└── vs-positioningbaselibrary
└── machine
├── meta-agl-cluster-demo
├── meta-agl-demo
├── meta-agl-devel
├── meta-agl-extra
└── meta-agl-telematics-demo