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

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
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
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
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...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 

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>