2.3 KiB
Policy for commits in pmaports
This document defines policy for organising and titling commits for inclusion in pmaports.
Definitions
Device-specific package
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.
General policy
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
Exceptions
Changes to packages inside of the device directory
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
Moving devices between categories
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
Additions
Forking packages from Alpine
Run pmbootstrap aportgen --fork-alpine package
and modify it.
Template
- temp/package-name: fork from Alpine
Example: temp/pulseaudio: fork from Alpine
Rules
One commit per forked package.
Adding new devices
Adding a new device package and optionally also a device-specific Linux and firmware package.
Template
- manufacturer-codename: new device
Example: htc-m8qlul: new device
Rules
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.