Contributing to WirePlumber
Coding style
WirePlumber uses the GNOME C Coding Style with K&R brace placement and 2-space indentation, similar to GStreamer’s Coding Style. When in doubt, just follow the example of the existing code.
WirePlumber ships with a editorconfig file. If your code editor / IDE supports this, it should automatically set up the indentation settings.
Important
When submitting changes for review, please ensure that the coding style of the changes respects the coding style of the project.
Tests
See Testing
Running in gdb / valgrind / etc…
The Makefile included with WirePlumber supports the gdb
and valgrind
targets. So, instead of make run
you can do make gdb
or
make valgrind
to do some debugging.
You can also run in any other wrapper by setting the DBG
variable
on make run
. For example:
$ make run DBG="strace"
You may also use wp-uninstalled.sh
directly as a wrapper to set up the
environment and then execute any command. For example:
$ ./wp-uninstalled.sh gdb --args wpctl status
Merge requests
In order to submit changes to the project, you should create a merge request. To do this,
fork the project on https://gitlab.freedesktop.org/pipewire/wireplumber
clone the forked project on your computer
make changes in a new git branch
rebase your changes on top of the latest
master
of the main repositorypush that branch on the forked repository
follow the link shown by
git push
to create the merge request (or alternatively, visit your forked repository on gitlab and create it from there)
Important
While creating the merge request, it is important to enable the allow commits from members who can merge to the target branch option so that maintainers are able to rebase your branch, since WirePlumber uses a fast-forward merge policy.
For more detailed information, check out gitlab’s manual on merge requests