README 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. Pixman is a library that provides low-level pixel manipulation
  2. features such as image compositing and trapezoid rasterization.
  3. Questions, bug reports and patches should be directed to the pixman
  4. mailing list:
  5. http://lists.freedesktop.org/mailman/listinfo/pixman
  6. You can also file bugs at
  7. https://bugs.freedesktop.org/enter_bug.cgi?product=pixman
  8. For real time discussions about pixman, feel free to join the IRC
  9. channels #cairo and #xorg-devel on the FreeNode IRC network.
  10. Contributing
  11. ------------
  12. In order to contribute to pixman, you will need a working knowledge of
  13. the git version control system. For a quick getting started guide,
  14. there is the "Everyday Git With 20 Commands Or So guide"
  15. http://www.kernel.org/pub/software/scm/git/docs/everyday.html
  16. from the Git homepage. For more in depth git documentation, see the
  17. resources on the Git community documentation page:
  18. http://git-scm.com/documentation
  19. Pixman uses the infrastructure from the freedesktop.org umbrella
  20. project. For instructions about how to use the git service on
  21. freedesktop.org, see:
  22. http://www.freedesktop.org/wiki/Infrastructure/git/Developers
  23. The Pixman master repository can be found at:
  24. git://anongit.freedesktop.org/git/pixman
  25. and browsed on the web here:
  26. http://cgit.freedesktop.org/pixman/
  27. Sending patches
  28. ---------------
  29. The general workflow for sending patches is to first make sure that
  30. git can send mail on your system. Then,
  31. - create a branch off of master in your local git repository
  32. - make your changes as one or more commits
  33. - use the
  34. git send-email
  35. command to send the patch series to pixman@lists.freedesktop.org.
  36. In order for your patches to be accepted, please consider the
  37. following guidelines:
  38. - This link:
  39. http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#patch-series
  40. describes how what a good patch series is, and to create one with
  41. git.
  42. - At each point in the series, pixman should compile and the test
  43. suite should pass.
  44. The exception here is if you are changing the test suite to
  45. demonstrate a bug. In this case, make one commit that makes the
  46. test suite fail due to the bug, and then another commit that fixes
  47. the bug.
  48. You can run the test suite with
  49. make check
  50. It will take around two minutes to run on a modern PC.
  51. - Follow the coding style described in the CODING_STYLE file
  52. - For bug fixes, include an update to the test suite to make sure
  53. the bug doesn't reappear.
  54. - For new features, add tests of the feature to the test
  55. suite. Also, add a program demonstrating the new feature to the
  56. demos/ directory.
  57. - Write descriptive commit messages. Useful information to include:
  58. - Benchmark results, before and after
  59. - Description of the bug that was fixed
  60. - Detailed rationale for any new API
  61. - Alternative approaches that were rejected (and why they
  62. don't work)
  63. - If review comments were incorporated, a brief version
  64. history describing what those changes were.
  65. - For big patch series, send an introductory email with an overall
  66. description of the patch series, including benchmarks and
  67. motivation. Each commit message should still be descriptive and
  68. include enough information to understand why this particular commit
  69. was necessary.
  70. Pixman has high standards for code quality and so almost everybody
  71. should expect to have the first versions of their patches rejected.
  72. If you think that the reviewers are wrong about something, or that the
  73. guidelines above are wrong, feel free to discuss the issue on the
  74. list. The purpose of the guidelines and code review is to ensure high
  75. code quality; it is not an exercise in compliance.