Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ jobs:
- debian
- fedora
- opensuse
Comment thread
craftyguy marked this conversation as resolved.
- postmarketos
- ubuntu
tools:
- arch
Expand Down Expand Up @@ -80,6 +81,13 @@ jobs:
tools: opensuse
- distro: ubuntu
tools: opensuse
# apk is not packaged in Debian, Ubuntu, or EPEL.
- distro: postmarketos
tools: centos
- distro: postmarketos
tools: debian
- distro: postmarketos
tools: ubuntu
include:
# low rate limit on s390x/ppc64le/arm64 workers
- distro: debian
Expand All @@ -103,6 +111,10 @@ jobs:
- distro: debian
tools: debian
runner: ubuntu-24.04-s390x
# build pmOS using pmOS tools tree
- distro: postmarketos
tools: postmarketos
runner: ubuntu-24.04

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
Expand Down
9 changes: 6 additions & 3 deletions action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -95,11 +95,14 @@ runs:
- name: Install apk
# ubuntu-24.04 doesn't package apk, so fetch the official statically-linked binary from
# upstream so mkosi can use it to populate the postmarketOS tools tree.
#
# NOTE: apk is dropped into /usr/bin and not /usr/local/bin because later CI
# scripts (like .github/workflows/ci.yml) clean up /usr/local
shell: bash
run: |
sudo curl -fsSL -o /usr/local/bin/apk https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v3.0.6/x86_64/apk.static
echo 'f1489e05bace7d7dd0a687fcd38d50b585ac660af4231668b123649bef3718c4 /usr/local/bin/apk' | sha256sum --check
sudo chmod +x /usr/local/bin/apk
sudo curl -fsSL -o /usr/bin/apk https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v3.0.6/x86_64/apk.static

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You didn't introduce this, but I wonder whether we have a good way of good way of keeping this up to date.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The best idea I have is to use the gitlab API to get the latest release of apk-tools, get the checksum for it, then download/verify the apk.static binary for x86_64. the API is json, so it would be a handful of curl | jq lines.

If that seems like an OK approach, I can take a shot at implementing it

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be lovely, but that's for a later PR.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok I gave it a go over here: #4364

echo 'f1489e05bace7d7dd0a687fcd38d50b585ac660af4231668b123649bef3718c4 /usr/bin/apk' | sha256sum --check
sudo chmod +x /usr/bin/apk

- name: Dependencies
shell: bash
Expand Down
2 changes: 2 additions & 0 deletions mkosi.conf.d/postmarketos.conf
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ Distribution=postmarketos

[Content]
Packages=
grub
grub-efi
openssh-server
openssh-server-pam-systemd

Expand Down
1 change: 1 addition & 0 deletions mkosi.tools.conf/mkosi.conf.d/postmarketos.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ Distribution=postmarketos
[Content]
Packages=
py3-codespell
py3-pytest
Comment thread
craftyguy marked this conversation as resolved.
ruff
2 changes: 2 additions & 0 deletions mkosi/resources/mkosi-initrd/mkosi.conf.d/postmarketos.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ Distribution=postmarketos
[Content]
Packages=
cryptsetup-libs
device-mapper
kbd
libseccomp
util-linux
util-linux-login

# systemd-repart dependency
libfdisk
12 changes: 10 additions & 2 deletions mkosi/resources/mkosi-tools/mkosi.conf.d/postmarketos.conf
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,22 @@ Packages=
abuild
apk-tools
btrfs-progs
cryptsetup
distribution-gpg-keys
erofs-utils
# NOTE: grub disabled because package trigger fails
# grub
grub
grub-efi
libfido2
libseccomp
p11-kit
sbsigntool
sfdisk
squashfs-tools
ukify
xz

# These replace the busybox applets, which don't support the full set of
# features that mkosi needs
losetup
mount
umount
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Distribution=arch

[Content]
Packages=
apk-tools
apt
debian-archive-keyring
createrepo_c
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ Distribution=opensuse

[Content]
Packages=
apk-tools
dnf5
dnf5-plugins
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Distribution=postmarketos
[Content]
Packages=
apt
archlinux-keyring
Comment thread
behrmann marked this conversation as resolved.
pacman
debian-archive-keyring
ubuntu-archive-keyring
1 change: 1 addition & 0 deletions mkosi/resources/mkosi-vm/mkosi.conf.d/postmarketos.conf
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Packages=
postmarketos-base
postmarketos-base-systemd
systemd-boot
systemd-efistub
systemd-networkd
systemd-udevd
tpm2-tools
Loading