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. 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)
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
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. 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
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. 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
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
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. 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. 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. 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. 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. 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. 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. 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