This document defines policy for organising and titling commits for inclusion in pmaports.
A device-specific package is used to apply configuration and functionality specifically for device support in postmarketOS. This is in contrast to other packages (e.g. main/postmarketos-ui-phosh) in postmarketOS that are used for configuring the distribution without consideration of the target device.
We follow Alpine's aports commit style with some minor exceptions and additions. Alpine's commit style can be found here: https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/COMMITSTYLE.md
While Alpine has the policy of always prefixing package names with the name of the repository they are in, in the case of pmaports this can lead to excessively long commit titles due to the nested subfolders of the device directory. As such, commits changing packages inside of the device directory should omit the directory prefix, for example:
device-pine64-pinephone: description of change
Or:
soc-qcom-msm8996: description of change
If the commit only makes device-specific changes, the commit title can opt to use the following format:
manufacturer-codename: description of change
As we do not include directory prefixes in device-related commits, Alpine's commit style for moving packages does not apply. Instead, we do the following:
manufacturer-codename: move from category to category
For example:
samsung-m0: move from testing to community
Run pmbootstrap aportgen --fork-alpine package
and modify it.
- temp/package-name: fork from Alpine
Example: temp/pulseaudio: fork from Alpine
One commit per forked package.
Adding a new device package and optionally also a device-specific Linux and firmware package.
- manufacturer-codename: new device
Example: htc-m8qlul: new device
If the device has the option of making use of a device-specific kernel and/or firmware package, those packages should be included in the same commit that adds the device package. One device per commit.