|
| 1 | +# Contributing to Winetricks |
| 2 | + |
| 3 | +## License |
| 4 | + |
| 5 | +Winetricks is licensed under the LGPL 2.1 or later. Sending a pull request indicates your willingness to license your contribution under this license. |
| 6 | + |
| 7 | +## Coding standards |
| 8 | +* Documented at top of ```src/winetricks``` |
| 9 | +* POSIX shell, no bash (maintainer's scripts can be python/bash) |
| 10 | +* If something is unclear, ask |
| 11 | + |
| 12 | +## Making a patch: |
| 13 | +* Check out the source: ```git clone [email protected]:Winetricks/winetricks.git``` |
| 14 | +* Hack the source: ```vi src/winetricks``` |
| 15 | +* Test it: |
| 16 | + * Ideally, Winetricks should work under any Wine version. In practice, testing against the current development and stable versions is sufficient. |
| 17 | + * If a bug is only present in some Wine versions, w_workaround_bug() should be used |
| 18 | + * ```./src/winetricks -q -v foo``` |
| 19 | + * ```./tests/shell-checks```: MUST pass (Travis CI verifies) |
| 20 | + * This tool uses checkbashisms (package `devscripts` on Debian-based distributions) and [ShellCheck](https://github.com/koalaman/shellcheck) |
| 21 | + * If ShellCheck fails, see [ShellCheck wiki](https://github.com/koalaman/shellcheck/wiki) and fix/[ignore](https://github.com/koalaman/shellcheck/wiki/Ignore) the error(s) |
| 22 | + * Detailed error information is available in the wiki (e.g. [SC2154](https://github.com/koalaman/shellcheck/wiki/SC2154)) |
| 23 | + * ```./tests/winetricks-test check```: optional but recommended, if you have the time and hard drive space this should be run |
| 24 | + |
| 25 | +## Sending your patch: |
| 26 | +* Commit: |
| 27 | + * Commit should start with component affected, or misc/winetricks if generic, followed by a short summary: |
| 28 | + ```git commit -a -m 'vcrun2005: fix a typo'``` |
| 29 | + * If you add a new verb, use the format: `verb_name: new verb(, description...)` |
| 30 | + * Extended git logs are okay if more explanation is needed |
| 31 | +* Send PR: https://github.com/Winetricks/winetricks/compare/ |
| 32 | +* If you are asked for changes: |
| 33 | + * Edit the source/commit as appropriate: ```vi src/winetricks``` / ```git commit --amend -a``` |
| 34 | + * Force push ```git push -f your_org your_repo``` |
| 35 | + * Github will automatically update the Pull Request, but it WON'T send a notification. |
| 36 | + * Make sure to comment/tag maintainer so he knows there's been an update |
| 37 | + |
| 38 | +## Bug reports: |
| 39 | +* Bug reports must contain, at a minimum: |
| 40 | + * The winetricks version (printed at top of stdout, or use ```winetricks --version```) |
| 41 | + * The wine version used (```wine --version```) |
| 42 | + * The failing command (```winetricks foobar```) |
| 43 | + * The terminal output, preferably as a ```.txt``` attachment |
| 44 | + * Bug reports lacking this information may be closed without warning |
| 45 | + |
| 46 | +* Feature requests should provide as much detail as possible, along with the tested Winetricks version |
0 commit comments