Channels.cfg reference
channels.cfg
is in the master branch of pmaports.git and maps postmarketOS pmaports branches to Alpine Linux aports branches for each release channel.
Example
# Reference: https://postmarketos.org/channels.cfg
[channels.cfg]
recommended=edge
[edge]
description=Rolling release / Most devices / Occasional breakage: https://postmarketos.org/edge
branch_pmaports=master
branch_aports=master
mirrordir_alpine=edge
[v21.06]
description=Latest release / Recommended for best stability
branch_pmaports=v21.06
branch_aports=3.14-stable
mirrordir_alpine=v3.14
[v21.03]
description=Old release (unsupported)
branch_pmaports=v21.03
branch_aports=3.13-stable
mirrordir_alpine=v3.13
Sections
channels.cfg
Metadata that does not belong in a channel section.
Variable | Description | Possibles values |
---|---|---|
recommended
|
What pmbootstrap will recommend to install for new users. This was introduced to have the possibility to let pmbootstrap suggest a stable release instead of edge... but this doesn't make sense anymore, we'll keep it on edge. Reasoning is that now we have pre-built images for stable releases and suggest using them on the download page instead of edge releases. On the other hand, pmbootstrap is for developers so it makes sense there to have the bleeding edge variant by default, where we have more devices. | edge , v21.06 , ...
|
edge, v21.06, ...
Channel sections, each of them maps to one postmarketOS release.
Variable | Description | Possibles values |
---|---|---|
description
|
Text displayed next to the branch in pmbootstrap init . May have hints that a branch is not meant to be used yet.
|
|
branch_pmaports
|
Branch of postmarketOS pmaports.git and postmarketOS binary packages mirror directory name (as found here). | master , v20.05 , ...
|
branch_aports
|
Branch of Alpine Linux aports.git | master , 3.12-stable , ...
|
mirrordir_alpine
|
Alpine binary packages mirror directory name, as found here. (This is referred to as branch in the Alpine releases page, but it is not the same as the aports branch.) | edge , v3.12 , ...
|
Location
pmbootstrap reads the file from the master/origin branch of pmaports.git. This way, it will always use the latest fetched version, even if the last checked out master branch (master without the origin/ infront) is not up-to-date. This is likely to happen if a release branch was checked out, as a git pull
would then only update the reference from the release branch related to origin's release branch, master's reference would not change.
Release branches do not have a copy of the file, this would just require us to needlessly keep them all in sync.
View it with:
$ cd $(pmbootstrap config aports) # change directory to local checkout of pmaports.git
$ git show origin/master:channels.cfg
For development and testing, it is possible to override the path with --config-channels
:
$ pmbootstrap --config-channels /tmp/channels.cfg status
History
In an earlier iteration of the channels.cfg file, the idea was to use stable
, stable-next
and legacy
as channel names. This was changed in #2015. Now the channel names are the same as the release names (edge
, v21.06
, v21.03
, ...).