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) or AGL/meta-agl-devel.git as the starting point
  • 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 A
    • Create OEM/meta-agl-toyota.git at AGL gerrit
  • Case B
    • Create sub directory meta-agl-toyota meta-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)

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-basesystem 
    • TBD: createing new repository or reusing 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 gerrit
  • Create 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  

Packages dependency


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

  • No labels