Motivation for GDP Master
Makes it easier for interested parties to know where the work / bleeding edge of GDP is being conducted, previously we've received feedback stating the branch structure / naming schema was confusing this should ease that.
Having Master not be a strictly defined 'release' or 'golden branch also allows more flexibility for the project, allowing master to develop whilst having a stable maintenance branch for such purposes
[genivi-dev-platform@github] started by having branches per target, that during release cycles could end up out of sync due to focus being applied to a specific target (mainly qemu, for non-bsp requirements). It was intended
that the 'master' qemu branch could be used to rebase/merge all common changes across all target branches, but this proved more difficult in practice and quickly got un-manageable even for simple changes (e.g..gitmodules + conf file conflicts)
Moving to a singular branch for all targets also comes with its own intricacies (more explicit scripting, the assurance of common commits etc) however ultimately it should prove beneficial to both users and maintainers.
Merging the git history of ~5 targets into a single branch in a sane way was not possible, so the qemu branch was taken as a base. Obviously the respective histories of each target branch in GDP is important, so the branches have been archived as tags.
Projected audience and users of the GDP Master
You should be using master if you wish to be part of the development cycle of the GDP, or want the most recent versions of the underlying components provided by poky / meta-ivi etc.
The Patch Submission Process
What are the main goals of these policies? Who will apply them? Why are they important?
Master: The default branch for genivi-dev-platform.git & meta-genivi-dev.git
Work during release cycles is completed in this branch, once a 'release' candidate is declared
master is branched to a 'release' branch, which becomes the current maintenance branch.
Currently (and following general yocto practices) the version of the GDP in master is linked
by the underlying baseline (meta-ivi) and the yocto release below it (poky/OE), once a release is
declared this inheritance is used to define the version. It is expected that any new package contributions
are sent as patches / PR's against master. Due to being a branch in constant flux in terms of yocto versioning,
situations may occur in which not all target hardware is supported due to the relevant BSP layer not supporting
the required version of yocto.
Maintenance: The current maintenance branch of genivi-dev-platform & meta-genivi-dev.git
The maintenance branch is the name given to the currently supported 'release' branch of GDP
Once a new release is declared and branched from master, the maintenance title is transferred.
Only bug/security fixes or specific backport patches / PR's should be based against this branch.
It is expected that a user looking for a 'stable' GDP build (or requiring a certain version of a package)
would use the maintenance branch.
(is it possible to summarise the above two paragraphs in a couple of sentences and point to the management page section where this is described?
Of course it is still possible to contribute to GDP via patches to email@example.com
General documentation re contributing to Genivi can be found HERE
Specific GDP related contribution policies can be found HERE
Tasks done to get here
Summary of the tasks done to get to this point
when does the maintenance period start and finish (when next release. roadmap is currently under discussion. Maximum, end of this year).
Where to find GDP Master
The wiki page describing the GDP Master is here.
GDP makes use of git submodules to generate the corresponding yocto layers, including meta-genivi-dev which also follows the master branch policy
The remote head of the repo is set to the master branch, i.e master is the default branch.