O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

tizen-maintain-20150413rzr

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Co-maintaining community's contributions
Philippe “RzR” Coval
<https://wiki.tizen.org/wiki/User:Pcoval>
Copyleft: CC BY-SA...
Philippe Coval
●
Joined Eurogiciel to work on Tizen
●
FLOSS community member (MeeGo, Qt...)
●
Can help on any Tizen relate...
About Tizen project
●
An Open source OS (Linux kernel)
●
For different type of devices or things
●
Application framework (...

Vídeos do YouTube não são mais aceitos pelo SlideShare

Visualizar original no YouTube

Próximos SlideShares
Tizen store-z1-20150228rzr
Tizen store-z1-20150228rzr
Carregando em…3
×

Confira estes a seguir

1 de 28 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a tizen-maintain-20150413rzr (20)

Anúncio

Mais de Phil www.rzr.online.fr (16)

Mais recentes (20)

Anúncio

tizen-maintain-20150413rzr

  1. 1. Co-maintaining community's contributions Philippe “RzR” Coval <https://wiki.tizen.org/wiki/User:Pcoval> Copyleft: CC BY-SA 4.0+
  2. 2. Philippe Coval ● Joined Eurogiciel to work on Tizen ● FLOSS community member (MeeGo, Qt...) ● Can help on any Tizen related project ;-) ● <https://wiki.tizen.org/wiki/User:Pcoval>
  3. 3. About Tizen project ● An Open source OS (Linux kernel) ● For different type of devices or things ● Application framework (HTML5 / Native) ● Security by design ● Cross architectures, technologies ● Support from industry (Tizen Association)
  4. 4. Some Tizen Devices :
  5. 5. Tizen 3 Profiles Tizen:Common Mobile Wearable IVI TV
  6. 6. Join Tizen ! ● Entry point: create account on tizen.org ● Feedback welcome: forum, lists, bugtracker ● Open Source & Open development (on v3) ● Softwares are managed as packages (RPM) ● Platform developers use those tools: – git, gbs, gerrit, obs, zypper – Yocto alt way won't be detailed for now
  7. 7. Open development model: ● Tizen Sterring Group: coordinates ● Profiles' architects: decide, setup plans ● Release engineer: publish distro ● Maintainers: submit packages ● Developers: write and share code ● QA / Users: report bugs or wishes ● And/Or : community's managed contribs
  8. 8. Tizen Community contrib repo ● Anyone can co-maintain new packages too ● Benefits: ● Playground for experimentation ● Share efforts ● Learn Tizen workflow faster ! ● Drawback : not integrated to profiles ● To be used with Tizen:Common
  9. 9. Let's package new Software ! ● Tizen uses RPM format (write spec file) ● Sources are managed with git branches: ● “upstream” branch: ● untouched code from upstream ● “tizen” branch: ● packaging files ● Plus patches if needed
  10. 10. Git branches : tizen on upstream {master}@upstream <0.4.1> {tizen}@tizen packaging: Initial packaging on 0.4.1 Bug-Tizen: TC-41 {upstream}@tizen <upstream/0.4.1> {master}@upstream ... git checkout -b upstream $tag git checkout -b tizen git add packaging/*.spec git commit
  11. 11. How to build sources ? ● Install git and gbs tools ● Configure gbs (~/.gbs.conf): ● to use Tizen:Common profile ● on desired version (x86*, snapshot...) git clone git checkout tizen ; gbs build ● Install Tizen:Common and test built rpm
  12. 12. Add package to tizen's contrib repo ● 1. Declare package in SCM metadata file : ● Join contrib subdomain (domains.yaml) ● request git repo to be created (git.yaml) ● 2. Send upstream code to upstream branch ● 3. Send patches for review (and merge) ● 4. Submit package to contrib repo
  13. 13. Example : iotivity edit scm/meta/git/git-trees (...) T: contrib/iotivity D: Contrib / Libraries B: tizen L: Apache-2.0 (...) edit scm/meta/git/domain (...) D: Contrib / Libraries N: Contrib I: Philippe Coval <Em@il> (…) git clone review.tizen.org:/scm/meta/git.git
  14. 14. How to apply SCM change ● Git rebase on origin's master branch ● push changes for review: git push origin HEAD:refs/for/master –Check status online : http://review.tizen.org ● Improve change if needed
  15. 15. Import upstream code ● git clone gerrit.iotivity.org:/iotivity ● git checkout -b upstream v0.9.1 ● git checkout -b tizen upstream ● git push --mirror review.tizen.org:/contrib/iotivity
  16. 16. Push packaging files ● git clone review.tizen.org:/contrib/iotivity ● git checkout tizen ● git add packaging/*.spec .gbs.conf ● git commit -m “packaging: Initial on X.Y.Z” ● git push origin HEAD:refs/for/tizen ● Check for feedback, Improve until merged
  17. 17. Submit package ● gbs build && gbs sr -t contrib_common ● Track status on http://build.tizen.org ● Project : Contrib:Common ● Check by Installing it on fresh OS image: zypper ar http://download.tizen.org/ live/Contrib:/Common/x86_64-wayland/Contrib:Common.repo zypper search iotivity zypper install iotivity && rpm -ql iotitivy
  18. 18. What's next ? ● Promote it: ● upstream (feedback is welcome) ● downstream for other tizen profiles ● Maintain it: ● Cooperate with upstream ● Follow versions ● Report issues and forward patches
  19. 19. Maintainers duties ● Invited to interact/cooperate with: ● upstream and co maintainers ● Bump versions if required ● Manage downstream changes ● Where does this come from ? ● Why is it in tizen branch ? ● Why isn't it maintained by upstream
  20. 20. Cooperate with Upstream project ● Forward sources' changes to upstream first: ● Adopt upstream project's workflow ie: – Open ticket on upstream's tracker ● Note the ID or URL and refer to it, later – Share patch (or push for review) ● Wait for feedback / Notify in lists ● Improve on feedback
  21. 21. How to bump to latest version (1/3) ● Prefer to rebase on tags from upstream's git ● Add .gbs.conf to project: git checkout upstream ; git reset vX.Y.Z git checkout tizen ; git rebase -i upstream ● Pick all the changes from tizen branch ● Skip upstream changes (before Initial packaging for Tizen)
  22. 22. Manage downstream changes (2/3) ● Track status from commit messages ie: ● Bug-Tizen: $id / Bug: $url ● Forwarded: $url / Origin: $url ● Adapt patches on conflicts ● Revert or drop them if no more relevent ● Note the ids (sha1) / notify devels (bug) git push –force origin tizen:tizen
  23. 23. Submit latest (3/3) ● Bump version in packaging/*.spec ● Mention about dropped downstream changes in commit messages (ie: skip b4dc0d3 blah) git push origin HEAD:refs/for/tizen ● Improve until merged ● Submit package to repo: gbs sr -t contrib_common
  24. 24. Summary ● Tizen a project of multiple profiles ● Tizen 3: Open project under open governance ● Tizen:Common is the base to work on ● Open repo welcome community's contribs ● Cooperation with upstream is encouraged ● Tracked changes make co-maintaince easier
  25. 25. References ● Co Maintenance recipes: https://wiki.tizen.org/wiki/Maintain ● Community pages: https://wiki.tizen.org/wiki/Category:Community ● Platform development tips, cooperation... https://wiki.tizen.org/wiki/User:Pcoval ● Support mailing list: https://lists.tizen.org/pipermail/dev/
  26. 26. Thanks ● Tizen developers from: ● Intel, Samsung, Eurogiciel and more. ● Related FLOSS communities: ● Upstream projects, Brotherhood ● Social events, Bloggers, IRC, etc ● You !
  27. 27. Q & A Ask me online ! Philippe “RzR” Coval <https://wiki.tizen.org/wiki/User:Pcoval>

×