Maintain

From Tizen Wiki
Jump to: navigation, search

STATUS

Draft

Please contact me if you want more explanations, or add TODO keywords I will try to fill the blanks

--Pcoval (talk) 16:53, 18 December 2014 (UTC)


INTRODUCTION

This page aim to share procedures and information for co-maintaining software in tizen

We use gbs tool


PACKAGING

Worth reading :


Please track downstream changes using DEP3 conventions as explained on :

http://download.tizen.org/misc/media/conference2014/slides/tdc2014-tizen-upstream-coop.pdf


FIXING / CHANGING

This chapter is mostly for developers so I wont detail more that this short tutorial to commit to tizen in half an hour :

Make sure to sign your changes :

 cat ~/.git/config
 [init]
 templatedir = ~/.config/git/

UPDATING / REBASING

Developers please check this page :


FROM DEVELOPER SANDBOXES

It is preferred to push all changes to gerrit but on some case maintainers may review the patches directly and push directly , let me tell again is not encouraged but here is the procedure :

  git checkout upstream
  git rebase -i remotes/origin/sandbox/$user/upstream
  git tag upstream/$version upstream
  git push --tags
  git checkout pristine-tar
  git rebase -i remotes/origin/sandbox/$user/pristine-tar
  git checkout tizen
  git rebase -i remotes/origin/sandbox/$user/latest # not tizen 
  git rebase -i upstream # check if needed it should start with initial packaging
  git push -f all


For instance check tdb package :


Hints from : https://bugs.tizen.org/jira/browse/TC-2015

SWITCHING BETWEEN UPSTREAM TAR or UPSTREAM GIT

Let me remind to avoid sharing upstream branch between tar and git sources, ie :

 git push --force origin $sha1:upstream-git
 git checkout tizen
 git rebase -i upstream-git # skip all before initial packaging
 git push -f tizen

If you need to drop changes on versions update it is encouraged refer to it in commit message

ie:

 git commit -sam 'packaging: Bump to 0.42
 skip: deadbeef fix ugly hack of hell
 '

SUBMITTING

Before make sure you're on tizen branch and package builds and exports fine

 gbs export
 gbs build
 gbs sr --help 
 gbs sr -t $profile -m 'Bug-Tizen: TC-00' # adapt

Profiles:

  • for all profiles: gbs sr -t tizen
  • for common profile: gbs sr -t tizen_common
  • for tv profile: gbs sr -t tizen_tv


In some cases some packages should be submitted in the same set, gbs is relying on submission's tags names to achieve this

All the packages will need to land in the same OBS prerelease project

Example :

 cd efl 
 gbs sr -t tizen_common #  then note the tag
 cd elementary
 gbs sr --tag $tag 
 cd theme  calc ...

Without it will cause this kind of issues :

https://build.tizen.org/request/show/31058

https://build.tizen.org/request/show/31060

Q&A

  •  ?
  • Q: Regard git push --force remote 0c8b680004e73a41a277f70d6e6e1388eaab7380 upstream-git. Do we need to checkout upstream branch first. I get the following error ..

"git checkout upstream git push --force remote upstream-git fatal: 'remote' does not appear to be a git repository fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists."

RESOURCES