Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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).
Fetch a new version of specific components
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.
Patch a component
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.
mauibuild make -n build will use your local copy and rebuild the overridden components each time it is executed.
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> 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> 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
More on how to create and apply patches with git here.