Changes

3,784 bytes added ,  11:50, 17 January 2013
draft
How to submit patches into the CRIU
===================================


Obtaining the source code
-------------------------

The CRIU sources are tracked by Git SCM at http://git.criu.org
repository. You either could download packed sources or use git
tool itself.

For example to clone crtools one need to type

git clone git://git.criu.org/crtools.git


Changing the source code
------------------------

When you change the source code keep in mind -- we prefer tabs and
indentations to be 8 characters width.

Other "rules" could be learned from the source code -- just make your code
to look similar.


Producing a patch
-----------------

There are at least two ways to make it right.

1) git format-patch

You might need to read documentation on Git SCM how to prepare patch
for mail submission. Take a look on http://book.git-scm.com/ and/or
http://git-scm.com/documentation for details. It should not be hard
at all.

2) Use "diff -up"

Use "diff -up" or "diff -uprN" to create patches.


Signing your work
-----------------

To improve tracking of who did what we've introduced a "sign-off" procedure
on patches that are being emailed around.

The sign-off is a simple line at the end of the explanation for the
patch, which certifies that you wrote it or otherwise have the right to
pass it on as a open-source patch. The rules are pretty simple: if you
can certify the below:

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or

(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or

(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.

(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

then you just add a line saying

Signed-off-by: Random J Developer <random at developer.example.org>

using your real name (please, no pseudonyms or anonymous contributions if
it possible)


An example of patch message
---------------------------

From: Random J Developer <random at developer.example.org>
Subject: [PATCH] Short patch description

Long patch description (could be skipped if patch
is trivial enough)

Signed-off-by: Random J Developer <random at developer.example.org>
---
Patch body here


Mailing patches
---------------

The patches should be sent to CRIU development mailing list
which is located at https://openvz.org/mailman/listinfo/criu

Please make sure the email client you're using doesn't screw
your patch (line wrapping and so on).


Wait for response
-----------------

Be patient. Most CRIU developers are pretty busy people so if
there is no immediate response on your patch -- don't be surprised,
sometimes a patch may fly around a week(s) before it get reviewed.
But definitely the patches will not go to /dev/null.

---
With best regards,
CRIU-team