Skip to content

Draft: Initial systemd support

Caleb Connolly requested to merge systemd into systemd-prep

UPDATE 2024-04-28 by ollieparanoid: make merge requests to master_staging_systemd instead of this branch now! See https://wiki.postmarketos.org/wiki/Systemd for usage. Most things that are open discussion threads here can probably be fixed on that branch instead.

previous description:

This MR introduces a new systemd subdirectory with the necessary packages to build postmarketOS images using the systemd init system and GNOME mobile UI.

See #2632 (closed) for additional context.

Main issues:

  • Bootstrapping locally is a bit finnicky. Binary repo will fix this.
  • The gnome-mobile and mutter-mobile packages are currently moved from temp/ to systemd/, as pmbootstrap can't handle multiple versions.
  • We need to adjust pmbootstrap to ignore the systemd/ subdirectory unless building with systemd enabled to keep the systemd packages isolated.
  • When the binary repo is available, pmbootstrap should automatically add it to chroots iff systemd support is enabled.

Pushing to this MR

To keep things organised, this MR actually targets the systemd-prep branch (!4956), this way the commits from there don't show up in this MR as well. This sounds like a rebasing nightmare but it's actually quite simple with rebase.updateRefs, for those unfamiliar it works like this:

  1. do git config rebase.updateRefs true
  2. checkout the systemd-prep branch and git pull
  3. checkout the systemd branch and git pull
  4. do all your changes on the systemd branch, make fixup commits and do an interactive rebase against master
  5. push both branch when done

When doing the interactive rebase you'll see a new update-ref line, this tells git to update the ref that the systemd-prep branch name refers to. So in this way the two branches will remain in-sync and we don't have commits duplicated across MRs.

Edited by Oliver Smith

Merge request reports