Editing Qt Maemo Git Process

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:
-
{{out of date}}
+
The Maemo version of Qt lives here:
-
 
+
-
= Intro =
+
-
Fremantle Qt lives in gitorious.
+
-
Currently there are 2 different versions of Qt:
+
-
* Community port, based on Qt 4.5
+
   http://gitorious.org/+qt-maemo-developers/qt/qt-maemo
   http://gitorious.org/+qt-maemo-developers/qt/qt-maemo
-
* Official port based on Qt 4.6
 
-
  http://qt.gitorious.org/qt/x11-maemo
 
-
The pages you are browsing now are related to the community port of Qt.
+
If you have a local clone you can use <code>gitk --all</code> to see a visual representation of the branches, commits and merges.
-
If you want to know more about the official Qt port, please check this page:
+
-
  http://qt.nokia.com/developer/qt-for-maemo-developers?gclid=CMDrwanfyJ0CFdQq3god12S7sA
+
-
<br><br>
+
lbt proposed this explanation of the branches/workflow based on the [[Mer/Build/UsingGitorious|Mer gitorious workflow]]
-
= Community Qt 4.5 port =
 
== Origin ==
== Origin ==
The branches are synced with upstream Qt changes. No Maemo changes are there at all.
The branches are synced with upstream Qt changes. No Maemo changes are there at all.
Line 26: Line 16:
== Maemo master branches ==
== Maemo master branches ==
 +
Currently we have 4.5 master branch only.
-
 
+
=== master-maemo-qt-45 ===
-
=== 4.5-diablo ===
+
This branch is based on 4.5 and has all feature branches selected for maemo merged into it.
-
=== 4.5-fremantle ===
+
Note that this branch is fairly plain Qt and should contains no packaging data and debian/* should not exist.
-
This branch is  
+
-
* based on 4.5
+
-
* has all feature branches selected for maemo merged into it.
+
-
* fairly plain Qt and should contains no packaging data and debian/* should not exist.
+
If an updates is made to 4.5 and 4.5 is merged into master-maemo-qt-4.5 then *all* conflicts with all feature/bug branches will be seen at once.
If an updates is made to 4.5 and 4.5 is merged into master-maemo-qt-4.5 then *all* conflicts with all feature/bug branches will be seen at once.
Line 40: Line 27:
At this point it may seem reasonable to simply re-merge each feature branch into master-maemo-qt-4.5 however master-maemo-qt-4.5 contains all the other features from the last merge. So as soon as the first conflict-resolved feature is merged, all the conflicts from all the other features will be hit.
At this point it may seem reasonable to simply re-merge each feature branch into master-maemo-qt-4.5 however master-maemo-qt-4.5 contains all the other features from the last merge. So as soon as the first conflict-resolved feature is merged, all the conflicts from all the other features will be hit.
The answer is to create a temporary local branch based on the latest 4.5 (see http://wiki.maemo.org/Mer/Build/UsingGitorious#Upstream_Updates) and merge each feature in turn into this branch. Then merge that into master-maemo-qt-4.5 (which should have no conflicts at all and, in the absence of any features/bugs is a simple fast-forward).
The answer is to create a temporary local branch based on the latest 4.5 (see http://wiki.maemo.org/Mer/Build/UsingGitorious#Upstream_Updates) and merge each feature in turn into this branch. Then merge that into master-maemo-qt-4.5 (which should have no conflicts at all and, in the absence of any features/bugs is a simple fast-forward).
 +
== Maemo build branches ==
== Maemo build branches ==
-
These branch should be built completely and used for regular release.
+
These branch should be built completely and used for regular release. There are based on master-maemo-qt-45 currently.
-
 
+
-
These are based on master-maemo-qt-45 currently.
+
-
 
+
-
If you are looking for building Qt from sources for a specific platform, then you have to checkout one of these branches and run
+
-
dpkg-buildpackage -rfakeroot -b
+
=== qt-diablo ===
=== qt-diablo ===
Diablo branch
Diablo branch
-
=== qt-n900 ===
+
=== qt-fremantle ===
-
is the current Fremantle branch.
+
Fremantle branch, but this is not ready yet.
-
* It's a branch of internal Qt 4.5.3 repository
+
-
* It contains changes also available in 4.5-fremantle
+
-
* currently it creates packages 4.5.3-maemo4.1 compatibile that can be installed into the device without overriding pre-install Qt core pacakges.
+
-
* for more information ask to Antonio
+
=== qt-mer ===
=== qt-mer ===
Currently there is no branch.
Currently there is no branch.
 +
== Maemo build script and debian folder ==
== Maemo build script and debian folder ==
=== maemo-build-generic ===
=== maemo-build-generic ===
-
This branch is based on and tracks master-maemo-qt-4.5
+
This branch is based on and tracks ??(I suggest master-maemo-qt-4.5)
-
It contains common packaging that allows Qt to build on various maemo-ish releases.
+
It contains common packaging (ie debian/*) that allows Qt to build on various maemo-ish releases.
A good rule is that no code is touched by non-merge commits to this branch
A good rule is that no code is touched by non-merge commits to this branch
It simply merges master-maemo-qt-4.5
It simply merges master-maemo-qt-4.5
Line 82: Line 62:
There are some scripts to manage maemo branches or create release pacakge etc.
There are some scripts to manage maemo branches or create release pacakge etc.
-
 
-
== Backporting 4.6 commits to our 4.5 branch ==
 
-
If we need to take some fixes from master 4.6 Qt branch, we have to cherry pick from our master branch to the 4.6-backports and master-qt-4.5 branches.
 
-
 
-
This branch is marked in yellow in the diagram
 
-
 
-
===List of backported changes===
 
-
This list make the backported changes more visible to Maemo Qt application developers.
 
-
 
-
This list is updated every time that the the backport branch is updated.
 
-
 
-
If you are a Maemo Qt developer, please update the the list with the git log output.
 
-
[[Qt_Maemo_backported4.6Commits]]
 
-
 
-
===Request for merging 4.6 changes in Maemo Qt===
 
-
You can request it sending a mail in our ML.
 
-
<br><br>
 
== Maemo fixes ==
== Maemo fixes ==
Line 110: Line 73:
=== hildon-* ===
=== hildon-* ===
Each of these branches contain changes able to integrate Qt in the hildon environment. (Input method, menus, style).
Each of these branches contain changes able to integrate Qt in the hildon environment. (Input method, menus, style).
-
TO FIX: Actually the widget-* branches should be renamed in hildon-widget-*
+
TO FIX: Actually the widget-* branches shoul be renamed in hildon-widget-*
=== hw-* ===
=== hw-* ===
Line 122: Line 85:
The main covered areas are:
The main covered areas are:
-
- maemo-build-*  
+
- maemo-build-*
-
- maemo-qt-scripts
+
- maemo-qt-scripts
-
- others maemo related areas.
+
- others maemo related areas.
-
 
+
-
These branches has been created just to store the changes. We don't need to merge the changes from the 4.5 branch here if is not strictly needed.
+
-
Don't merging upstream changes in these branches make more visible the Maemo changes.
+
-
Then The 4.5 branch WON'T be merged into them to keep them up-to-date.
+
-
The branch will be there and updated with our changes also when the feature is adopted upstream.
+
-
Usually is hard to track dependencies between branches. The Diagram below should explain these dependencies.
+
[[Image:MaemoQtOnGit-Diagram-opt2.jpg]]
[[Image:MaemoQtOnGit-Diagram-opt2.jpg]]
-
 
-
[[Category:Qt]]
 
-
[[Category:Development]]
 

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)

Templates used on this page: