Patchwork

From Openembedded.org
Jump to navigation Jump to search

Patchwork is a web-based patch tracking system designed to facilitate the contribution and management of contributions to an open-source project.

The URL for OpenEmbedded’s Patchwork installation is http://patches.openembedded.org. The installation is also accessible by the link in the navigation bar under oe services.

Apply patches

To apply a patch from the patchwork queue using Git, download the mbox file and apply it using

git am < file

If the submitter of the patch has not written the Subject of the email according to the OpenEmbedded policy for commit messages, then use

git commit --amend

to edit the commit message before you push.

You could also use the script in contrib/patchwork/pw-am.sh this script will fetch an 'mbox' patch from patchwork and git am it

usage: pw-am.sh <number1> <number2> ...
example: 'pw-am.sh 12 13' will get the patch from http://patchwork.openembedded.org/patch/12/ 
and http://patches.openembedded.org/patch/13/

It is desirable to update the state of the patch in the patch queue. This could also be added to the script.

Multiple layers sharing the same oe project on patchwork

http://patchwork.openembedded.org/project/oe/list/ is populated from openembedded-devel ML and shared by multiple projects, each project usually defines prefix which should be used when sending patches to ML ([meta-layer-name] tag should be used).

In order to keep main page clean, patches are split to multiple bundles, current list is: 2011.03-maintenance danny daisy dizzy denzil master-next meta-browser meta-efl meta-filesystems meta-fsl-arm meta-gumstix meta-handheld meta-initramfs meta-java meta-kde meta-networking meta-opie meta-perl meta-python meta-qt3 meta-qt5 meta-systemd meta-webserver oe-classic-lic oe-classic

master-next bundle is used for meta-efl meta-gnome meta-gpe meta-multimedia meta-oe meta-ruby meta-systemd meta-xfce changes when they are moved to jenkins build for verification build (meta-oe-contrib/jansa/master branch).

When some patch is moved to bundle it's archive status is set to archived, but state is still "New". That's why you need to change default filter to see archived patches in bundles.

Update the state of patches

You have to register to be able to update the state of patches. You can use the Web interface or `pwclient`.

pwclient

`pwclient` can be used for example to retrieve patches, search the queue or update the state.

All necessary information for `pwclient` is linked from the bottom of http://patchwork.openembedded.org/project/oe/. Use

./pwclient help

for an overview on how to use it.