Jump to content

Yocto

From KDE Community Wiki
Revision as of 13:11, 2 October 2022 by Cola (talk | contribs) (Usage)

KDE in Yocto

KDE currently ships two Yocto meta layers that are supposed to ease the use of KDE Frameworks, Plasma and Applications for device creators.

Usage

The KDE community does not distribute any full system images in terms of a distributor but provides device manufacturers to integrate released KDE software into their products and or even to build their software products on top of KDE frameworks. Our goal is to follow the Yocto best practices in order to behave like any other Yocto layer.

meta-kf5

For using meta-kf5, simply clone the repository and add it as layer to bblayers. Our current approach with this layer is that there is only the master branch, which targets the following Yocto upstream branches. Dependencies are documented in the layer.conf file:

- dunfell : minimal requirement is dunfell patch version that supports new BitBake colon syntax - kirkstone : supported - "Yocto latest release" : not yet supported

meta-kde

For meta-kde, it is mandatory to also use meta-kf5. At the moment, the only Yocto branch in scope is:

- kirkstone

Demo Images

TBD

Layer Development [DRAFT]

All changes to the meta-layers are supposed to be proposed as merge-requests in the GitLab repositories and be reviewed before being merged. The main reasons for defaulting to code-reviews is the complexity of the Bitbake language together with the absence of static code check tooling as well as the quality demands of users of the Yocto layers.

CI Approach [DRAFT]

Scope:

  • The goal of the CI tooling is to automatically check the compatibility of the layers with regard to a certain release of the Yocto project in combination with a certain release in relation to a certain release of meta-qt{5|6}
  • The CI shall ensure that there is a documented compatible combination of Yocto meta-layers
  • The CI shall ensure that backports to older Yocto layers are compatible with older Bitbake versions and recipes

Branch / Merge Strategy [DRAFT]

  • application releases are updated in the master branch
    • exception is if the tracking branch for an old Yocto LTS release shall be updated to version older than in the master branch
  • change from the master branch that shall be used for older Yocto releases shall be cherry-picked