Jump to content

Kubuntu/CI/Metadata

From KDE Community Wiki
Revision as of 10:14, 29 October 2014 by Apachelogger (talk | contribs)

This page outlines the debian/meta/ directory contents used by CI systems to create builds. The foremost reason the metadata is stored in debian/, and thus in a branch dependent manner, is because data might be different on a per-branch basis.

debian/meta/ can be present and useful for release branches if they are also subject to automation.

If a file is not present suitable fallback values should be used.

Format Types

File suffix always indicates the format used! The file format usually depends on the primary use language the file would be used in. If data is useful in a number of different languages with different builtin parsing capabilities (e.g. presence of json support) it will usually be using single-line format. For advanced matters we always assume json support and as such json is the preferred data format for constructs that cannot easily be expressed in single-line.

  • () single-line:

    Single-line file containing one data entry URL. May contain a final newline, scripts should strip accordingly when reading the file as a whole.

  • () multi-line:

    Multi-line file containing many different data lines. This roughly translates to an array of data. May contain a final newline, scripts should strip accordingly when reading the file as a whole.

  • (.json) json:

    Valid json data.

Files

  • debian/meta/
    • repo

      single-line :: URL to upstream source repository.

      Fallback: anongit.kde.org/SOURCENAME

    • repo-type

      single-line :: An identifier for the repo type. The identifier is always the central CLI program (e.g. git for git or hg for mecurial).

      Fallback: git

    • branch

      single-line :: URL to upstream source branch in repository.

      Fallback: master

    • tarball

      single-line :: URL to upstream tarball (only useful for release branches - currently not used).

      Fallback: uscan

    • cmake-ignore

      multi-line :: An array of cmake-dependency identifiers to ignore when reported as missing.

      Fallback: nil

    • qml-ignore.json

      TBD