1230 Commits

Author SHA1 Message Date
Philip Grant
439c5c9642 Handle addons in install-new-flatpaks 2026-07-28 17:30:04 +00:00
Hadi Chokr
81c5a33240 Ship /live as its own erofs partition on the ISO
Part of #578
2026-07-28 15:59:53 +02:00
Hadi Chokr
bacedb9c51 Enable Modem Manager ootb for Mobile broadband
Closes #725
2026-07-27 14:36:40 +02:00
Thomas Duckworth
ab8a95f098 Download JUnit XML from openQA pipeline for test reports
Downloads the JUnit XML artifacts from the downstream openQA jobs,
then names them according to their test flow, collecting them as a
test report so we can have a nice summary in merge requests.
2026-07-27 18:53:01 +10:00
l10n daemon script
93df0052c0 GIT_SILENT made messages (after extraction) 2026-07-27 00:43:23 +00:00
l10n daemon script
ebfe8d99b4 GIT_SILENT Sync po/docbooks with svn 2026-07-26 01:43:46 +00:00
Paul Brown
01d478e7be Revert "Adding an option that allows the user to name their extensions"
This reverts commit d2c98e6599
2026-07-25 13:55:40 +00:00
Paul Brown
d2c98e6599 Adding an option that allows the user to name their extensions
With these modifications, the user can name their extensions whatever they want, or even have several extensions operating at the same time.
2026-07-25 15:06:29 +02:00
Harald Sitter
c915b81b12 expand gitignore with some buildstream things
we don't have buildstream in master yet, but it's annoying to see the
bst stuff light up when switching branches
2026-07-24 22:39:29 +02:00
Nate Graham
81e70516ae Remove union build override
BUILD_OUTPUT_QTWIDGETS is on by default now.
2026-07-23 08:04:53 -06:00
Harald Sitter
933211f7a9 install the linux-headers so dkms works
this is actually pretty important because otherwise the user can't build their own modules.
2026-07-21 21:02:08 +02:00
Thomas Duckworth
51c0706ceb Stage to ci-artifacts, again
Should work now that we have the permissions.

See 46aee53994
2026-07-18 21:28:56 +10:00
Philip Grant
ba721e59c7 Avoid flatpak-modify on a remote that may not yet exist 2026-07-17 11:12:51 +01:00
Nate Graham
59b79e4095 Disable unnecessary NVIDIA systemd services
Ever since version 595 of the drivers, these have been unnecessary.

Resolves #697
2026-07-16 09:23:36 -04:00
Harald Sitter
5e3ecb9fca pull buildstream into the base image
avoids us having to install it ad-hoc all over the place
2026-07-15 14:32:53 +00:00
Philip Grant
54e32a7799 No need for DefaultDependencies=no in the Flatpak install service, since it's no longer at early boot 2026-07-13 21:37:08 +00:00
Philip Grant
1127189215 Don't attempt to sideload Flatpak apps from /usr/share/factory, always use the network. Sequence the installer service after network-online.target. 2026-07-13 21:37:08 +00:00
Philip Grant
34456aea33 Maintain a list of all Flatpak apps ever successfully preinstalled on the system, and use it to avoid reinstalling user-deleted apps. 2026-07-13 21:37:08 +00:00
Nate Graham
a6672bee0d Add new Flatpak repos if necessary while pre-installing new factory apps
We were trying to install them but not actually adding their custom
repos! Do that so the installation can work.

Fixes #648
2026-07-13 21:37:08 +00:00
Nate Graham
23046da724 Enable kde-linux-install-new-flatpak-apps.service properly
It wasn't getting enabled because it lacked an [Installed] section. But
we can also turn it on in a different way, by shipping a symlink in
/usr, which also acts as a proper factory default.
2026-07-13 21:37:08 +00:00
Prajna Sariputra
6d073eb6ca Pre-install vulkan-virtio
This enables hardware accelerated Vulkan in VMs that support it.
2026-07-09 19:04:52 -04:00
Thomas Duckworth
bbbb591f45 Use socket-activated CUPS
Switch CUPS to socket/path activation so it's started
on demand instead of running constantly and sipping power.
2026-07-09 13:28:48 +10:00
WenChao Zhang
f5c3d77087 Restore IPsec ESP modules
Dirty Frag has been fixed upstream:
- xfrm-ESP Page-Cache Write (CVE-2026-43284) was patched in mainline f4c50a4034e6
- RxRPC Page-Cache Write (CVE-2026-43500) was patched in mainline aa54b1d27fe0

Reference: https://github.com/V4bel/dirtyfrag

Fixes #673

This reverts commit 486cf7bc9f.
2026-07-08 11:51:25 -04:00
Harald Sitter
95bf2d8917 boostrap lzip for buildstream's gettext element 2026-07-07 15:51:59 +02:00
Thomas Duckworth
630ff954a7 Revert "Stage to ci-artifacts per-pipeline"
This reverts commit b4b388cbfd
2026-07-07 19:19:40 +10:00
Thomas Duckworth
b4b388cbfd Stage to ci-artifacts per-pipeline
This should be authenticated, and leverages a 3-day lifecycle rule that
deletes stale staged images.
2026-07-07 00:59:12 +10:00
Nate Graham
63fd5b328b Disable all watchdogs and blacklist their kernel modules
We don't need a watchdog for normal desktop use cases. Expressing that
intention, we had already set kernel.nmi_watchdog = 0 to disable the
kernel panic watchdog.

We can go further and instead use the "nowatchdog" kernel parameter to
disable *all* of them, and then additionally blacklist their kernel
modules. This should have a very slightly positive impact on battery
life and boot/shutdown times.
2026-07-06 14:33:18 +10:00
Thomas Duckworth
511d6dcceb Implement single-prompt auth, POSIX sh compliance
Ensure users are only faced with one polkit prompt when running certain
commands, and ensure they use POSIX sh function syntax, not bash, as the
shebang is for /bin/sh.
2026-07-06 13:47:49 +10:00
Hadi Chokr
d62895ee19 Harden the kernel via sysctl
Thanks secureblue!

Related to https://invent.kde.org/kde-linux/kde-linux/-/work_items/660
2026-07-06 13:46:22 +10:00
l10n daemon script
63e08bf2cc GIT_SILENT made messages (after extraction) 2026-07-06 00:43:22 +00:00
Thomas Duckworth
c736a64956 Stage to the kde-linux bucket instead
It doesn't seem to have permissions to download
from the ci-artifacts bucket.
2026-07-04 23:42:58 +10:00
Thomas Duckworth
57cb1b403f Stage to ci-artifacts bucket rather than kde-linux
Clean up the paths a bit and leverage the pre-existing 3 day
lifecycle rule in ci-artifacts that will delete stale artifacts.

Implement support for transfers between buckets in publisher, with
explicit source and destination URLs.
2026-07-04 22:06:07 +10:00
David Fundament
2c7b24dc4b Fix premature script exit caused by USB devices without a product name
Adds error handling for USB devices that do not have a product name or power
control, so the script doesn't prematurely fail.
2026-07-04 16:50:26 +10:00
Thomas Duckworth
f0474789fd Revert erroneous commits
Made a mistake when trying to manually rebase the fork.
2026-07-04 16:30:35 +10:00
David Fundament
6920aa777e Fix premature script exit caused by USB devices without a product name 2026-07-04 16:24:54 +10:00
David Fundament
ebe9605402 Fix premature script exit caused by USB devices without a product name 2026-07-04 16:24:54 +10:00
Thomas Duckworth
02c0b9ff76 Set the manual publish stage as optional
This makes CI green and lets the pipelines finish if publish-manual
is never run. Also be explicit that the publish job should never show up
outside of a protected branch in kde-linux/kde-linux.
2026-07-04 03:02:36 +00:00
Bhushan Shah
9a46a0ec07 upload: fix permissions for uploaded files 2026-07-03 19:51:15 +05:30
Thomas Duckworth
8748d74db0 Ensure publishing is safe
Ensures we can't have two publish jobs running at the same time that
point to the same staging directory. Also ensures that publish will
immediately exit if there's nothing to stage, so we aren't vacuuming
prematurely.
2026-07-03 13:14:37 +00:00
Thomas Duckworth
bf2ee1f78c Add a manual publish override when OpenQA is borked
Allows us to publish an image anyway even if OpenQA fails/something breaks.
2026-07-03 12:48:07 +00:00
Thomas Duckworth
63a164f975 Explicitly set an empty sysupdate pubkey in staging
Otherwise we end up passing the literal string $SYSUPDATE_PUBKEY_B64, the openQA worker tries to decode it, and it dies.
2026-07-03 10:57:40 +00:00
Thomas Duckworth
df6899e791 Fix secure file download for image staging
Download secure files before staging builds, so mkosi can embed the
public key into the image again, and so it can import the public key for
us. Also explicitly create the GPG homedir again and import the public
key in the publish step because mkosi won't have created it there.
2026-07-03 10:29:33 +00:00
Thomas Duckworth
cfc528f6d0 Reintroduce OpenQA testing
Integrates OpenQA image testing into CI.

Builds images once in the imaging job, then passes the resulting image and
update channel to the OpenQA pipeline in kde-linux/os-autoinst-distri-kdelinux.

For regular test builds, upload the built ISO and a temporary sysupdate tree
to ci-artifacts on storage.kde.org. The resulting IMAGE_URL, STAGING_CHANNEL_URL
and ephemeral update signing key are exported through the imaging job dotenv
artifact so OpenQA can boot the image and run upgrade tests against the build
under test.

For protected default-branch builds, stage the release artifacts under a
per-job staging prefix in the kde-linux bucket. OpenQA tests the staged ISO
and sysupdate channel before the publish job is allowed to run.

Publishing downloads the staged artifacts, uploads the public ISO/torrent and
sysupdate assets to files.kde.org, chunks and uploads the root to the desync
chunk store, then merges the staged S3 tree into the live tree on the bucket
and regenerates the published SHA256SUMS.
2026-07-03 04:57:34 +00:00
Niko Dunk
231d8edcef right-align all buttons in Calamares' FooterBar.qml
(incl. Cancel and Done) like Kubuntu does.
2026-07-02 19:35:27 +10:00
Thomas Duckworth
65342325d7 Use recommended link format for Firefox policy
This is the format recommended in https://firefox-admin-docs.mozilla.org/reference/policies/extensionsettings/ - we should use it.
2026-07-02 08:54:42 +00:00
Thomas Duckworth
bf58359332 Port to ExtensionSettings policy for PBI
OpenQA found a bug! With the latest version of Firefox, our current extensions policy leaves Plasma Browser Integration disabled. Use the better-supported ExtensionSettings instead, which allows us to enable it. See https://firefox-admin-docs.mozilla.org/reference/policies/extensionsettings/
2026-06-30 23:46:41 +10:00
Felipe Araújo
5280e1c9eb Add a bug report tool that collects essential info automatically
Adds a `kde-linux-collect-logs` command-line tool that collects system
diagnostics into a single timestamped `.tar.zst` archive for attaching
to bug reports. It gathers a system summary, a full `inxi -Faz` dump,
graphics info (`drm_info`, `kscreen-doctor -o`), the environment,
`/etc/fstab`, `dmesg`, boot journals, and a few KDE-specific extras,
writing each to its own file and skipping missing tools gracefully.
Refuses to run inside a container, and `inxi -z` auto-filters MACs and
serials.

Also adds `inxi` to the CLI package set, since it forms the basis of
the report.

Resolves #547
2026-06-30 09:44:28 -04:00
Clément Villemur
d0ec6ff008 Remove internet requirement for Calamares 2026-06-28 22:22:04 -04:00
l10n daemon script
0110b134ee GIT_SILENT made messages (after extraction) 2026-06-29 00:43:21 +00:00
Thomas Duckworth
320b998f79 Get Plymouth to ignore serial consoles
This fixes OpenQA, which sets up a serial console for debugging purposes. Without this, we can't see the Plymouth splash screen.
2026-06-28 14:58:46 +10:00