🍌: Difference between revisions

From KDE Community Wiki
(Migrate more stuff)
(Migrate more)
Line 2: Line 2:


{{ Warning | This page serves as a design document, thus information presented here should be considered a snapshot of the ongoing discussion, not final decisions. }}
{{ Warning | This page serves as a design document, thus information presented here should be considered a snapshot of the ongoing discussion, not final decisions. }}
Project page: https://invent.kde.org/sitter/kde-linux
Discussion: https://matrix.to/#/#kdeos:kde.org
Ideas: [[🍌/Obstsalat]]


== Goals ==
== Goals ==
Line 62: Line 56:
DESTDIR=~/kde ninja install && sudo systemctl restart systemd-sysext.service
DESTDIR=~/kde ninja install && sudo systemctl restart systemd-sysext.service
</nowiki>}}
</nowiki>}}
== Communication ==
* [https://go.kde.org/matrix/#/#kdeos:kde.org Matrix room]
* [https://invent.kde.org/sitter/kde-linux/-/issues Gitlab issues]


== Ideas ==
== Ideas ==
See [[🍌/Obstsalat]]
* Automatic QA (openqa? Selenium? quicktest?)
* Automatic QA (openqa? Selenium? quicktest?)
* Human QA tracking (test case management of some sort)
* Human QA tracking (test case management of some sort)

Revision as of 19:23, 20 September 2024

β€œKDE Linux” (codenamed β€œProject Banana”) is a work-in-progress name of a KDE-owned general-purpose Linux distribution proposed at Akademy 2024. Not to be confused with KDE Neon.

Warning

This page serves as a design document, thus information presented here should be considered a snapshot of the ongoing discussion, not final decisions.


Goals

Create a bulletproof OS showcasing the best of KDE that we can proudly recommend to users and OEMs, with a coherent "here's how you get it" story.

  • "The KDE operating system"
  • Quality experience
  • Doesn't break, or at least easy to recover
  • Keeping security in mind
  • No packaging knowledge needed
  • Focus on modern technologies
  • Useful to our users
  • Useful to our hardware partners
  • Useful to our developers

Target audience and use cases

It should have multiple editions suitable for different kinds of users. Ideas:

  • Developer edition: built from git master and released daily, including debugging tools and KDE dev environment. Like Neon Developer.
  • Enthusiast edition: ships released software, and releases to users on upstream KDE's schedule, like Neon User. Additionally, when there are any beta releases, ships the beta.
  • Stable edition: ships only released software on a delayed schedule, based on TBD quality metrics.


updates

systemd-sysext

systemd-sysext allows us to overlay developer content on top of /usr without impacting the base system.

Setup

# create directories
mkdir -p ~/kde/usr/lib/extension-release.d/
# create an extension-release file
cp /usr/lib/os-release ~/kde/usr/lib/extension-release.d/extension-release.kde
# make the ID ignored so updates don't break the extension
sed -i s%^ID=.*%ID=_any%g ~/kde/usr/lib/extension-release.d/extension-release.kde
# owned by root so it can't be removed
sudo chown root:root ~/kde/usr/lib/extension-release.d/extension-release.kde
# enable the extension
sudo mkdir /var/lib/extensions/
sudo ln -s $HOME/kde /var/lib/extensions/kde
sudo systemd-sysext merge
sudo systemd-sysext

Use

Use DESTDIR=~/kde to install stuff and then restart systemd-sysext. Beware that when changing polkit/dbus stuff you also want to restart those services as they don't necessarily pick up changes.

DESTDIR=~/kde ninja install && sudo systemctl restart systemd-sysext.service

Communication

Ideas

See 🍌/Obstsalat

  • Automatic QA (openqa? Selenium? quicktest?)
  • Human QA tracking (test case management of some sort)
  • Health reporting into Sentry to identify bad releases
  • Support sending non-KDE crashes to Sentry
  • Better kde-builder dependency definitions
  • kde-builder to build release tags
  • Explore systemd-homed
  • Secure Boot
  • ARM/RISC-V images?