SlideShare a Scribd company logo
1 of 27
Download to read offline
Co-maintaining community's contributions
Philippe “RzR” Coval
<https://wiki.tizen.org/wiki/User:Pcoval>
Copyleft: CC BY-SA 4.0+
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>
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)
Some Tizen Devices :
Tizen 3 Profiles
Tizen:Common
Mobile Wearable IVI TV
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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/
Thanks
●
Tizen developers from:
●
Intel, Samsung, Eurogiciel and more.
●
Related FLOSS communities:
●
Upstream projects, Brotherhood
●
Social events, Bloggers, IRC, etc
●
You !
Q & A
Ask me online !
Philippe “RzR” Coval
<https://wiki.tizen.org/wiki/User:Pcoval>

More Related Content

What's hot

Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Leon Anavi
 
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HATFOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HATLeon Anavi
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto ProjectLeon Anavi
 
Balena Hackathon 2021 - Welcome and Getting Started
Balena Hackathon 2021 - Welcome and Getting StartedBalena Hackathon 2021 - Welcome and Getting Started
Balena Hackathon 2021 - Welcome and Getting StartedBalena
 
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019TomBarron
 
Voxxed Days Villnius 2015 - Burning Marshmallows
Voxxed Days Villnius 2015 - Burning MarshmallowsVoxxed Days Villnius 2015 - Burning Marshmallows
Voxxed Days Villnius 2015 - Burning MarshmallowsRon Munitz
 
PHPKonf Istanbul 2016 - From development to production with Docker Datacenter
PHPKonf Istanbul 2016 - From development to production with Docker DatacenterPHPKonf Istanbul 2016 - From development to production with Docker Datacenter
PHPKonf Istanbul 2016 - From development to production with Docker DatacenterKiratech
 
Paolo Melchiorre - Meetup #AperiTech di PyRoma - Codemotion Rome 2019
Paolo Melchiorre - Meetup #AperiTech di PyRoma - Codemotion Rome 2019Paolo Melchiorre - Meetup #AperiTech di PyRoma - Codemotion Rome 2019
Paolo Melchiorre - Meetup #AperiTech di PyRoma - Codemotion Rome 2019Codemotion
 
Pipenv - The Python Companion You Wish You Always Had
Pipenv - The Python Companion You Wish You Always HadPipenv - The Python Companion You Wish You Always Had
Pipenv - The Python Companion You Wish You Always HadAvi Aminov
 
Microsoft ♥ Open Source
Microsoft ♥ Open SourceMicrosoft ♥ Open Source
Microsoft ♥ Open SourceRicardo Peres
 
RISC-V and open source chip design
RISC-V and open source chip designRISC-V and open source chip design
RISC-V and open source chip designDrew Fustini
 
Let's Go @ St. Louis CocoaHeads
Let's Go @ St. Louis CocoaHeadsLet's Go @ St. Louis CocoaHeads
Let's Go @ St. Louis CocoaHeadsPaul Balogh
 

What's hot (20)

tdc2015-strategy-devel-20150916
tdc2015-strategy-devel-20150916tdc2015-strategy-devel-20150916
tdc2015-strategy-devel-20150916
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5
 
Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603
 
Internet of Smaller Things
Internet of Smaller ThingsInternet of Smaller Things
Internet of Smaller Things
 
up-down-stream-flows-20190411rzr
up-down-stream-flows-20190411rzrup-down-stream-flows-20190411rzr
up-down-stream-flows-20190411rzr
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HATFOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
 
Creating new Tizen profiles using the Yocto Project
Creating new Tizen profiles  using the Yocto ProjectCreating new Tizen profiles  using the Yocto Project
Creating new Tizen profiles using the Yocto Project
 
Balena Hackathon 2021 - Welcome and Getting Started
Balena Hackathon 2021 - Welcome and Getting StartedBalena Hackathon 2021 - Welcome and Getting Started
Balena Hackathon 2021 - Welcome and Getting Started
 
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019
 
What is git
What is gitWhat is git
What is git
 
Voxxed Days Villnius 2015 - Burning Marshmallows
Voxxed Days Villnius 2015 - Burning MarshmallowsVoxxed Days Villnius 2015 - Burning Marshmallows
Voxxed Days Villnius 2015 - Burning Marshmallows
 
PHPKonf Istanbul 2016 - From development to production with Docker Datacenter
PHPKonf Istanbul 2016 - From development to production with Docker DatacenterPHPKonf Istanbul 2016 - From development to production with Docker Datacenter
PHPKonf Istanbul 2016 - From development to production with Docker Datacenter
 
Paolo Melchiorre - Meetup #AperiTech di PyRoma - Codemotion Rome 2019
Paolo Melchiorre - Meetup #AperiTech di PyRoma - Codemotion Rome 2019Paolo Melchiorre - Meetup #AperiTech di PyRoma - Codemotion Rome 2019
Paolo Melchiorre - Meetup #AperiTech di PyRoma - Codemotion Rome 2019
 
Pipenv - The Python Companion You Wish You Always Had
Pipenv - The Python Companion You Wish You Always HadPipenv - The Python Companion You Wish You Always Had
Pipenv - The Python Companion You Wish You Always Had
 
PEAR - An introduction
PEAR - An introductionPEAR - An introduction
PEAR - An introduction
 
Microsoft ♥ Open Source
Microsoft ♥ Open SourceMicrosoft ♥ Open Source
Microsoft ♥ Open Source
 
RISC-V and open source chip design
RISC-V and open source chip designRISC-V and open source chip design
RISC-V and open source chip design
 
Let's Go @ St. Louis CocoaHeads
Let's Go @ St. Louis CocoaHeadsLet's Go @ St. Louis CocoaHeads
Let's Go @ St. Louis CocoaHeads
 

Similar to tizen-maintain-20150413rzr

Git in the European Parliament
Git in the European ParliamentGit in the European Parliament
Git in the European ParliamentJean-Pol Landrain
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticlePRIYATHAMDARISI
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow Sebin Benjamin
 
Git tech talk
Git tech talkGit tech talk
Git tech talkrazasayed
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflowsArthur Shvetsov
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git TutorialSage Sharp
 
Git 101, or, how to sanely manage your Koha customizations
Git 101, or, how to sanely manage your Koha customizationsGit 101, or, how to sanely manage your Koha customizations
Git 101, or, how to sanely manage your Koha customizationsIan Walls
 
Practical git for developers
Practical git for developersPractical git for developers
Practical git for developersWim Godden
 
Git from the trenches
Git from the trenchesGit from the trenches
Git from the trenchesNuno Caneco
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersMartin Jinoch
 
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, TrivandrumIntroduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, TrivandrumAbhijitNarayan2
 

Similar to tizen-maintain-20150413rzr (20)

Git in the European Parliament
Git in the European ParliamentGit in the European Parliament
Git in the European Parliament
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
 
Git tech talk
Git tech talkGit tech talk
Git tech talk
 
Git introduction
Git introductionGit introduction
Git introduction
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Git training (basic)
Git training (basic)Git training (basic)
Git training (basic)
 
git.ppt.pdf
git.ppt.pdfgit.ppt.pdf
git.ppt.pdf
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
 
Git hub
Git hubGit hub
Git hub
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
 
Switching to Git
Switching to GitSwitching to Git
Switching to Git
 
Git 101, or, how to sanely manage your Koha customizations
Git 101, or, how to sanely manage your Koha customizationsGit 101, or, how to sanely manage your Koha customizations
Git 101, or, how to sanely manage your Koha customizations
 
Practical git for developers
Practical git for developersPractical git for developers
Practical git for developers
 
Git
GitGit
Git
 
GitHub Event.pptx
GitHub Event.pptxGitHub Event.pptx
GitHub Event.pptx
 
Git from the trenches
Git from the trenchesGit from the trenches
Git from the trenches
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes Developers
 
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, TrivandrumIntroduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
 
Advanted git
Advanted git Advanted git
Advanted git
 

More from Phil www.rzr.online.fr (16)

Iot privacy-soscon-2019
Iot privacy-soscon-2019Iot privacy-soscon-2019
Iot privacy-soscon-2019
 
aframe-webthing-20190710
aframe-webthing-20190710aframe-webthing-20190710
aframe-webthing-20190710
 
web-of-twins-20190604rzr
web-of-twins-20190604rzrweb-of-twins-20190604rzr
web-of-twins-20190604rzr
 
digital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzrdigital-twins-webthings-iotjs-20190512rzr
digital-twins-webthings-iotjs-20190512rzr
 
wotxr-20190320rzr
wotxr-20190320rzrwotxr-20190320rzr
wotxr-20190320rzr
 
mozilla-things-fosdem-2019
mozilla-things-fosdem-2019mozilla-things-fosdem-2019
mozilla-things-fosdem-2019
 
IoT-javascript-2019-fosdem
IoT-javascript-2019-fosdemIoT-javascript-2019-fosdem
IoT-javascript-2019-fosdem
 
webthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzrwebthing-iotjs-tizenrt-cdl2018-20181117rzr
webthing-iotjs-tizenrt-cdl2018-20181117rzr
 
webthing-iotjs-20181027rzr
webthing-iotjs-20181027rzrwebthing-iotjs-20181027rzr
webthing-iotjs-20181027rzr
 
tizen-rt-javascript-20181011
tizen-rt-javascript-20181011tizen-rt-javascript-20181011
tizen-rt-javascript-20181011
 
webthing-floss-iot-20180607rzr
webthing-floss-iot-20180607rzrwebthing-floss-iot-20180607rzr
webthing-floss-iot-20180607rzr
 
osvehicle-connected-20160429
osvehicle-connected-20160429osvehicle-connected-20160429
osvehicle-connected-20160429
 
Iotivity atmel-20150328rzr
Iotivity atmel-20150328rzrIotivity atmel-20150328rzr
Iotivity atmel-20150328rzr
 
FOSDEM2015: Porting Tizen:Common to open source hardware devices
FOSDEM2015: Porting Tizen:Common to open source hardware devicesFOSDEM2015: Porting Tizen:Common to open source hardware devices
FOSDEM2015: Porting Tizen:Common to open source hardware devices
 
tizen-oshw-tds14sh
tizen-oshw-tds14shtizen-oshw-tds14sh
tizen-oshw-tds14sh
 
Tizen sdk-solutionslinux-20130529
Tizen sdk-solutionslinux-20130529Tizen sdk-solutionslinux-20130529
Tizen sdk-solutionslinux-20130529
 

Recently uploaded

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 

Recently uploaded (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 

tizen-maintain-20150413rzr

  • 1. Co-maintaining community's contributions Philippe “RzR” Coval <https://wiki.tizen.org/wiki/User:Pcoval> Copyleft: CC BY-SA 4.0+
  • 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
  • 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. 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
  • 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. 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
  • 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. 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. 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. 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. 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
  • 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. Thanks ● Tizen developers from: ● Intel, Samsung, Eurogiciel and more. ● Related FLOSS communities: ● Upstream projects, Brotherhood ● Social events, Bloggers, IRC, etc ● You !
  • 27. Q & A Ask me online ! Philippe “RzR” Coval <https://wiki.tizen.org/wiki/User:Pcoval>