Because I always forget, here’s a reminder to myself.
Make your changes on an up-to-date branch from Buildroot master
git checkout -b package/foobar git fetch --all --tags git rebase origin/master
Use logical commits; upgrade package as one, changing/extending behavior as another, etc.
Use commit messages to record why changes are made. The first line is usally a (very) brief summary referencing the sub-system:
package/foobar: bump version to v1.2.3 Signed-off-by: Your Name <email@example.com>
Verify formatting of package files; .in, .mk, etc.
Test your package/change with a set of cross-compilation toolchains. The
.configfile is a menuconfig snippet enabling the package to test:
./utils/test-pkg -c foobar.config -p foobar
Format your patches, with the optional
--cover-letter, very useful to explain a series of patches:
git format-patch --cover-letter -M -n -s -o outgoing origin/master
Figure out DEVELOPERS to Cc in your correspondence to the mailing list:
At the very least, the following should be output:
git send-email --to firstname.lastname@example.org --cc "Your Name <email@example.com>"