Tizen platform development 
Be part of Tizen:Common platform 
development or community contribs ! 
Philippe Coval 
<https://wiki.tizen.org/wiki/User:Pcoval>
Context
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 
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)
Tizen:Common
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 
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 
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
Tizen sources
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 
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 
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 
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 
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)
Contributing
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 
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 
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
More...
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
21 
Resources 
• Entry points 
– https://developer.tizen.org/ 
– https://wiki.tizen.org/wiki/OSDev 
– https://wiki.tizen.org/wiki/Common 
● Support 
– http://lists.tizen.org Or irc://irc.freenode.net/#tizen 
• Tools 
– https://source.tizen.org/documentation/developer-guide/ 
environment-setup/ 
– https://source.tizen.org/documentation/reference/git-build 
-system
22 
Thanks 
• Tds14Sh Organizer team 
• Linux Foundation 
• Intel, Samsung, Tizen Association 
• Tizen developers and related communities 
• Eurogiciel Opensource departement 
• TizenExperts 
• You
Q & A 
Ask me online too ! 
<https://wiki.tizen.org/wiki/User:Pcoval>
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
Tizen platform-dev-tds14sh

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>
  • 2.
  • 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 amI ? • 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)
  • 5.
  • 6.
    6 What isTizen: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 isTizen: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 anduse 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
  • 9.
  • 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'ssources 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)
  • 15.
  • 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
  • 19.
  • 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
  • 21.
    21 Resources •Entry points – https://developer.tizen.org/ – https://wiki.tizen.org/wiki/OSDev – https://wiki.tizen.org/wiki/Common ● Support – http://lists.tizen.org Or irc://irc.freenode.net/#tizen • Tools – https://source.tizen.org/documentation/developer-guide/ environment-setup/ – https://source.tizen.org/documentation/reference/git-build -system
  • 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 developmentand 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