Editing Mer/Build/UsingGitorious
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
- | |||
- | |||
== Packaging == | == Packaging == | ||
- | + | The Mer DVCS packaging process looks like this: | |
- | + | [[Image:Mer_workflow.png]] | |
- | + | ||
- | + | ||
- | [[Image: | + | |
An upstream package is unpacked and the <code>debian/</code> directory is removed. | An upstream package is unpacked and the <code>debian/</code> directory is removed. | ||
Line 13: | Line 8: | ||
[http://kitenet.net/~joey/code/pristine-tar/ pristine-tar] is used to ensure that the upstream tarball can be recreated perfectly. | [http://kitenet.net/~joey/code/pristine-tar/ pristine-tar] is used to ensure that the upstream tarball can be recreated perfectly. | ||
+ | |||
+ | master is the main branch and the only non-merge commits directly on this branch should be packaging-based and in <code>debian/</code> | ||
All features or bug fixes are broken out to additional branches; 1 branch per feature or fix. The main difference is that features are not likely to go upstream whilst fixes are. This is very similar to quilt. | All features or bug fixes are broken out to additional branches; 1 branch per feature or fix. The main difference is that features are not likely to go upstream whilst fixes are. This is very similar to quilt. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
== Developing == | == Developing == | ||
Line 64: | Line 31: | ||
Get the upstream source unpacked | Get the upstream source unpacked | ||
- | mkdir | + | mkdir $PKG |
- | cd | + | cd $PKG |
- | + | mkdir _tmp | |
- | tar xf ../ | + | cd _tmp |
- | + | tar xf ../../$TARBALL | |
- | + | mv */* ../ | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
cd .. | cd .. | ||
- | rm -rf | + | rm -rf _tmp |
- | + | ||
Cleanse the install | Cleanse the install | ||
Line 175: | Line 136: | ||
on gitorious goto 'Edit Repository' and set default to Mer | on gitorious goto 'Edit Repository' and set default to Mer | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
== Handling new upstream == | == Handling new upstream == | ||
Line 231: | Line 142: | ||
get new upstream | get new upstream | ||
wget http://repository.maemo.org/pool/fremantle/free/h/hildon-input-method/hildon-input-method_2.1.16-1+0m5.tar.gz | wget http://repository.maemo.org/pool/fremantle/free/h/hildon-input-method/hildon-input-method_2.1.16-1+0m5.tar.gz | ||
- | + | TARBALL=hildon-input-method_2.1.16-1+0m5.tar.gz | |
- | + | ||
- | + | ||
- | TARBALL=hildon-input-method_2.1.16-1+0m5 | + | |
PKG=hildon-input-method | PKG=hildon-input-method | ||
GPKG=$PKG | GPKG=$PKG | ||
Line 242: | Line 150: | ||
git clone git@gitorious.org:mer/$GPKG.git | git clone git@gitorious.org:mer/$GPKG.git | ||
cd $GPKG | cd $GPKG | ||
- | git checkout --track origin/ | + | git checkout --track origin/upstream |
- | + | git rm -r * | |
- | + | ||
- | + | ||
replace the upstream code | replace the upstream code | ||
- | mkdir | + | mkdir _tmp |
- | cd | + | cd _tmp |
- | tar xf ../$TARBALL | + | tar xf ../../$TARBALL |
- | mv * ../ | + | mv */* ../ |
cd .. | cd .. | ||
- | rm -rf | + | rm -rf _tmp |
- | + | ||
- | + | ||
- | + | ||
git add . | git add . | ||
- | |||
- | |||
- | |||
Now we have a clean upstream release | Now we have a clean upstream release | ||
Line 266: | Line 166: | ||
git tag $UPVER | git tag $UPVER | ||
pristine-tar commit ../$TARBALL | pristine-tar commit ../$TARBALL | ||
- | |||
- | |||
Now to merge it into the branches | Now to merge it into the branches | ||
for each mer/* branch | for each mer/* branch | ||
- | git checkout --track origin/ | + | git checkout --track origin/mer/buttonwidth |
git merge upstream | git merge upstream | ||
- | git checkout --track origin/ | + | git checkout --track origin/mer/him-arabic |
git merge upstream | git merge upstream | ||
This fails: | This fails: | ||
Line 349: | Line 247: | ||
Carry on: | Carry on: | ||
- | git checkout --track origin/ | + | git checkout --track origin/mer/keyboard-available |
git merge upstream | git merge upstream | ||
Line 374: | Line 272: | ||
Finally: | Finally: | ||
- | git checkout --track origin/ | + | git checkout --track origin/mer/werror |
Once again we see that the old branch simply wanted to remove -Werror so edit and | Once again we see that the old branch simply wanted to remove -Werror so edit and | ||
git add configure.ac | git add configure.ac | ||
Line 388: | Line 286: | ||
git merge mer/werror | git merge mer/werror | ||
- | Once the conflicting branches are consolidated, they can be merged | + | Once the conflicting branches are consolidated, they can be merged: |
- | git checkout --track origin/ | + | git checkout --track origin/master |
git merge local | git merge local | ||
- | |||
- | |||
- | |||
- | |||
- | |||
And tagged for release: | And tagged for release: | ||
Line 404: | Line 297: | ||
git checkout Mer | git checkout Mer | ||
git merge master | git merge master | ||
- | |||
- | |||
git add debian/changelog debian/control | git add debian/changelog debian/control | ||
git commit | git commit | ||
Line 417: | Line 308: | ||
[[Image:Mer-lbt-gitk-him.png]] | [[Image:Mer-lbt-gitk-him.png]] | ||
+ | |||
=== glib === | === glib === | ||
Line 444: | Line 336: | ||
git clone git@gitorious.org:~lbt/mer/glib2_0-mer.git | git clone git@gitorious.org:~lbt/mer/glib2_0-mer.git | ||
cd glib2_0-mer/ | cd glib2_0-mer/ | ||
- | git checkout --track origin/ | + | git checkout --track origin/upstream |
git rm -r * | git rm -r * | ||
Line 495: | Line 387: | ||
Now to create a Mer glib from a master | Now to create a Mer glib from a master | ||
- | git checkout --track origin/ | + | git checkout --track origin/master |
Upgrade entire glib | Upgrade entire glib | ||
Line 522: | Line 414: | ||
And a new Mer release | And a new Mer release | ||
- | git checkout --track origin/ | + | git checkout --track origin/Mer |
git merge master | git merge master | ||
editor debian/changelog | editor debian/changelog | ||
Line 541: | Line 433: | ||
Read upwards to progress in time. Note how on the right is the 'upstream' branch tagged at 2.20.1 then you see the Mer patches being applied to master which is then merged into Mer. | Read upwards to progress in time. Note how on the right is the 'upstream' branch tagged at 2.20.1 then you see the Mer patches being applied to master which is then merged into Mer. | ||
(There is slight complexity here since the upstream changed to the *real* upstream). | (There is slight complexity here since the upstream changed to the *real* upstream). | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
== Working from Gitorious == | == Working from Gitorious == | ||
Line 613: | Line 441: | ||
Essentially | Essentially | ||
git clone git@gitorious.org:mer/$GPKG.git | git clone git@gitorious.org:mer/$GPKG.git | ||
- | git checkout --track origin/ | + | git checkout --track origin/Mer |
determine which feature or branch needs work. Then: | determine which feature or branch needs work. Then: | ||
- | git checkout --track origin/ | + | git checkout --track origin/mer/<feature> |
hack... | hack... | ||
Line 629: | Line 457: | ||
If this works OK then clean up your mer/<feature> branch... probably doing a <code>--squash</code> and push the branch to gitorious. | If this works OK then clean up your mer/<feature> branch... probably doing a <code>--squash</code> and push the branch to gitorious. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | + | [[Category:Mer]] |
Learn more about Contributing to the wiki.