Developer Documentation: Difference between revisions
m (git command updates) |
m (Add a See Also section with a link to the git documentation) |
||
Line 88: | Line 88: | ||
If you are making a contribution that is not your work (for example, a patch or library written by someone else), please contact office@proxmox.com for guidance on whether any additional steps are needed. | If you are making a contribution that is not your work (for example, a patch or library written by someone else), please contact office@proxmox.com for guidance on whether any additional steps are needed. | ||
== See Also == | |||
* [https://git-scm.com/documentation Git Documentation] | |||
[[Category: HOWTO]] | [[Category: HOWTO]] |
Revision as of 14:24, 10 October 2016
Introduction
Please coordinate your efforts with us before starting any development. It is important to have a common view of the problem and the corresponding solution – just to avoid duplicated or unnecessary efforts.
We will only include software which matches our quality criteria. The source code repository is read only. To include some code, send it as patch (git diff) to the pve-devel mailing list. We will review your code and commit after a successful review (and possible corrections/addition).
Mailing List
This is the primary communication channel for developers, discussing new features and implementation details. If you are a developer and you want to development additional features, this is the place to start.
PVE Development List: http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
Archive: http://pve.proxmox.com/cgi-bin/mailman/private/pve-devel/
Access to Code Repository (git)
Build instructions
You could find build instruction here :
https://git.proxmox.com/?p=pve-common.git;a=blob_plain;f=README.dev;hb=HEAD
Checking out a git repository
To clone a repository run 'git clone' with the repository name prefixed with the common URL: git://git.proxmox.com/git/
# git clone git://git.proxmox.com/git/pve-manager.git
To update an already cloned project to the current version use:
# git pull
It is recommended to start a feature branch before working on the code locally:
# git checkout -f -b my_branch master
After this you can start working on your improvements. You'll be able to compare your changes to the current PVE master branch easily with
# git diff master..my_branch
Then, make your commit (try to make small commits) :
# git commit -a
When you have finished your modifications, create patches :
# git format-patch -o /tmp/ --signoff master..my_branch
Then send your patchs to pve-devel@pve.proxmox.com (git-email package has to be installed and configured) with a short description in the email body
# git send-email --to=pve-devel@pve.proxmox.com --compose /tmp/00* --subject="What this patch for"
Some hints about formatting your commit messages:
- if closing a bug write it in the first line of the commit log
- limit the first line at 70 chars so headers and reply will fit in 80 characters. Mutt users will thank you.
Proxmox VE 2.0 API Clients
php : https://github.com/CpuID/pve2-api-php-client
perl : http://search.cpan.org/~djzort/Net-Proxmox-VE-0.006/
python: https://github.com/remofritzsche/proxmox-utils
python: https://github.com/Daemonthread/pyproxmox
java: https://github.com/Elbandi/pve2-api-java
nodejs: https://www.npmjs.org/package/proxmox
Bugtracker (bugzilla)
Software License and Copyright
We only include code licensed under GNU Affero General Public License, version 3 http://www.gnu.org/licenses/agpl-3.0.html.
Additionally we ask contributors to send us a contributor license agreement form by email. This agreement establishes a relationship between us and the contributor, gives details on what it means when the contributor grants permission for their work to be included in a project, and enables us to be better stewards of these projects.
With the contributor agreement chosen by Proxmox, the Harmony CLA, the contributor gives Proxmox a license to use their contributions. The contributor continues to own the copyright in the contribution, with full rights to re-use, re-distribute, and continue modifying the contributed code, allowing them to also share that contribution with other projects.
We've tried to keep the agreement as simple and comprehensible as possible. It comes in two flavors, one for individual contributors and one for entities contributors (companies, foundations, or other organizations).
If you are making a contribution that is not your work (for example, a patch or library written by someone else), please contact office@proxmox.com for guidance on whether any additional steps are needed.