bpo
Official packages and images for postmarketOS are built with pmbootstrap at build.postmarketos.org, in short bpo.
Find the sourcecode here.
Image configuration
The images to build are configured in bpo/config/const/images.py. Create a merge request if you would like to change it, e.g. to start building images for your device.
Try to make it consistent with existing entries, e.g. by sorting devices alphabetically.
See also the rules for which device categories may have official images.
Adding a new device
To add a new device, add the pretty name to the devices
dict. Then add it to the images
dict, typically like this:
"put-the-device-codename-here": {
"branches": [
"master",
],
"branch_configs": {
"all": {
"ui": [
"console",
],
},
},
},
If you omit a key, the default from branch_config_default
will be used. So if you do not specify the UIs, then as of writing, images will be built for "gnome-mobile", "phosh", "plasma-mobile", "sxmo-de-sway"
.
Please update your device's wiki page to mention that the image is available by adding prebuiltimages=yes
to your device's infobox. (This step is not necessary if your device is in main or community, the template will automatically assume that a pre-built image is available.)
Setting a different interval
As of writing, all images are built weekly. It may make sense in the future to build e.g. testing images less often, if we wanted that we would set date-interval
to something other than 7
.
Displaying device on postmarketos.org/download
The image download table on postmarketos.org is hard-coded, so a patch to postmarketos.org/config/download.py is required before images for a given device show up on the website.