-
Notifications
You must be signed in to change notification settings - Fork 7
Workflow
This little document contains instructions on how to perform the most common tasks.
We assume that you have already built a system image following this guide, this means that most of the time paths in the following examples were previously seen in the guide (for example we assume that you created ~/git and cloned the manifest repository there).
If you want to fetch a new version of some specific components use the mauibuild make -n resolve
command.
For example if you want to fetch all the Qt modules:
mauibuild make -n resolve -- --fetch qtbase qtjsbackend qtxmlpatterns qtdeclarative qtjsondb qtgraphicaleffects qtimageformats qtmultimedia qtsvg qttools qtpim qt3d qtconnectivity qtlocation qtsensors qtwayland qtscript qtquick1 qt-creator
The resolve task will automatically start the build task if there were updates to the components. The build task will in turns run other tasks afterwards: bdiff, builddisks, zdisks.
See How to build an image for more information.
For starters, create the root directory for all components overrides:
mkdir -p ~/mauibuildwork/overrides/components
Enter the directory you just created, checkout the sources and apply any patch listed in your manifest.json
. Now enter the checkout directory and make your changes.
Running mauibuild make -n build
will use your local copy and rebuild the overridden components each time it is executed.
Now git commit
your work, if you need to do it multiple times remember to amend the last commit if your changes are supposed to be in the very same patch, otherwise make separate commits.
With the command below, every local commit you made will turn into a patch:
git format-patch -1 -s
You might also want to use a particular subject if you plan to send the patch upstream:
git format-patch -1 -s --subject-prefix='PATCH][BUILD'
Patch names will be in this format: <NUMBER>-<SUMMARY>.patch
, where <NUMBER>
is an incremental number and <SUMMARY>
is the first line of the commit message.
Patches in the maui
repository are accepted only with this naming convention: <component-name>-<slug>.patch
, where <component-name>
is the component name and <slug>
is a shorter representation of the summary, all lowercase with spaces replaced by dash.
Now copy the patches to ~/git/maui/patches, git add
them, and add them to the manifest file in the appropriate component's patches
entry.
More on how to create and apply patches with git here.