mirror of
https://github.com/linux-msm/qdl.git
synced 2026-10-07 06:29:17 -07:00
The README has grown to cover build instructions, a wide range of usage workflows (EDL, WSL2, VIP, multi-programmer targets, crash dumps, kickstart, ...) and the contribution policy in a single file, which makes it long and harder to navigate. Move the contribution documentation - PR workflow, Linux kernel coding style, the checkpatch (check-cached/check-range/check) and markdown-lint targets - into a dedicated CONTRIBUTING.md. GitHub surfaces that file automatically on the new-PR and issue pages, so contributors find the guidance without scrolling through the README. The README keeps a short Contributing section linking to it. No content was changed in the move; only its location. Signed-off-by: Igor Opaniuk <igor.opaniuk@oss.qualcomm.com>
72 lines
2.1 KiB
Markdown
72 lines
2.1 KiB
Markdown
# Contributing
|
|
|
|
Please submit any patches to the qdl (`master` branch) by using the GitHub pull
|
|
request feature. Fork the repo, create a branch, do the work, rebase with upstream,
|
|
and submit the pull request.
|
|
|
|
The preferred coding style for this tool is [Linux kernel coding style](https://www.kernel.org/doc/html/v6.15/process/coding-style.html).
|
|
|
|
Before creating a commit, please ensure that your changes adhere to the coding style
|
|
by using the `meson compile check-cached -C build` target, for example:
|
|
|
|
```bash
|
|
$ git status
|
|
On branch improvements
|
|
Changes to be committed:
|
|
(use "git restore --staged <file>..." to unstage)
|
|
modified: qdl.c
|
|
modified: qdl.h
|
|
|
|
$ meson compile check-cached -C build
|
|
[0/1] Running external command check-cached (wrapped by meson to set env)
|
|
Running checkpatch on staged changes...
|
|
ERROR: trailing whitespace
|
|
#28: FILE: qdl.h:32:
|
|
+^IQDL_DEVICE_USB, $
|
|
|
|
total: 1 errors, 0 warnings, 0 checks, 27 lines checked
|
|
|
|
NOTE: For some of the reported defects, checkpatch may be able to
|
|
mechanically convert to the typical style using --fix or --fix-inplace.
|
|
|
|
NOTE: Whitespace errors detected.
|
|
You may wish to use scripts/cleanpatch or scripts/cleanfile
|
|
|
|
Your patch has style problems, please review.
|
|
```
|
|
|
|
To verify a series of commits the same way the CI does (per-commit, in
|
|
patch mode), use the `check-range` target. It runs checkpatch on every
|
|
commit in `$CHECKPATCH_BASE..$CHECKPATCH_HEAD` (defaulting to
|
|
`origin/master..HEAD`):
|
|
|
|
```bash
|
|
meson compile check-range -C build
|
|
```
|
|
|
|
To restrict the range explicitly, set the environment variables before
|
|
invoking meson:
|
|
|
|
```bash
|
|
CHECKPATCH_BASE=origin/master CHECKPATCH_HEAD=HEAD \
|
|
meson compile check-range -C build
|
|
```
|
|
|
|
The full file-mode check (run against every tracked C/H/sh source) is
|
|
also available:
|
|
|
|
```bash
|
|
meson compile check -C build
|
|
```
|
|
|
|
Markdown sources are linted with
|
|
[mdl](https://github.com/markdownlint/markdownlint). Install it via
|
|
`sudo apt install markdownlint` (or `gem install mdl`) and run:
|
|
|
|
```bash
|
|
meson compile markdown-lint -C build
|
|
```
|
|
|
|
The wrapper script is invoked from the GitHub Actions workflow as well,
|
|
so a green local run reflects what CI will report.
|