Editing How to submit patches

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
{{Virtuozzo}}
+
{{Stub}}
  
<translate>
 
<!--T:1-->
 
* [[Kernel patches]]
 
* [[Userspace patches]]
 
* [[Best practices for development of EZ templates]]
 
  
== Wait for response == <!--T:2-->
+
== Setting up working enviroment ==
 +
 
 +
=== Obtaining the source code ===
 +
 
 +
The OpenVZ sources are tracked by Git SCM and placed on http://git.openvz.org
 +
repository. You either could download packed sources or use git tool itself.
 +
 
 +
For example to clone vzctl one need to type
 +
 
 +
        git clone git://git.openvz.org/vzctl.git
 +
 
 +
 
 +
=== Compiling the source code ===
 +
 
 +
{{FIXME|describe how to compile OpenVZ components}}
 +
 
 +
 
 +
== Changing the source code ==
 +
 
 +
=== Kernel ===
 +
 
 +
When you change the source code keep in mind - we prefer tabs and indentations
 +
to be 8 characters width. Consider reading [https://www.kernel.org/doc/Documentation/CodingStyle Linux kernel coding style].
 +
 
 +
Other "rules" could be learned from the source code - just make your code
 +
to look similar.
 +
 
 +
=== Userspace ===
 +
 
 +
{{FIXME|describe code style}}
 +
 
 +
 
 +
== Producing a patch ==
 +
 
 +
=== Kernel ===
 +
 
 +
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 <code>diff -up</code> or <code>diff -uprN</code> to create patches.
 +
 
 +
 
 +
=== Userspace ===
 +
 
 +
{{FIXME|describe preparing patch}}
 +
 
 +
 
 +
== Checking patches for errors ==
 +
 
 +
=== Kernel ===
 +
 
 +
Basic style error checking is provided by scripts/checkpatch.pl script
 +
from linux kernel source tree. You might have headers or complete sources
 +
of linux kernel at /usr/src/. Run
 +
 
 +
        checkpatch.pl my_patch.patch (consider --no-tree option for headers-only)
 +
 
 +
It will produce detailed report on style problems in your patch.
 +
Make sure to fix all _errors_(some warnings may be ignored).
 +
 
 +
 
 +
=== Userspace ===
 +
 
 +
Several of our components contains tests. To check whether your patches don't harm anything run:
 +
 
 +
        make test
 +
 
 +
It will launch tests. Check for error messages produced by it.
 +
 
 +
== Sending patches ==
 +
 
 +
=== Kernel ===
 +
 
 +
Patches related to kernel should be sent to development mailing list devel@openvz.org
 +
which is located at https://openvz.org/mailman/listinfo/devel. Pay attention that mails
 +
from emails not subscribed to list must pass moderation (i.e. not so fast).
 +
 
 +
Please make sure the email client you're using doesn't screw your patch
 +
(line wrapping and so on).
 +
 
 +
=== Userspace ===
 +
 
 +
Patches related to userspace tools should be submitted to code review system (FIXME).
 +
 
 +
 
 +
== Wait for response ==
  
<!--T:3-->
 
 
Be patient. Most OpenVZ developers are pretty busy people so if
 
Be patient. Most OpenVZ developers are pretty busy people so if
 
there is no immediate response on your patch - don't be surprised,
 
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.
 
sometimes a patch may fly around a week(s) before it get reviewed.
 
But definitely the patches will not go to <code>/dev/null</code>.
 
But definitely the patches will not go to <code>/dev/null</code>.
 
== External links == <!--T:4-->
 
 
<!--T:5-->
 
* [[OpenVZ_infrastructure#Code|OpenVZ source code]]
 
</translate>
 
  
 
[[Category:Development]]
 
[[Category:Development]]
[[Category:Contributions]]
 
[[Category:Virtuozzo]]
 

Please note that all contributions to OpenVZ Virtuozzo Containers Wiki may be edited, altered, or removed by other contributors. If you don't want your writing to be edited mercilessly, then don't submit it here.
If you are going to add external links to an article, read the External links policy first!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Template used on this page: