Workflow

Pier Luigi Fiorini edited this page Aug 11, 2013 · 2 revisions

Introduction

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.

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.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.