Since Tizen adopted "open governance model", a free and libre open
source GNU/Linux distribution known as "Tizen:Common" came to light.
Now anyone is able to install it on widely available machines (PC,
NUC, VM etc) and use the rolling release distro for any purpose, let's
go one step foreward and build software for it and make a basic bug
fix. This kick-start session aims to go directly to the pratical way
to use it or/and contribute to Tizen. Tizen development tools (git,
gbs, gerrit, jira...) will be presented live in real action, to give a
short overview on how the project is progressing on a daily basis.
Curious developers unfamiliar with platform development, can expect to
get the entry's keys and learn by example on how to work on tizen
platform and eventually share their wildest dreams.
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Tizen platform-dev-tds14sh
1. Tizen platform development
Be part of Tizen:Common platform
development or community contribs !
Philippe Coval
<https://wiki.tizen.org/wiki/User:Pcoval>
3. 3
Agenda
• Tizen:Common
– Install and use It
• Tizen sources
– Join tizen
– Get Sources
– Setup tools
– Build
– Test
• Contributing
– Making and sharing changes
• More / Resources
• Q&A
4. 4
Who am I ?
• FLOSS enthusiast
– Member of Software, DIY Community managed projects
• Tizen co-maintainer :
– Domains : Automotive, Graphics, System Config
• Works for Eurogiciel Open Source Dept
– Intel contractor for 3 years
– Located in France (Brittany)
6. 6
What is Tizen:Common ?
• Free and Libre Open Source Linux Distribution :
– SPDX Licenses
– Open development model
• Features :
– Security, Connectivity, Multimedia, AppFw, WebApps
– Inclusive for shared components : EFL, Qt ...
7. 7
What is Tizen:Common for ?
• Integration point for Tizen profiles
– Ie: Tizen:IVI based on Tizen:Common (90%)
• Different Flavors :
– Supported Arch : Intel ( ia32, x64 ) or ARMv7l
– Supported Devices : pc (i7+) , MinnowMax etc
– Supported Features : Wayland vs x11 , MBR vs EFI ...
– More to come ...
8. 8
Install and use Tizen:Common
• Download image
– http://download.tizen.org/releases/daily/tizen/common
• Install :
– Dump released image to disk
– Or use installer image (NUC)
• Use :
– Log in : root:tizen
– Update,
– install RPM packages using zypper tool
– Install webapps *.wgt using pkgcmd tool
10. 10
Join Tizen
• 1. Register your account at :
– https://www.tizen.org/user/register
• 2. Generate a ssh key and upload public key
– ssh-keygen && cat ~/.ssh/*.pub
– https://review.tizen.org/gerrit/#/settings/ssh-keys
11. 11
Fetch tizen's sources with git
● http://source.tizen.org ( Same as Gerrit : projects / List )
● Edit ~/.ssh/config :
Host review.tizen.org
Hostname review.tizen.org
IdentityFile ~/.ssh/id_rsa
Port 29418
User $USER # <=== EDIT WITH YOURS
● Clone one project (ie: platform/core/api/connection)
git clone review.tizen.org:/$project
cd $project
git branch -a
git checkout tizen
ls packaging/*.spec
12. 12
Install tools
● On a GNU/Linux System
– Example for Ubuntu
cat /etc/apt/sources.list.d/tizen.list
deb http://download.tizen.org/tools/latest-release/Ubuntu_13.04 /
sudo apt-get install gbs
sudo apt-get install mic lthor bmap-tools meld # (optional)
– Others are supported Debian/Ubuntu, OpenSuse, Fedora, ...
● Reference:
https://source.tizen.org/documentation/developer-guide/envir
onment-setup/
13. 13
Building sources
• Configure repos : ~/gbs.conf
– Use mine from :
https://gitorious.org/tizen/tizen-helper/raw/master:config/gbs.conf
– Add new profiles and associated repos if needed
– We prefer common snapshot x86_64 wayland repos
• Build from sources (git) to binaries (rpm)
gbs build
-P "profile.tizen_common_x86_64"
--arch x86_64
find ~/tmp-GBS-tizen_common_x86_64/local/repos/ -iname "*.rpm"
14. 14
Deploy & Test
• Copy RPM files to target
– scp *.rpm root@$targethost:/tmp
– sudo zypper in /tmp/*.rpm
• Tip : better setup your own repo from your host
– Setup local httpd server (apache's mod_user_dir)
url=http://$host/~$user/.../tmp-GBS-tizen_common_x86_64//tizen/x86_64/
zypper ar $host $user # Add your repository
zypper ref -r $user # Refresh it
zypper up -r $user # Upgrade system from it
zypper in -r $user $package # Or install single package (+deps)
16. 16
Bug reporting
• Entry point is :
– http://bugs.tizen.org
– JIRA bug tracker
• Find or create new bugs
– Tell version , see /etc/os-release
• Be proactive
• then ask on mailing lists to attract attention
17. 17
Fixing problems
• Make changes :
gbs build
-P "profile.tizen_common_x86_64"
--arch x86_64
--include-all
– Rebuild : gbs build
– Test : zypper
– Check : gbs export, git diff
• Make a patch :
– Mention context in commit message :
• Sharing patch
– https://review.tizen.org/gerrit/#/
– Improve it until maintainer merge it
● Expect it to be released in repos and image
git commit -sam
"packaging: fix that
Bug-Tizen: TC-42
"
git push origin
HEAD:refs/for/tizen
18. 18
Summary
• Join project , create account :
– http://tizen.org
• Install, use and test :
– http://download.tizen.org
• Report bug on jira :
– http://bugs.tizen.org
• Sources are managed with git (+ gerrit) :
– http://review.tizen.org
• Build using GBS
• Share changes using git and gerrit
20. 20
Community Projects
Alone you'll go fast but together you'll go far.
• Tizen-Sunxi :
– http://linux-sunxi.org/Tizen
● Qt for Tizen :
– http://qt-project.org/wiki/Tizen
● MonoTizen
– https://github.com/kitsilanosoftware/mono
● Xbmc For Tizen and others
22. 22
Thanks
• Tds14Sh Organizer team
• Linux Foundation
• Intel, Samsung, Tizen Association
• Tizen developers and related communities
• Eurogiciel Opensource departement
• TizenExperts
• You
23. Q & A
Ask me online too !
<https://wiki.tizen.org/wiki/User:Pcoval>
24. Open source development and integration :
– Several Maintainers for tizen.org
– Embedded systems for real-time multimedia:
- Widi/Miracast stack,
- Wayland/Weston,
- Webkit2 browser with HW acceleration
- Linux base port
– Application: HTML5/CSS3, jquery, jqmobi, Cordova
Location : Brittany - France