Transcript
Page 1: Tizen platform-dev-tds14sh

Tizen platform development

Be part of Tizen:Common platform development or community contribs !

Philippe Coval<https://wiki.tizen.org/wiki/User:Pcoval>

Page 2: Tizen platform-dev-tds14sh

Context

Page 3: Tizen platform-dev-tds14sh

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

Page 4: Tizen platform-dev-tds14sh

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)

Page 5: Tizen platform-dev-tds14sh

Tizen:Common

Page 6: Tizen platform-dev-tds14sh

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

Page 7: Tizen platform-dev-tds14sh

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

Page 8: Tizen platform-dev-tds14sh

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

Page 9: Tizen platform-dev-tds14sh

Tizen sources

Page 10: Tizen platform-dev-tds14sh

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

Page 11: Tizen platform-dev-tds14sh

11

Fetch tizen's sources with git

● http://source.tizen.org ( Same as Gerrit : projects / List )

● Edit ~/.ssh/config :

● Clone one project (ie: platform/core/api/connection)

Host review.tizen.orgHostname review.tizen.orgIdentityFile ~/.ssh/id_rsaPort 29418User $USER # <=== EDIT WITH YOURS

Host review.tizen.orgHostname review.tizen.orgIdentityFile ~/.ssh/id_rsaPort 29418User $USER # <=== EDIT WITH YOURS

git clone review.tizen.org:/$projectcd $projectgit branch -agit checkout tizenls packaging/*.spec

git clone review.tizen.org:/$projectcd $projectgit branch -agit checkout tizenls packaging/*.spec

Page 12: Tizen platform-dev-tds14sh

12

Install tools

● On a GNU/Linux System

– Example for Ubuntu

– Others are supported Debian/Ubuntu, OpenSuse, Fedora, ...

● Reference: https://source.tizen.org/documentation/developer-guide/environment-setup/

cat /etc/apt/sources.list.d/tizen.listdeb http://download.tizen.org/tools/latest-release/Ubuntu_13.04 /

sudo apt-get install gbssudo apt-get install mic lthor bmap-tools meld # (optional)

cat /etc/apt/sources.list.d/tizen.listdeb http://download.tizen.org/tools/latest-release/Ubuntu_13.04 /

sudo apt-get install gbssudo apt-get install mic lthor bmap-tools meld # (optional)

Page 13: Tizen platform-dev-tds14sh

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"

gbs build \ -P "profile.tizen_common_x86_64" \ --arch x86_64

find ~/tmp-GBS-tizen_common_x86_64/local/repos/ -iname "*.rpm"

Page 14: Tizen platform-dev-tds14sh

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 repositoryzypper ref -r $user # Refresh it

zypper up -r $user # Upgrade system from itzypper in -r $user $package # Or install single package (+deps)

url=http://$host/~$user/.../tmp-GBS-tizen_common_x86_64//tizen/x86_64/

zypper ar $host $user # Add your repositoryzypper ref -r $user # Refresh it

zypper up -r $user # Upgrade system from itzypper in -r $user $package # Or install single package (+deps)

Page 15: Tizen platform-dev-tds14sh

Contributing

Page 16: Tizen platform-dev-tds14sh

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

Page 17: Tizen platform-dev-tds14sh

17

Fixing problems

• Make changes :– 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

gbs build \ -P "profile.tizen_common_x86_64" \ --arch x86_64 \ --include-all

gbs build \ -P "profile.tizen_common_x86_64" \ --arch x86_64 \ --include-all

git commit -sam \"packaging: fix that

Bug-Tizen: TC-42"

git commit -sam \"packaging: fix that

Bug-Tizen: TC-42"

git push origin \ HEAD:refs/for/tizengit push origin \ HEAD:refs/for/tizen

Page 18: Tizen platform-dev-tds14sh

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

Page 19: Tizen platform-dev-tds14sh

More...

Page 20: Tizen platform-dev-tds14sh

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

Page 21: Tizen platform-dev-tds14sh

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

Page 22: Tizen platform-dev-tds14sh

22

Thanks

• Tds14Sh Organizer team

• Linux Foundation

• Intel, Samsung, Tizen Association

• Tizen developers and related communities

• Eurogiciel Opensource departement

• TizenExperts

• You

Page 23: Tizen platform-dev-tds14sh

Q & AAsk me online too !<https://wiki.tizen.org/wiki/User:Pcoval>

Page 24: Tizen platform-dev-tds14sh

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, CordovaLocation : Brittany - France

Page 25: Tizen platform-dev-tds14sh

Top Related