Community supported code
Community Supported Code
There are times when the community would like to create community-contributed code that targets either a certain release or currently developed milestone for any profile (vertical). Tizen supports this work model by creating a separate but parallel namespace to the official Tizen namespace.
Git repositories are created under the /contrib hierarchy. Projects can submit a JIRA ticket with the name of the project, the list of packages, and the corresponding source code license for each of the projects, along with a maintainer contact.
It is the maintainer's responsibility to uphold the integrity of the community code. Under normal development, release engineering manages the code changes to the main line source tree. However, under the contrib model, release engineering will not be involved in approving any changes to the OBS project. Code review is encouraged although not enforced.
Anatonomy of Community-supported code
Implementation of the community-code support is done by creating a parallel namespace to the official Tizen:* namespace. For instance, if you intend to build code that works against the latest Tizen IVI milestone, then conceptually you want to build your source code against the Tizen:IVI build project on the OBS build server. The Contrib:IVI build project on the OBS build server will build community source code against the current development in Tizen IVI. Submissions to each project are controlled by the use of git tags.
The output of your code will be located on the download server under the live link (example: http://download.tizen.org/live/project/). You are then free to then download the latest Tizen IVI milestone image and install your contribution.
We need to first start with getting a git repository under the proper namespace. For third party contributions, projects need to be created under the /contrib/ git hierarchy. All submissions should begin with a JIRA ticket in the 'infrastructure' component. All new package requests need to include the domain, the subdomain, and architecture approval. A domain describes the category (e.g. Graphics) of the package. Submissions in Tizen happens depending on which project you are submitting to. You can get a list of domains and subdomains here.
Using the "contrib" branch you can submit your code and build against all Tizen projects. You can target specific projects (e.g. IVI) by submitting your code to the "contrib_ivi" branch. Your code will build against a separate OBS project that links against the target codebase. For example, your code in contrib_ivi will build in the OBS project Contrib:IVI.
You can file your ticket at Tizen Jira.
Maintenance and quality of source code is determined by the maintainer of the package. To look up the maintainer, use the infrastructure and release information system (IRIS) available hereRelease engineering and the backend-tools team can help support any issues with the OBS project that relates to the machine. But for issues with the source code, contact the maintainer.
Here list of existing community projects :
- iotivity : https://wiki.iotivity.org/tizen
- Mono on Tizen : https://github.com/kitsilanosoftware/mono/tree/tizen-gbs-2014-07-11
- Qt for Tizen
- tizen-sunxi : http://linux-sunxi.org/Tizen
- XBMC / Kodi : https://dockr.eurogiciel.fr/blogs/embedded/xbmc-tizen-wayland-nuc/
- http://www.slideshare.net/rzrfreefr/tizen-maintain20150413rzr# Tutorial , maybe tizen branch should be named contrib branch , ask to double check